public BaseStageObject GetStageObject(StageObjectCategory category, int id) { if (stageObjects[category].TryGetValue(id, out BaseStageObject obj)) { return(obj); } return(null); }
public static void AttachRigidbodyToAll(StageObjectCategory category) { foreach (BaseStageObject obj in StageManager.instance.stageObjects[category].Values) { Rigidbody rig = obj.gameObject.AddComponent <Rigidbody>(); rig.collisionDetectionMode = CollisionDetectionMode.Continuous; } }
public void AddStageObject(StageObjectCategory category, int id, BaseStageObject obj) { stageObjects[category].Add(id, obj); if (id > maxIDs[category]) { maxIDs[category] = id; } }
public static void StageObjectDespawned(int clientID, StageObjectCategory category, int id) { StageObjectDespawned(clientID, new List <StageObjectPair> { new StageObjectPair { category = category, id = id } }); }
public static void AddLocalScale(StageObjectCategory _category, int _id, Vector3 localScale) { lock (localScaleBuffer) { localScaleBuffer.Add(new Vector3Holder { category = _category, id = _id, vect = localScale }); } }
public static void AddLocal(StageObjectCategory _category, int _id, Quaternion localRot) { lock (localRotationBuffer) { localRotationBuffer.Add(new QuaternionHolder { category = _category, id = _id, quat = localRot }); } }
public static void AddLocal(StageObjectCategory _category, int _id, Vector3 localPos) { lock (localPositionBuffer) { localPositionBuffer.Add(new Vector3Holder { category = _category, id = _id, vect = localPos }); } }
public static void StageObjectInfo(Packet packet) { StageObjectCategory category = (StageObjectCategory)packet.ReadInt(); int id = packet.ReadInt(); string route = packet.ReadString(); object value = packet.ReadObject(); NetworkMarkerManager.SetStageObjectInfo(category, id, route, value); }
public static void StageObjectRemoved(Packet packet) { while (packet.UnreadLength() > 0) { StageObjectCategory category = (StageObjectCategory)packet.ReadInt(); int id = packet.ReadInt(); StageManager.instance.RemoveStageObject(category, id); } }
public static void StageObjectLocalScales(Packet packet) { while (packet.UnreadLength() >= 4) { StageObjectCategory category = (StageObjectCategory)packet.ReadInt(); int id = packet.ReadInt(); Vector3 localScale = packet.ReadVector3(); StageManager.instance.GetStageObject(category, id)?.SetLocalScale(localScale); } }
public static void StageObjectLocalRotations(Packet packet) { while (packet.UnreadLength() >= 4) { StageObjectCategory category = (StageObjectCategory)packet.ReadInt(); int id = packet.ReadInt(); Quaternion localRotation = packet.ReadQuaternion(); StageManager.instance.GetStageObject(category, id)?.SetRotation(localRotation); } }
public static void StageObjectPositions(Packet packet) { while (packet.UnreadLength() >= 4) { StageObjectCategory category = (StageObjectCategory)packet.ReadInt(); int id = packet.ReadInt(); Vector3 position = packet.ReadVector3(); StageManager.instance.GetStageObject(category, id)?.SetPosition(position); } }
public static void StageObjectMethod(Packet packet) { StageObjectCategory category = (StageObjectCategory)packet.ReadInt(); int id = packet.ReadInt(); string route = packet.ReadString(); ArrayList parameters = new ArrayList(); while (packet.UnreadLength() > 0) { parameters.Add(packet.ReadObject()); } NetworkMarkerManager.CallStageObjectMethod(category, id, route, true, parameters.ToArray()); }
public BaseStageObject RemoveStageObject(StageObjectCategory category, int id) { BaseStageObject obj = GetStageObject(category, id); if (obj) { obj.LastWord(); //遗言 stageObjects[category].Remove(id); if (maxIDs[category] == id) { maxIDs[category]--; //或许能让maxid增长慢一点,估计没啥效果 } } return(obj); }
public void Init(StageObjectCategory _category, int _id) { category = _category; id = _id; Init(); }
public int GetMaxID(StageObjectCategory category) { return(maxIDs[category]); }