Exemple #1
0
 public override void Interaction(ExplodeBomb explodeBomb)
 {
     if (_transform.IsCross(explodeBomb.Transfrom))
     {
         Hurt();
     }
 }
Exemple #2
0
 public override void Interaction(ExplodeBomb explodeBomb)
 {
     if (_isAttack)
     {
         base.Interaction(explodeBomb);
     }
 }
Exemple #3
0
    public override void Interaction(ExplodeBomb explodeBomb)
    {
        if (_transform.IsCross(explodeBomb.Transfrom))
        {
            GameManager.I().CreateItem(_transform.Position);

            MapObjectManager.I.RemoveObjectAdd(this);
        }
    }
Exemple #4
0
 public override void Interaction(ExplodeBomb explodeBomb)
 {
     if (_durationTime < _noDeathTime)
     {
         return;
     }
     if (_transform.IsCross(explodeBomb.Transfrom))
     {
         MapObjectManager.I.RemoveObjectAdd(this);
     }
 }
Exemple #5
0
    public override void Interaction(ExplodeBomb explodeBomb)
    {
        if (Active == false)
        {
            return;
        }
        if (_createBomb == explodeBomb)
        {
            return;
        }

        if (_transform.IsCross(explodeBomb.Transfrom))
        {
            CreateBomb();
        }
    }
Exemple #6
0
    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)
 {
 }