예제 #1
0
 public override void Handle(EntityDestroyed message)
 {
     if (message.Entity.HasComponent <CommandQueue>())
     {
         _entities.Remove(message.Entity);
     }
 }
예제 #2
0
 public override void Handle(EntityDestroyed message)
 {
     if (message.Entity is Player player)
     {
         _player = null;
     }
 }
예제 #3
0
 public void Handle(EntityDestroyed message)
 {
     if (message.Entity is Tile tile)
     {
         _tiles.Remove(tile);
     }
 }
예제 #4
0
 public override void Handle(EntityDestroyed message)
 {
     if (message.Entity.HasComponent <State>())
     {
         _states.Remove(message.Entity.GetComponent <State>());
     }
 }
예제 #5
0
 public override void Handle(EntityDestroyed message)
 {
     if (message.Entity.HasComponent <TargetScreenPosition>())
     {
         _entities.Remove(message.Entity);
     }
 }
        public void DestroyEntity(Entity entity)
        {
            foreach (var component in _components.Where(c => c.Entity == entity).ToArray())
            {
                DetachComponent(component);
            }

            if (entity.Name != null)
            {
                _entitiesByName.Remove(entity.Name);
            }

            _entities.Remove(entity);
            EntityDestroyed?.Invoke(this, entity);
        }
예제 #7
0
        public override void Handle(EntityDestroyed message)
        {
            switch (message.Entity)
            {
            case Tile tile:
                _tiles.Remove(tile);
                break;

            case Player _:
                _player = null;
                break;

            case Poof _:
                _poof = null;
                break;
            }
        }
예제 #8
0
 private void Sprite_AnimationDone()
 {
     EntityDestroyed?.Invoke(this);
 }
예제 #9
0
 private void OnEntityDestroyed(Entity entity)
 {
     EntityDestroyed?.Invoke(entity);
 }
예제 #10
0
파일: HcMap.cs 프로젝트: umby24/ZBase
 public void EntityRemove(Entity e)
 {
     EntityDestroyed?.Invoke(e);
 }
예제 #11
0
 public void Handle(EntityDestroyed message)
 {
     _entities.Remove(message.Entity);
 }
예제 #12
0
 public void Destroy(GameState gameState, Player player = null)
 {
     TileDestroyed?.Invoke(this, player);
     EntityDestroyed?.Invoke(this);
 }
예제 #13
0
 internal void Destroyed()
 {
     EntityDestroyed?.Invoke(this, EventArgs.Empty);
 }
예제 #14
0
 public void Destroy(GameState gameState)
 {
     EntityDestroyed?.Invoke(this);
 }