Exemplo n.º 1
0
 public BaseStageObject GetStageObject(StageObjectCategory category, int id)
 {
     if (stageObjects[category].TryGetValue(id, out BaseStageObject obj))
     {
         return(obj);
     }
     return(null);
 }
Exemplo n.º 2
0
 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;
     }
 }
Exemplo n.º 3
0
 public void AddStageObject(StageObjectCategory category, int id, BaseStageObject obj)
 {
     stageObjects[category].Add(id, obj);
     if (id > maxIDs[category])
     {
         maxIDs[category] = id;
     }
 }
Exemplo n.º 4
0
 public static void StageObjectDespawned(int clientID, StageObjectCategory category, int id)
 {
     StageObjectDespawned(clientID, new List <StageObjectPair> {
         new StageObjectPair {
             category = category, id = id
         }
     });
 }
Exemplo n.º 5
0
 public static void AddLocalScale(StageObjectCategory _category, int _id, Vector3 localScale)
 {
     lock (localScaleBuffer)
     {
         localScaleBuffer.Add(new Vector3Holder {
             category = _category, id = _id, vect = localScale
         });
     }
 }
Exemplo n.º 6
0
 public static void AddLocal(StageObjectCategory _category, int _id, Quaternion localRot)
 {
     lock (localRotationBuffer)
     {
         localRotationBuffer.Add(new QuaternionHolder {
             category = _category, id = _id, quat = localRot
         });
     }
 }
Exemplo n.º 7
0
 public static void AddLocal(StageObjectCategory _category, int _id, Vector3 localPos)
 {
     lock (localPositionBuffer)
     {
         localPositionBuffer.Add(new Vector3Holder {
             category = _category, id = _id, vect = localPos
         });
     }
 }
Exemplo n.º 8
0
        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);
        }
Exemplo n.º 9
0
 public static void StageObjectRemoved(Packet packet)
 {
     while (packet.UnreadLength() > 0)
     {
         StageObjectCategory category = (StageObjectCategory)packet.ReadInt();
         int id = packet.ReadInt();
         StageManager.instance.RemoveStageObject(category, id);
     }
 }
Exemplo n.º 10
0
 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);
     }
 }
Exemplo n.º 11
0
 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);
     }
 }
Exemplo n.º 12
0
 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);
     }
 }
Exemplo n.º 13
0
        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());
        }
Exemplo n.º 14
0
        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);
        }
Exemplo n.º 15
0
 public void Init(StageObjectCategory _category, int _id)
 {
     category = _category;
     id       = _id;
     Init();
 }
Exemplo n.º 16
0
 public int GetMaxID(StageObjectCategory category)
 {
     return(maxIDs[category]);
 }