Пример #1
0
 private void OnMovingObjectClientCollision(ClientBase sender, MovingObjectClientCollision packet)
 {
     for (int i = 0; i < packet.uidsLength; i++)
     {
         Collider collider = ((Collider)Program.networkManager.Get(packet.uids[i]));
         if (collider == null || collider.Parent == null || collider.Parent.Parent == null)
         {
             continue;
         }
         //TODO CHECK IF ITS BETTER TO BATCH CALL INSTEAD OF INVOKE MANY TIMES.
         Invoke(InvokeCollision);
         void InvokeCollision()
         {
             if (collider == null || collider.Parent == null || collider.Parent.Parent == null || Parent == null || Parent.Parent == null)
             {
                 return;
             }
             collider.OnCollisionStay?.Invoke(collider, this);
             OnCollisionStay?.Invoke(this, collider);
         }
     }
 }
Пример #2
0
 public void InitializeClientSidedCollision()
 {
     objectClientCollision = new MovingObjectClientCollision();
     collisions            = new Collider[25];
 }