Exemplo n.º 1
0
 public void RemoveBlob(Blob blob)
 {
     lock (SynchronizationLock)
     {
         _addedBlobs.Remove(blob);
         _updatedBlobs.Remove(blob);
         _removedBlobs.Add(blob);
     }
 }
Exemplo n.º 2
0
        public void AddBlob(Blob blob)
        {
            lock (SynchronizationLock)
            {
                if (_removedBlobs.Contains(blob))
                {
                    return;
                }

                _updatedBlobs.Remove(blob);
                _addedBlobs.Add(blob);
            }
        }
Exemplo n.º 3
0
Arquivo: Blob.cs Projeto: kfazi/AgarIo
 internal virtual bool OnCollision(Blob otherBlob)
 {
     return false;
 }
Exemplo n.º 4
0
        internal override bool OnCollision(Blob otherBlob)
        {
            var foodBlob = otherBlob as FoodBlob;
            if (foodBlob != null)
            {
                TryConsume(foodBlob);
                return false;
            }

            var playerBlob = otherBlob as PlayerBlob;
            if (playerBlob != null)
            {
                if (playerBlob.Owner == Owner)
                {
                    TryMerge(playerBlob);
                    return OwnedBlobsCollides(playerBlob);
                }

                TryConsume(playerBlob);
            }

            return false;
        }
Exemplo n.º 5
0
Arquivo: Game.cs Projeto: kfazi/AgarIo
 public void RemoveBlob(Blob blob)
 {
     lock (BlobsListLock)
     {
         blob.OnRemove();
         _blobs.Remove(blob);
     }
 }
Exemplo n.º 6
0
Arquivo: Game.cs Projeto: kfazi/AgarIo
 public void AddBlob(Blob blob)
 {
     lock (BlobsListLock)
     {
         blob.OnCreate();
         _blobs.Add(blob);
     }
 }