public static RoomActor TryCreateActor(uint Id, RoomActorType Type, uint ReferenceId, object ReferenceObject, Vector3 Position, int Rotation, RoomInstance Instance) { if (ReferenceObject == null) { return(null); } return(new RoomActor(Id, Type, ReferenceId, ReferenceObject, Position, Rotation, Instance)); }
public RoomActor GetActorByReferenceId(uint ReferenceId, RoomActorType ReferenceType = RoomActorType.UserCharacter) { lock (mActors) { foreach (RoomActor Actor in mActors.Values) { if (Actor.Type == ReferenceType && Actor.ReferenceId == ReferenceId) { return(Actor); } } } return(null); }
public RoomActor(uint Id, RoomActorType Type, uint ReferenceId, object ReferenceObject, Vector3 Position, int Rotation, RoomInstance Instance) { mId = Id; mType = Type; mReferenceId = ReferenceId; mReferenceObject = ReferenceObject; mPosition = Position; mBodyRotation = Rotation; mHeadRotation = Rotation; mUpdateNeeded = true; mStatusses = new Dictionary<string, string>(); mInstance = Instance; mEnableClipping = true; mMovementSyncRoot = new object(); mPathfinder = PathfinderManager.CreatePathfinderInstance(); mPathfinder.SetRoomInstance(mInstance, Id); }
public RoomActor(uint Id, RoomActorType Type, uint ReferenceId, object ReferenceObject, Vector3 Position, int Rotation, RoomInstance Instance) { mId = Id; mType = Type; mReferenceId = ReferenceId; mReferenceObject = ReferenceObject; mPosition = Position; mBodyRotation = Rotation; mHeadRotation = Rotation; mUpdateNeeded = true; mStatusses = new Dictionary <string, string>(); mInstance = Instance; mEnableClipping = true; mMovementSyncRoot = new object(); mPathfinder = PathfinderManager.CreatePathfinderInstance(); mPathfinder.SetRoomInstance(mInstance, Id); }
public static RoomActor TryCreateActor(uint Id, RoomActorType Type, uint ReferenceId, object ReferenceObject, Vector3 Position, int Rotation, RoomInstance Instance) { if (ReferenceObject == null) { return null; } return new RoomActor(Id, Type, ReferenceId, ReferenceObject, Position, Rotation, Instance); }
public RoomActor GetActorByReferenceId(uint ReferenceId, RoomActorType ReferenceType = RoomActorType.UserCharacter) { lock (mActors) { foreach (RoomActor Actor in mActors.Values) { if (Actor.Type == ReferenceType && Actor.ReferenceId == ReferenceId) { return Actor; } } } return null; }