Example #1
0
 public void Remove(BlackEngine.Game.Objects.Object o)
 {
     lock (((System.Collections.ICollection)oblectLayerCollection).SyncRoot)
         foreach (var list in oblectLayerCollection)
         {
             foreach (var ph in list.Value)
             {
                 if (ph == o.physicalObject)
                 {
                     world.Delete(o.physicalObject);
                     list.Value.Remove(ph);
                     return;
                 }
             }
         }
 }
Example #2
0
        public void Add(BlackEngine.Game.Objects.Object o, int layer = 0)
        {
            List <Objects.Object> collection;

            lock (((System.Collections.ICollection)oblectLayerCollection).SyncRoot)
            {
                if (oblectLayerCollection.TryGetValue(layer, out collection))
                {
                    collection.Add(o);
                }
                else
                {
                    collection = new List <Objects.Object>();
                    collection.Add(o);
                    oblectLayerCollection.Add(layer, collection);
                }
            }
            world.Add(o.physicalObject);
        }