mirror of
https://github.com/opensim/opensim.git
synced 2026-08-07 01:35:46 +08:00
changed to native line ending encoding
This commit is contained in:
@@ -1,184 +1,184 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using System.Timers;
|
||||
using System;
|
||||
using System.Text;
|
||||
|
||||
using libsecondlife;
|
||||
using libsecondlife.Packets;
|
||||
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Framework.Interfaces;
|
||||
using OpenSim.Framework.Types;
|
||||
using OpenSim.Framework.Data;
|
||||
using OpenSim.Framework.Utilities;
|
||||
|
||||
namespace SimpleApp
|
||||
{
|
||||
public class MyNpcCharacter : IClientAPI
|
||||
{
|
||||
private uint movementFlag = 0;
|
||||
private short flyState = 0;
|
||||
private LLQuaternion bodyDirection = LLQuaternion.Identity;
|
||||
private short count = 0;
|
||||
|
||||
public event ImprovedInstantMessage OnInstantMessage;
|
||||
public event ChatFromViewer OnChatFromViewer;
|
||||
public event RezObject OnRezObject;
|
||||
public event ModifyTerrain OnModifyTerrain;
|
||||
public event SetAppearance OnSetAppearance;
|
||||
public event StartAnim OnStartAnim;
|
||||
public event LinkObjects OnLinkObjects;
|
||||
public event RequestMapBlocks OnRequestMapBlocks;
|
||||
public event TeleportLocationRequest OnTeleportLocationRequest;
|
||||
|
||||
public event GenericCall4 OnDeRezObject;
|
||||
public event GenericCall OnRegionHandShakeReply;
|
||||
public event GenericCall OnRequestWearables;
|
||||
public event GenericCall2 OnCompleteMovementToRegion;
|
||||
public event UpdateAgent OnAgentUpdate;
|
||||
public event GenericCall OnRequestAvatarsData;
|
||||
public event AddNewPrim OnAddPrim;
|
||||
public event ObjectDuplicate OnObjectDuplicate;
|
||||
public event UpdateVector OnGrapObject;
|
||||
public event ObjectSelect OnDeGrapObject;
|
||||
public event MoveObject OnGrapUpdate;
|
||||
|
||||
public event UpdateShape OnUpdatePrimShape;
|
||||
public event ObjectSelect OnObjectSelect;
|
||||
public event GenericCall7 OnObjectDescription;
|
||||
public event GenericCall7 OnObjectName;
|
||||
public event UpdatePrimFlags OnUpdatePrimFlags;
|
||||
public event UpdatePrimTexture OnUpdatePrimTexture;
|
||||
public event UpdateVector OnUpdatePrimGroupPosition;
|
||||
public event UpdateVector OnUpdatePrimSinglePosition;
|
||||
public event UpdatePrimRotation OnUpdatePrimGroupRotation;
|
||||
public event UpdatePrimSingleRotation OnUpdatePrimSingleRotation;
|
||||
public event UpdatePrimGroupRotation OnUpdatePrimGroupMouseRotation;
|
||||
public event UpdateVector OnUpdatePrimScale;
|
||||
public event StatusChange OnChildAgentStatus;
|
||||
public event GenericCall2 OnStopMovement;
|
||||
public event NewAvatar OnNewAvatar;
|
||||
public event GenericCall6 OnRemoveAvatar;
|
||||
|
||||
public event UUIDNameRequest OnNameFromUUIDRequest;
|
||||
|
||||
public event ParcelPropertiesRequest OnParcelPropertiesRequest;
|
||||
public event ParcelDivideRequest OnParcelDivideRequest;
|
||||
public event ParcelJoinRequest OnParcelJoinRequest;
|
||||
public event ParcelPropertiesUpdateRequest OnParcelPropertiesUpdateRequest;
|
||||
|
||||
public event ParcelSelectObjects OnParcelSelectObjects;
|
||||
public event ParcelObjectOwnerRequest OnParcelObjectOwnerRequest;
|
||||
public event ObjectDeselect OnObjectDeselect;
|
||||
public event EstateOwnerMessageRequest OnEstateOwnerMessage;
|
||||
|
||||
private LLUUID myID = LLUUID.Random();
|
||||
public MyNpcCharacter()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public virtual LLVector3 StartPos
|
||||
{
|
||||
get { return new LLVector3(128, 100, 2); }
|
||||
set { }
|
||||
}
|
||||
|
||||
public virtual LLUUID AgentId
|
||||
{
|
||||
get { return myID; }
|
||||
}
|
||||
|
||||
public virtual string FirstName
|
||||
{
|
||||
get { return "Annoying"; }
|
||||
}
|
||||
|
||||
public virtual string LastName
|
||||
{
|
||||
get { return "NPC"; }
|
||||
}
|
||||
|
||||
public virtual void OutPacket(Packet newPack) { }
|
||||
public virtual void SendWearables(AvatarWearable[] wearables) { }
|
||||
public virtual void SendStartPingCheck(byte seq) { }
|
||||
public virtual void SendKillObject(ulong regionHandle, uint avatarLocalID) { }
|
||||
public virtual void SendAnimation(LLUUID animID, int seq, LLUUID sourceAgentId) { }
|
||||
public virtual void SendChatMessage(string message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID) { }
|
||||
public virtual void SendChatMessage(byte[] message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID) { }
|
||||
public virtual void SendInstantMessage(string message, LLUUID target, string fromName) { }
|
||||
public virtual void SendLayerData(float[] map) { }
|
||||
public virtual void SendLayerData(int px, int py, float[] map) { }
|
||||
public virtual void MoveAgentIntoRegion(RegionInfo regInfo, LLVector3 pos, LLVector3 look) { }
|
||||
public virtual void InformClientOfNeighbour(ulong neighbourHandle, IPEndPoint neighbourExternalEndPoint) { }
|
||||
public virtual AgentCircuitData RequestClientInfo() { return new AgentCircuitData(); }
|
||||
public virtual void CrossRegion(ulong newRegionHandle, LLVector3 pos, LLVector3 lookAt, IPEndPoint newRegionExternalEndPoint) { }
|
||||
public virtual void SendMapBlock(List<MapBlockData> mapBlocks) { }
|
||||
public virtual void SendLocalTeleport(LLVector3 position, LLVector3 lookAt, uint flags) { }
|
||||
public virtual void SendRegionTeleport(ulong regionHandle, byte simAccess, IPEndPoint regionExternalEndPoint, uint locationID, uint flags) { }
|
||||
public virtual void SendTeleportCancel() { }
|
||||
public virtual void SendTeleportLocationStart() { }
|
||||
public virtual void SendMoneyBalance(LLUUID transaction, bool success, byte[] description, int balance) { }
|
||||
|
||||
public virtual void SendAvatarData(ulong regionHandle, string firstName, string lastName, LLUUID avatarID, uint avatarLocalID, LLVector3 Pos, byte[] textureEntry) { }
|
||||
public virtual void SendAvatarTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, LLVector3 velocity) { }
|
||||
|
||||
public virtual void AttachObject(uint localID, LLQuaternion rotation, byte attachPoint) { }
|
||||
public virtual void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimData primData, LLVector3 pos, LLQuaternion rotation, LLUUID textureID, uint flags) { }
|
||||
public virtual void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimData primData, LLVector3 pos, LLUUID textureID, uint flags) { }
|
||||
public virtual void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, LLQuaternion rotation, uint flags, LLUUID objectID, LLUUID ownerID, string text, uint parentID) { }
|
||||
public virtual void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, uint flags, LLUUID objectID, LLUUID ownerID, string text, uint parentID) { }
|
||||
public virtual void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, LLQuaternion rotation) { }
|
||||
|
||||
public virtual void SendInventoryFolderDetails(LLUUID ownerID, LLUUID folderID, List<InventoryItemBase> items) { }
|
||||
public virtual void SendInventoryItemDetails(LLUUID ownerID, LLUUID folderID, InventoryItemBase item) { }
|
||||
public virtual void SendNameReply(LLUUID profileId, string firstname, string lastname) { }
|
||||
|
||||
public virtual void SendRegionHandshake(RegionInfo regionInfo)
|
||||
{
|
||||
this.OnRegionHandShakeReply(this);
|
||||
this.OnCompleteMovementToRegion();
|
||||
this.StartMovement();
|
||||
}
|
||||
|
||||
public void StartMovement()
|
||||
{
|
||||
Timer timer = new Timer();
|
||||
timer.Enabled = true;
|
||||
timer.Interval = 500;
|
||||
timer.Elapsed += new ElapsedEventHandler(this.Heartbeat);
|
||||
}
|
||||
|
||||
public void Heartbeat(object sender, EventArgs e)
|
||||
{
|
||||
Encoding enc = Encoding.ASCII;
|
||||
|
||||
this.OnAgentUpdate(this, movementFlag, bodyDirection);
|
||||
|
||||
if (this.flyState == 0)
|
||||
{
|
||||
movementFlag = (uint)MainAvatar.ControlFlags.AGENT_CONTROL_FLY | (uint)MainAvatar.ControlFlags.AGENT_CONTROL_UP_NEG;
|
||||
flyState = 1;
|
||||
}
|
||||
else if (this.flyState == 1)
|
||||
{
|
||||
movementFlag = (uint)MainAvatar.ControlFlags.AGENT_CONTROL_FLY | (uint)MainAvatar.ControlFlags.AGENT_CONTROL_UP_POS;
|
||||
flyState = 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
movementFlag = (uint)MainAvatar.ControlFlags.AGENT_CONTROL_FLY;
|
||||
flyState = 0;
|
||||
}
|
||||
|
||||
if (count >= 40)
|
||||
{
|
||||
this.OnChatFromViewer(enc.GetBytes("Kind of quiet around here, isn't it! \0"), 2, new LLVector3(128, 128, 26), this.FirstName + " " + this.LastName, this.AgentId);
|
||||
count = -1;
|
||||
}
|
||||
|
||||
count++;
|
||||
}
|
||||
}
|
||||
}
|
||||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using System.Timers;
|
||||
using System;
|
||||
using System.Text;
|
||||
|
||||
using libsecondlife;
|
||||
using libsecondlife.Packets;
|
||||
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Framework.Interfaces;
|
||||
using OpenSim.Framework.Types;
|
||||
using OpenSim.Framework.Data;
|
||||
using OpenSim.Framework.Utilities;
|
||||
|
||||
namespace SimpleApp
|
||||
{
|
||||
public class MyNpcCharacter : IClientAPI
|
||||
{
|
||||
private uint movementFlag = 0;
|
||||
private short flyState = 0;
|
||||
private LLQuaternion bodyDirection = LLQuaternion.Identity;
|
||||
private short count = 0;
|
||||
|
||||
public event ImprovedInstantMessage OnInstantMessage;
|
||||
public event ChatFromViewer OnChatFromViewer;
|
||||
public event RezObject OnRezObject;
|
||||
public event ModifyTerrain OnModifyTerrain;
|
||||
public event SetAppearance OnSetAppearance;
|
||||
public event StartAnim OnStartAnim;
|
||||
public event LinkObjects OnLinkObjects;
|
||||
public event RequestMapBlocks OnRequestMapBlocks;
|
||||
public event TeleportLocationRequest OnTeleportLocationRequest;
|
||||
|
||||
public event GenericCall4 OnDeRezObject;
|
||||
public event GenericCall OnRegionHandShakeReply;
|
||||
public event GenericCall OnRequestWearables;
|
||||
public event GenericCall2 OnCompleteMovementToRegion;
|
||||
public event UpdateAgent OnAgentUpdate;
|
||||
public event GenericCall OnRequestAvatarsData;
|
||||
public event AddNewPrim OnAddPrim;
|
||||
public event ObjectDuplicate OnObjectDuplicate;
|
||||
public event UpdateVector OnGrapObject;
|
||||
public event ObjectSelect OnDeGrapObject;
|
||||
public event MoveObject OnGrapUpdate;
|
||||
|
||||
public event UpdateShape OnUpdatePrimShape;
|
||||
public event ObjectSelect OnObjectSelect;
|
||||
public event GenericCall7 OnObjectDescription;
|
||||
public event GenericCall7 OnObjectName;
|
||||
public event UpdatePrimFlags OnUpdatePrimFlags;
|
||||
public event UpdatePrimTexture OnUpdatePrimTexture;
|
||||
public event UpdateVector OnUpdatePrimGroupPosition;
|
||||
public event UpdateVector OnUpdatePrimSinglePosition;
|
||||
public event UpdatePrimRotation OnUpdatePrimGroupRotation;
|
||||
public event UpdatePrimSingleRotation OnUpdatePrimSingleRotation;
|
||||
public event UpdatePrimGroupRotation OnUpdatePrimGroupMouseRotation;
|
||||
public event UpdateVector OnUpdatePrimScale;
|
||||
public event StatusChange OnChildAgentStatus;
|
||||
public event GenericCall2 OnStopMovement;
|
||||
public event NewAvatar OnNewAvatar;
|
||||
public event GenericCall6 OnRemoveAvatar;
|
||||
|
||||
public event UUIDNameRequest OnNameFromUUIDRequest;
|
||||
|
||||
public event ParcelPropertiesRequest OnParcelPropertiesRequest;
|
||||
public event ParcelDivideRequest OnParcelDivideRequest;
|
||||
public event ParcelJoinRequest OnParcelJoinRequest;
|
||||
public event ParcelPropertiesUpdateRequest OnParcelPropertiesUpdateRequest;
|
||||
|
||||
public event ParcelSelectObjects OnParcelSelectObjects;
|
||||
public event ParcelObjectOwnerRequest OnParcelObjectOwnerRequest;
|
||||
public event ObjectDeselect OnObjectDeselect;
|
||||
public event EstateOwnerMessageRequest OnEstateOwnerMessage;
|
||||
|
||||
private LLUUID myID = LLUUID.Random();
|
||||
public MyNpcCharacter()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public virtual LLVector3 StartPos
|
||||
{
|
||||
get { return new LLVector3(128, 100, 2); }
|
||||
set { }
|
||||
}
|
||||
|
||||
public virtual LLUUID AgentId
|
||||
{
|
||||
get { return myID; }
|
||||
}
|
||||
|
||||
public virtual string FirstName
|
||||
{
|
||||
get { return "Annoying"; }
|
||||
}
|
||||
|
||||
public virtual string LastName
|
||||
{
|
||||
get { return "NPC"; }
|
||||
}
|
||||
|
||||
public virtual void OutPacket(Packet newPack) { }
|
||||
public virtual void SendWearables(AvatarWearable[] wearables) { }
|
||||
public virtual void SendStartPingCheck(byte seq) { }
|
||||
public virtual void SendKillObject(ulong regionHandle, uint avatarLocalID) { }
|
||||
public virtual void SendAnimation(LLUUID animID, int seq, LLUUID sourceAgentId) { }
|
||||
public virtual void SendChatMessage(string message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID) { }
|
||||
public virtual void SendChatMessage(byte[] message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID) { }
|
||||
public virtual void SendInstantMessage(string message, LLUUID target, string fromName) { }
|
||||
public virtual void SendLayerData(float[] map) { }
|
||||
public virtual void SendLayerData(int px, int py, float[] map) { }
|
||||
public virtual void MoveAgentIntoRegion(RegionInfo regInfo, LLVector3 pos, LLVector3 look) { }
|
||||
public virtual void InformClientOfNeighbour(ulong neighbourHandle, IPEndPoint neighbourExternalEndPoint) { }
|
||||
public virtual AgentCircuitData RequestClientInfo() { return new AgentCircuitData(); }
|
||||
public virtual void CrossRegion(ulong newRegionHandle, LLVector3 pos, LLVector3 lookAt, IPEndPoint newRegionExternalEndPoint) { }
|
||||
public virtual void SendMapBlock(List<MapBlockData> mapBlocks) { }
|
||||
public virtual void SendLocalTeleport(LLVector3 position, LLVector3 lookAt, uint flags) { }
|
||||
public virtual void SendRegionTeleport(ulong regionHandle, byte simAccess, IPEndPoint regionExternalEndPoint, uint locationID, uint flags) { }
|
||||
public virtual void SendTeleportCancel() { }
|
||||
public virtual void SendTeleportLocationStart() { }
|
||||
public virtual void SendMoneyBalance(LLUUID transaction, bool success, byte[] description, int balance) { }
|
||||
|
||||
public virtual void SendAvatarData(ulong regionHandle, string firstName, string lastName, LLUUID avatarID, uint avatarLocalID, LLVector3 Pos, byte[] textureEntry) { }
|
||||
public virtual void SendAvatarTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, LLVector3 velocity) { }
|
||||
|
||||
public virtual void AttachObject(uint localID, LLQuaternion rotation, byte attachPoint) { }
|
||||
public virtual void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimData primData, LLVector3 pos, LLQuaternion rotation, LLUUID textureID, uint flags) { }
|
||||
public virtual void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimData primData, LLVector3 pos, LLUUID textureID, uint flags) { }
|
||||
public virtual void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, LLQuaternion rotation, uint flags, LLUUID objectID, LLUUID ownerID, string text, uint parentID) { }
|
||||
public virtual void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimitiveBaseShape primShape, LLVector3 pos, uint flags, LLUUID objectID, LLUUID ownerID, string text, uint parentID) { }
|
||||
public virtual void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, LLQuaternion rotation) { }
|
||||
|
||||
public virtual void SendInventoryFolderDetails(LLUUID ownerID, LLUUID folderID, List<InventoryItemBase> items) { }
|
||||
public virtual void SendInventoryItemDetails(LLUUID ownerID, LLUUID folderID, InventoryItemBase item) { }
|
||||
public virtual void SendNameReply(LLUUID profileId, string firstname, string lastname) { }
|
||||
|
||||
public virtual void SendRegionHandshake(RegionInfo regionInfo)
|
||||
{
|
||||
this.OnRegionHandShakeReply(this);
|
||||
this.OnCompleteMovementToRegion();
|
||||
this.StartMovement();
|
||||
}
|
||||
|
||||
public void StartMovement()
|
||||
{
|
||||
Timer timer = new Timer();
|
||||
timer.Enabled = true;
|
||||
timer.Interval = 500;
|
||||
timer.Elapsed += new ElapsedEventHandler(this.Heartbeat);
|
||||
}
|
||||
|
||||
public void Heartbeat(object sender, EventArgs e)
|
||||
{
|
||||
Encoding enc = Encoding.ASCII;
|
||||
|
||||
this.OnAgentUpdate(this, movementFlag, bodyDirection);
|
||||
|
||||
if (this.flyState == 0)
|
||||
{
|
||||
movementFlag = (uint)MainAvatar.ControlFlags.AGENT_CONTROL_FLY | (uint)MainAvatar.ControlFlags.AGENT_CONTROL_UP_NEG;
|
||||
flyState = 1;
|
||||
}
|
||||
else if (this.flyState == 1)
|
||||
{
|
||||
movementFlag = (uint)MainAvatar.ControlFlags.AGENT_CONTROL_FLY | (uint)MainAvatar.ControlFlags.AGENT_CONTROL_UP_POS;
|
||||
flyState = 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
movementFlag = (uint)MainAvatar.ControlFlags.AGENT_CONTROL_FLY;
|
||||
flyState = 0;
|
||||
}
|
||||
|
||||
if (count >= 40)
|
||||
{
|
||||
this.OnChatFromViewer(enc.GetBytes("Kind of quiet around here, isn't it! \0"), 2, new LLVector3(128, 128, 26), this.FirstName + " " + this.LastName, this.AgentId);
|
||||
count = -1;
|
||||
}
|
||||
|
||||
count++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,40 +1,40 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using OpenSim.Region.Environment.Scenes;
|
||||
using libsecondlife;
|
||||
using OpenSim.Framework.Types;
|
||||
using System.Timers;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace SimpleApp
|
||||
{
|
||||
public class MySceneObject : SceneObject
|
||||
{
|
||||
private PerformanceCounter m_counter;
|
||||
|
||||
public MySceneObject(Scene world, EventManager eventManager, LLUUID ownerID, uint localID, LLVector3 pos, PrimitiveBaseShape shape)
|
||||
: base(world, eventManager, ownerID, localID, pos, shape )
|
||||
{
|
||||
String objectName = "Processor";
|
||||
String counterName = "% Processor Time";
|
||||
String instanceName = "_Total";
|
||||
|
||||
m_counter = new PerformanceCounter(objectName, counterName, instanceName);
|
||||
|
||||
Timer timer = new Timer();
|
||||
timer.Enabled = true;
|
||||
timer.Interval = 100;
|
||||
timer.Elapsed += new ElapsedEventHandler(this.Heartbeat);
|
||||
|
||||
}
|
||||
|
||||
public void Heartbeat(object sender, EventArgs e)
|
||||
{
|
||||
float cpu = m_counter.NextValue() / 40f;
|
||||
LLVector3 size = new LLVector3(cpu, cpu, cpu);
|
||||
rootPrimitive.ResizeGoup( size );
|
||||
update();
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using OpenSim.Region.Environment.Scenes;
|
||||
using libsecondlife;
|
||||
using OpenSim.Framework.Types;
|
||||
using System.Timers;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace SimpleApp
|
||||
{
|
||||
public class MySceneObject : SceneObject
|
||||
{
|
||||
private PerformanceCounter m_counter;
|
||||
|
||||
public MySceneObject(Scene world, EventManager eventManager, LLUUID ownerID, uint localID, LLVector3 pos, PrimitiveBaseShape shape)
|
||||
: base(world, eventManager, ownerID, localID, pos, shape )
|
||||
{
|
||||
String objectName = "Processor";
|
||||
String counterName = "% Processor Time";
|
||||
String instanceName = "_Total";
|
||||
|
||||
m_counter = new PerformanceCounter(objectName, counterName, instanceName);
|
||||
|
||||
Timer timer = new Timer();
|
||||
timer.Enabled = true;
|
||||
timer.Interval = 100;
|
||||
timer.Elapsed += new ElapsedEventHandler(this.Heartbeat);
|
||||
|
||||
}
|
||||
|
||||
public void Heartbeat(object sender, EventArgs e)
|
||||
{
|
||||
float cpu = m_counter.NextValue() / 40f;
|
||||
LLVector3 size = new LLVector3(cpu, cpu, cpu);
|
||||
rootPrimitive.ResizeGoup( size );
|
||||
update();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,97 +1,97 @@
|
||||
using System.Collections.Generic;
|
||||
using libsecondlife;
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Framework.Communications;
|
||||
using OpenSim.Framework.Interfaces;
|
||||
using OpenSim.Framework.Servers;
|
||||
using OpenSim.Framework.Types;
|
||||
using OpenSim.Region.Caches;
|
||||
using OpenSim.Region.Environment.Scenes;
|
||||
using OpenSim.Region.Terrain;
|
||||
using OpenSim.Region.Environment;
|
||||
|
||||
using Avatar=OpenSim.Region.Environment.Scenes.ScenePresence;
|
||||
|
||||
namespace SimpleApp
|
||||
{
|
||||
public class MyWorld : Scene
|
||||
{
|
||||
private List<ScenePresence> m_avatars;
|
||||
|
||||
public MyWorld( RegionInfo regionInfo, AuthenticateSessionsBase authen, CommunicationsManager commsMan, AssetCache assetCach, StorageManager storeMan, BaseHttpServer httpServer)
|
||||
: base( regionInfo, authen, commsMan, assetCach, storeMan, httpServer)
|
||||
{
|
||||
m_avatars = new List<Avatar>();
|
||||
}
|
||||
|
||||
public override void LoadWorldMap()
|
||||
{
|
||||
float[] map = new float[65536];
|
||||
|
||||
for (int i = 0; i < 65536; i++)
|
||||
{
|
||||
int x = i % 256;
|
||||
int y = i / 256;
|
||||
|
||||
map[i] = 25f;
|
||||
}
|
||||
|
||||
this.Terrain.setHeights1D(map);
|
||||
this.CreateTerrainTexture();
|
||||
}
|
||||
|
||||
#region IWorld Members
|
||||
|
||||
override public void AddNewClient(IClientAPI client, bool child)
|
||||
{
|
||||
LLVector3 pos = new LLVector3(128, 128, 128);
|
||||
|
||||
client.OnRegionHandShakeReply += SendLayerData;
|
||||
/*client.OnChatFromViewer +=
|
||||
delegate(byte[] message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID)
|
||||
{
|
||||
// Echo it (so you know what you typed)
|
||||
client.SendChatMessage(message, type, fromPos, fromName, fromAgentID);
|
||||
client.SendChatMessage("Ready.", 1, pos, "System", LLUUID.Zero );
|
||||
};
|
||||
*/
|
||||
client.OnChatFromViewer += this.SimChat;
|
||||
client.OnAddPrim += AddNewPrim;
|
||||
client.OnUpdatePrimGroupPosition += this.UpdatePrimPosition;
|
||||
client.OnRequestMapBlocks += this.RequestMapBlocks;
|
||||
client.OnTeleportLocationRequest += this.RequestTeleportLocation;
|
||||
client.OnGrapUpdate += this.MoveObject;
|
||||
client.OnNameFromUUIDRequest += this.commsManager.HandleUUIDNameRequest;
|
||||
|
||||
client.OnCompleteMovementToRegion += delegate()
|
||||
{
|
||||
client.SendChatMessage("Welcome to My World.", 1, pos, "System", LLUUID.Zero );
|
||||
};
|
||||
|
||||
client.SendRegionHandshake(m_regInfo);
|
||||
|
||||
ScenePresence avatar = CreateAndAddScenePresence(client);
|
||||
avatar.Pos = new LLVector3(128, 128, 26);
|
||||
}
|
||||
|
||||
public override void Update()
|
||||
{
|
||||
foreach (LLUUID UUID in Entities.Keys)
|
||||
{
|
||||
Entities[UUID].updateMovement();
|
||||
}
|
||||
|
||||
lock (this.m_syncRoot)
|
||||
{
|
||||
this.phyScene.Simulate(timeStep);
|
||||
}
|
||||
|
||||
foreach (LLUUID UUID in Entities.Keys)
|
||||
{
|
||||
Entities[UUID].update();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
using System.Collections.Generic;
|
||||
using libsecondlife;
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Framework.Communications;
|
||||
using OpenSim.Framework.Interfaces;
|
||||
using OpenSim.Framework.Servers;
|
||||
using OpenSim.Framework.Types;
|
||||
using OpenSim.Region.Caches;
|
||||
using OpenSim.Region.Environment.Scenes;
|
||||
using OpenSim.Region.Terrain;
|
||||
using OpenSim.Region.Environment;
|
||||
|
||||
using Avatar=OpenSim.Region.Environment.Scenes.ScenePresence;
|
||||
|
||||
namespace SimpleApp
|
||||
{
|
||||
public class MyWorld : Scene
|
||||
{
|
||||
private List<ScenePresence> m_avatars;
|
||||
|
||||
public MyWorld( RegionInfo regionInfo, AuthenticateSessionsBase authen, CommunicationsManager commsMan, AssetCache assetCach, StorageManager storeMan, BaseHttpServer httpServer)
|
||||
: base( regionInfo, authen, commsMan, assetCach, storeMan, httpServer)
|
||||
{
|
||||
m_avatars = new List<Avatar>();
|
||||
}
|
||||
|
||||
public override void LoadWorldMap()
|
||||
{
|
||||
float[] map = new float[65536];
|
||||
|
||||
for (int i = 0; i < 65536; i++)
|
||||
{
|
||||
int x = i % 256;
|
||||
int y = i / 256;
|
||||
|
||||
map[i] = 25f;
|
||||
}
|
||||
|
||||
this.Terrain.setHeights1D(map);
|
||||
this.CreateTerrainTexture();
|
||||
}
|
||||
|
||||
#region IWorld Members
|
||||
|
||||
override public void AddNewClient(IClientAPI client, bool child)
|
||||
{
|
||||
LLVector3 pos = new LLVector3(128, 128, 128);
|
||||
|
||||
client.OnRegionHandShakeReply += SendLayerData;
|
||||
/*client.OnChatFromViewer +=
|
||||
delegate(byte[] message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID)
|
||||
{
|
||||
// Echo it (so you know what you typed)
|
||||
client.SendChatMessage(message, type, fromPos, fromName, fromAgentID);
|
||||
client.SendChatMessage("Ready.", 1, pos, "System", LLUUID.Zero );
|
||||
};
|
||||
*/
|
||||
client.OnChatFromViewer += this.SimChat;
|
||||
client.OnAddPrim += AddNewPrim;
|
||||
client.OnUpdatePrimGroupPosition += this.UpdatePrimPosition;
|
||||
client.OnRequestMapBlocks += this.RequestMapBlocks;
|
||||
client.OnTeleportLocationRequest += this.RequestTeleportLocation;
|
||||
client.OnGrapUpdate += this.MoveObject;
|
||||
client.OnNameFromUUIDRequest += this.commsManager.HandleUUIDNameRequest;
|
||||
|
||||
client.OnCompleteMovementToRegion += delegate()
|
||||
{
|
||||
client.SendChatMessage("Welcome to My World.", 1, pos, "System", LLUUID.Zero );
|
||||
};
|
||||
|
||||
client.SendRegionHandshake(m_regInfo);
|
||||
|
||||
ScenePresence avatar = CreateAndAddScenePresence(client);
|
||||
avatar.Pos = new LLVector3(128, 128, 26);
|
||||
}
|
||||
|
||||
public override void Update()
|
||||
{
|
||||
foreach (LLUUID UUID in Entities.Keys)
|
||||
{
|
||||
Entities[UUID].updateMovement();
|
||||
}
|
||||
|
||||
lock (this.m_syncRoot)
|
||||
{
|
||||
this.phyScene.Simulate(timeStep);
|
||||
}
|
||||
|
||||
foreach (LLUUID UUID in Entities.Keys)
|
||||
{
|
||||
Entities[UUID].update();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,126 +1,126 @@
|
||||
using System;
|
||||
using System.Net;
|
||||
using libsecondlife;
|
||||
using OpenSim.Assets;
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Framework.Console;
|
||||
using OpenSim.Framework.Interfaces;
|
||||
using OpenSim.Framework.Servers;
|
||||
using OpenSim.Framework.Types;
|
||||
using OpenSim.Physics.Manager;
|
||||
using OpenSim.Region.Caches;
|
||||
using OpenSim.Region.Capabilities;
|
||||
using OpenSim.Region.ClientStack;
|
||||
using OpenSim.Region.Communications.Local;
|
||||
using OpenSim.Region.GridInterfaces.Local;
|
||||
using System.Timers;
|
||||
using OpenSim.Region.Environment.Scenes;
|
||||
using OpenSim.Framework.Data;
|
||||
|
||||
namespace SimpleApp
|
||||
{
|
||||
class Program : conscmd_callback
|
||||
{
|
||||
private LogBase m_log;
|
||||
AuthenticateSessionsBase m_circuitManager;
|
||||
uint m_localId;
|
||||
public MyWorld world;
|
||||
private SceneObject m_sceneObject;
|
||||
public MyNpcCharacter m_character;
|
||||
|
||||
private void Run()
|
||||
{
|
||||
m_log = new LogBase(null, "SimpleApp", this, false);
|
||||
MainLog.Instance = m_log;
|
||||
|
||||
// CheckSumServer checksumServer = new CheckSumServer(12036);
|
||||
// checksumServer.ServerListener();
|
||||
|
||||
IPEndPoint internalEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 9000);
|
||||
|
||||
m_circuitManager = new AuthenticateSessionsBase();
|
||||
|
||||
InventoryCache inventoryCache = new InventoryCache();
|
||||
|
||||
LocalAssetServer assetServer = new LocalAssetServer();
|
||||
assetServer.SetServerInfo("http://127.0.0.1:8003/", "");
|
||||
|
||||
AssetCache assetCache = new AssetCache(assetServer);
|
||||
|
||||
ScenePresence.LoadTextureFile("avatar-texture.dat");
|
||||
ScenePresence.PhysicsEngineFlying = true;
|
||||
|
||||
PhysicsManager physManager = new PhysicsManager();
|
||||
physManager.LoadPlugins();
|
||||
|
||||
UDPServer udpServer = new UDPServer(internalEndPoint.Port, assetCache, inventoryCache, m_log, m_circuitManager);
|
||||
PacketServer packetServer = new PacketServer(udpServer);
|
||||
|
||||
ClientView.TerrainManager = new TerrainManager(new SecondLife());
|
||||
BaseHttpServer httpServer = new BaseHttpServer(internalEndPoint.Port);
|
||||
|
||||
NetworkServersInfo serverInfo = new NetworkServersInfo();
|
||||
CommunicationsLocal communicationsManager = new CommunicationsLocal(serverInfo, httpServer);
|
||||
|
||||
RegionInfo regionInfo = new RegionInfo(1000, 1000, internalEndPoint, "127.0.0.1");
|
||||
|
||||
OpenSim.Region.Environment.StorageManager storeMan = new OpenSim.Region.Environment.StorageManager("OpenSim.DataStore.NullStorage.dll", "simpleapp.yap", "simpleapp");
|
||||
|
||||
world = new MyWorld( regionInfo, m_circuitManager, communicationsManager, assetCache, storeMan, httpServer);
|
||||
world.PhysScene = physManager.GetPhysicsScene("basicphysics"); //PhysicsScene.Null;
|
||||
|
||||
world.LoadWorldMap();
|
||||
world.PhysScene.SetTerrain(world.Terrain.getHeights1D());
|
||||
world.performParcelPrimCountUpdate();
|
||||
|
||||
udpServer.LocalWorld = world;
|
||||
|
||||
httpServer.Start();
|
||||
udpServer.ServerListener();
|
||||
|
||||
UserProfileData masterAvatar = communicationsManager.UserServer.SetupMasterUser("Test", "User", "test");
|
||||
if (masterAvatar != null)
|
||||
{
|
||||
world.RegionInfo.MasterAvatarAssignedUUID = masterAvatar.UUID;
|
||||
world.ParcelManager.NoParcelDataFromStorage();
|
||||
}
|
||||
|
||||
world.StartTimer();
|
||||
|
||||
PrimitiveBaseShape shape = PrimitiveBaseShape.DefaultBox();
|
||||
shape.Scale = new LLVector3(0.5f, 0.5f, 0.5f);
|
||||
LLVector3 pos = new LLVector3(138, 129, 27);
|
||||
|
||||
m_sceneObject = new MySceneObject(world, world.EventManager, LLUUID.Zero, world.PrimIDAllocate(), pos, shape);
|
||||
world.AddEntity(m_sceneObject);
|
||||
|
||||
m_character = new MyNpcCharacter();
|
||||
world.AddNewClient(m_character, false);
|
||||
|
||||
m_log.WriteLine(LogPriority.NORMAL, "Press enter to quit.");
|
||||
m_log.ReadLine();
|
||||
|
||||
}
|
||||
|
||||
#region conscmd_callback Members
|
||||
|
||||
public void RunCmd(string cmd, string[] cmdparams)
|
||||
{
|
||||
throw new Exception("The method or operation is not implemented.");
|
||||
}
|
||||
|
||||
public void Show(string ShowWhat)
|
||||
{
|
||||
throw new Exception("The method or operation is not implemented.");
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
static void Main(string[] args)
|
||||
{
|
||||
Program app = new Program();
|
||||
|
||||
app.Run();
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Net;
|
||||
using libsecondlife;
|
||||
using OpenSim.Assets;
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Framework.Console;
|
||||
using OpenSim.Framework.Interfaces;
|
||||
using OpenSim.Framework.Servers;
|
||||
using OpenSim.Framework.Types;
|
||||
using OpenSim.Physics.Manager;
|
||||
using OpenSim.Region.Caches;
|
||||
using OpenSim.Region.Capabilities;
|
||||
using OpenSim.Region.ClientStack;
|
||||
using OpenSim.Region.Communications.Local;
|
||||
using OpenSim.Region.GridInterfaces.Local;
|
||||
using System.Timers;
|
||||
using OpenSim.Region.Environment.Scenes;
|
||||
using OpenSim.Framework.Data;
|
||||
|
||||
namespace SimpleApp
|
||||
{
|
||||
class Program : conscmd_callback
|
||||
{
|
||||
private LogBase m_log;
|
||||
AuthenticateSessionsBase m_circuitManager;
|
||||
uint m_localId;
|
||||
public MyWorld world;
|
||||
private SceneObject m_sceneObject;
|
||||
public MyNpcCharacter m_character;
|
||||
|
||||
private void Run()
|
||||
{
|
||||
m_log = new LogBase(null, "SimpleApp", this, false);
|
||||
MainLog.Instance = m_log;
|
||||
|
||||
// CheckSumServer checksumServer = new CheckSumServer(12036);
|
||||
// checksumServer.ServerListener();
|
||||
|
||||
IPEndPoint internalEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 9000);
|
||||
|
||||
m_circuitManager = new AuthenticateSessionsBase();
|
||||
|
||||
InventoryCache inventoryCache = new InventoryCache();
|
||||
|
||||
LocalAssetServer assetServer = new LocalAssetServer();
|
||||
assetServer.SetServerInfo("http://127.0.0.1:8003/", "");
|
||||
|
||||
AssetCache assetCache = new AssetCache(assetServer);
|
||||
|
||||
ScenePresence.LoadTextureFile("avatar-texture.dat");
|
||||
ScenePresence.PhysicsEngineFlying = true;
|
||||
|
||||
PhysicsManager physManager = new PhysicsManager();
|
||||
physManager.LoadPlugins();
|
||||
|
||||
UDPServer udpServer = new UDPServer(internalEndPoint.Port, assetCache, inventoryCache, m_log, m_circuitManager);
|
||||
PacketServer packetServer = new PacketServer(udpServer);
|
||||
|
||||
ClientView.TerrainManager = new TerrainManager(new SecondLife());
|
||||
BaseHttpServer httpServer = new BaseHttpServer(internalEndPoint.Port);
|
||||
|
||||
NetworkServersInfo serverInfo = new NetworkServersInfo();
|
||||
CommunicationsLocal communicationsManager = new CommunicationsLocal(serverInfo, httpServer);
|
||||
|
||||
RegionInfo regionInfo = new RegionInfo(1000, 1000, internalEndPoint, "127.0.0.1");
|
||||
|
||||
OpenSim.Region.Environment.StorageManager storeMan = new OpenSim.Region.Environment.StorageManager("OpenSim.DataStore.NullStorage.dll", "simpleapp.yap", "simpleapp");
|
||||
|
||||
world = new MyWorld( regionInfo, m_circuitManager, communicationsManager, assetCache, storeMan, httpServer);
|
||||
world.PhysScene = physManager.GetPhysicsScene("basicphysics"); //PhysicsScene.Null;
|
||||
|
||||
world.LoadWorldMap();
|
||||
world.PhysScene.SetTerrain(world.Terrain.getHeights1D());
|
||||
world.performParcelPrimCountUpdate();
|
||||
|
||||
udpServer.LocalWorld = world;
|
||||
|
||||
httpServer.Start();
|
||||
udpServer.ServerListener();
|
||||
|
||||
UserProfileData masterAvatar = communicationsManager.UserServer.SetupMasterUser("Test", "User", "test");
|
||||
if (masterAvatar != null)
|
||||
{
|
||||
world.RegionInfo.MasterAvatarAssignedUUID = masterAvatar.UUID;
|
||||
world.ParcelManager.NoParcelDataFromStorage();
|
||||
}
|
||||
|
||||
world.StartTimer();
|
||||
|
||||
PrimitiveBaseShape shape = PrimitiveBaseShape.DefaultBox();
|
||||
shape.Scale = new LLVector3(0.5f, 0.5f, 0.5f);
|
||||
LLVector3 pos = new LLVector3(138, 129, 27);
|
||||
|
||||
m_sceneObject = new MySceneObject(world, world.EventManager, LLUUID.Zero, world.PrimIDAllocate(), pos, shape);
|
||||
world.AddEntity(m_sceneObject);
|
||||
|
||||
m_character = new MyNpcCharacter();
|
||||
world.AddNewClient(m_character, false);
|
||||
|
||||
m_log.WriteLine(LogPriority.NORMAL, "Press enter to quit.");
|
||||
m_log.ReadLine();
|
||||
|
||||
}
|
||||
|
||||
#region conscmd_callback Members
|
||||
|
||||
public void RunCmd(string cmd, string[] cmdparams)
|
||||
{
|
||||
throw new Exception("The method or operation is not implemented.");
|
||||
}
|
||||
|
||||
public void Show(string ShowWhat)
|
||||
{
|
||||
throw new Exception("The method or operation is not implemented.");
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
static void Main(string[] args)
|
||||
{
|
||||
Program app = new Program();
|
||||
|
||||
app.Run();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,31 +1,31 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("SimpleApp")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Playahead AB")]
|
||||
[assembly: AssemblyProduct("SimpleApp")]
|
||||
[assembly: AssemblyCopyright("Copyright © Playahead AB 2007")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("a5cfa45f-5acf-4b2e-9c50-1dd1fd7608ee")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("SimpleApp")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Playahead AB")]
|
||||
[assembly: AssemblyProduct("SimpleApp")]
|
||||
[assembly: AssemblyCopyright("Copyright © Playahead AB 2007")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("a5cfa45f-5acf-4b2e-9c50-1dd1fd7608ee")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
|
||||
Reference in New Issue
Block a user