public override void Interaction(ExplodeBomb explodeBomb) { if (_transform.IsCross(explodeBomb.Transfrom)) { Hurt(); } }
public override void Interaction(ExplodeBomb explodeBomb) { if (_isAttack) { base.Interaction(explodeBomb); } }
public override void Interaction(ExplodeBomb explodeBomb) { if (_transform.IsCross(explodeBomb.Transfrom)) { GameManager.I().CreateItem(_transform.Position); MapObjectManager.I.RemoveObjectAdd(this); } }
public override void Interaction(ExplodeBomb explodeBomb) { if (_durationTime < _noDeathTime) { return; } if (_transform.IsCross(explodeBomb.Transfrom)) { MapObjectManager.I.RemoveObjectAdd(this); } }
public override void Interaction(ExplodeBomb explodeBomb) { if (Active == false) { return; } if (_createBomb == explodeBomb) { return; } if (_transform.IsCross(explodeBomb.Transfrom)) { CreateBomb(); } }
public void CreateBomb() { Active = false; if (_player.GameStat.BombCount > _player.InGameBombCount) { _player.InGameBombCount++; } bool left = true; bool right = true; bool top = true; bool bot = true; Rect rect = new Rect(Vector2.Zero, new Vector2(_transform.Size.X, _transform.Size.Y)); _createBomb = MapObjectManager.I.CreateObject <ExplodeBomb>(MAPOBJECT_NAME.EXPLODEBOMB, _transform.Position.X, _transform.Position.Y); for (int count = 1; count <= _range; count++) { for (int i = 0; i < MapObjectManager.I.GetObjectList(MAPOBJECT_TYPE.OBSTACLE).Count; i++) { rect.Position = new Vector2(_transform.Position.X - (count * 2), _transform.Position.Y); if (MapObjectManager.I.GetObjectList(MAPOBJECT_TYPE.OBSTACLE)[i].Transfrom.Position == rect.Position) { left = false; } rect.Position = new Vector2(_transform.Position.X + (count * 2), _transform.Position.Y); if (MapObjectManager.I.GetObjectList(MAPOBJECT_TYPE.OBSTACLE)[i].Transfrom.Position == rect.Position) { right = false; } rect.Position = new Vector2(_transform.Position.X, _transform.Position.Y - (1 * count)); if (MapObjectManager.I.GetObjectList(MAPOBJECT_TYPE.OBSTACLE)[i].Transfrom.Position == rect.Position) { top = false; } rect.Position = new Vector2(_transform.Position.X, _transform.Position.Y + (1 * count)); if (MapObjectManager.I.GetObjectList(MAPOBJECT_TYPE.OBSTACLE)[i].Transfrom.Position == rect.Position) { bot = false; } } if (left) { MapObjectManager.I.CreateObject <ExplodeBomb>(MAPOBJECT_NAME.EXPLODEBOMB, _transform.Position.X - (count * 2), _transform.Position.Y); } if (right) { MapObjectManager.I.CreateObject <ExplodeBomb>(MAPOBJECT_NAME.EXPLODEBOMB, _transform.Position.X + (count * 2), _transform.Position.Y); } if (top) { MapObjectManager.I.CreateObject <ExplodeBomb>(MAPOBJECT_NAME.EXPLODEBOMB, _transform.Position.X, _transform.Position.Y - count); } if (bot) { MapObjectManager.I.CreateObject <ExplodeBomb>(MAPOBJECT_NAME.EXPLODEBOMB, _transform.Position.X, _transform.Position.Y + count); } } MapObjectManager.I.RemoveObjectAdd(this); }
public virtual void Interaction(ExplodeBomb explodeBomb) { }