コード例 #1
0
        public static Dictionary <int, CAnimationObject> BuildObjectInMap(CMap _map)
        {
            Dictionary <int, CAnimationObject> listObject = new Dictionary <int, CAnimationObject>();

            foreach (KeyValuePair <int, CGameObject> pair in _map.ListObjects)
            {
                CAnimationObject _object = null;
                Vector2          _pos    = new Vector2(pair.Value.X, pair.Value.Y);
                IDObject         _type   = (IDObject)pair.Value.Type;
                _object = Build.MakeObject(_type, _pos);

                if (_object != null)
                {
                    listObject.Add(pair.Key, _object);
                }
            }

            // gán coin vào break_question
            foreach (KeyValuePair <int, CAnimationObject> pair in listObject)
            {
                if (pair.Value.IDObject == IDObject.MISC_QUESTION_BRICK)
                {
                    foreach (KeyValuePair <int, CAnimationObject> p in listObject)
                    {
                        if (pair.Value.Position == p.Value.Position && (p.Value.IDObject == IDObject.ITEM_COIN_ACTIVATED ||
                                                                        p.Value.IDObject == IDObject.ITEM_FIRE_FLOWER || p.Value.IDObject == IDObject.ITEM_SUPER_MUSHROOM ||
                                                                        p.Value.IDObject == IDObject.ITEM_1UP_MUSHROOM || p.Value.IDObject == IDObject.ITEM_STARMAN || p.Value.IDObject == IDObject.ITEM_GROW_UP))
                        {
                            pair.Value.SetItem(p.Value);
                        }
                    }
                }
            }
            return(listObject);
        }
コード例 #2
0
        public override void UpdateCollision(CAnimationObject _Object)
        {
            if (CheckCollision(_Object) != DirectCollision.NONE && m_Status != IDStatus.UNACTIVATE)
            {
                switch (_Object.IDObject)
                {
                case IDObject.MISC_IRON_BRICK:
                case IDObject.MISC_BASE_BRICK:
                case IDObject.MISC_HARD_BRICK:
                    if (CheckCollision(_Object) == DirectCollision.TOP)
                    {
                        m_Velocity.Y = 0.0f;
                        m_Position.Y = _Object.Position.Y - Sprite.FrameHeight;
                    }
                    else if (CheckCollision(_Object) == DirectCollision.RIGHT)
                    {
                        m_Dir = IDDir.RIGHT;
                    }
                    else if (CheckCollision(_Object) == DirectCollision.LEFT)
                    {
                        m_Dir = IDDir.LEFT;
                    }
                    else if (CheckCollision(_Object) == DirectCollision.BOTTOM)
                    {
                        m_Velocity.Y = -m_Velocity.Y;
                    }
                    break;

                default:
                    break;
                }
            }
            base.UpdateCollision(_Object);
        }
コード例 #3
0
        public QuestionBrick_1(Vector2 _Position, IDObject _IDItem)
            : base(_Position)
        {
            m_IDObject   = IDObject.MISC_QUESTION_BRICK;
            m_Sprite     = new CSprite(CResourceManager.GetInstance().GetResource(IDResource.MISC_QUESTION_BRICK));
            m_Status     = IDStatus.ALIVE;
            Sprite.Depth = GlobalValue.MISC_SPRITE_DEPTH;
            switch (_IDItem)
            {
            case IDObject.ITEM_COIN_ACTIVATED:
                m_Item = new ItemCoin(_Position, _IDItem);
                break;

            case IDObject.ITEM_GROW_UP:
                m_Item = new ItemGrowUp(_Position);
                //m_Item = new CAnimationObject(_Position);
                break;

            case IDObject.ITEM_1UP_MUSHROOM:
                m_Item = new Item1UpMushroom(_Position);
                //m_Item = new GreenMushroom(_Position);
                break;

            case IDObject.ITEM_STARMAN:
                m_Item = new ItemStarman(_Position);
                break;

            default:
                break;
            }
        }
コード例 #4
0
 public bool AddObject(CAnimationObject _Object)
 {
     if (m_Rectangle.Contains(_Object.Rectangle))
     {
         m_ListObject.Add(_Object);
         //return true;
         if (m_ListObject.Count > 1)
         {
             if (m_ListNode.Count < 4)
             {
                 m_ListNode.Add(new NodeQuadtree(new Vector2(m_Rectangle.X, m_Rectangle.Y), m_Rectangle.Width / 2, m_Rectangle.Height / 2));
                 m_ListNode.Add(new NodeQuadtree(new Vector2(m_Rectangle.X + m_Rectangle.Width / 2, m_Rectangle.Y), m_Rectangle.Width / 2, m_Rectangle.Height / 2));
                 m_ListNode.Add(new NodeQuadtree(new Vector2(m_Rectangle.X, m_Rectangle.Y + m_Rectangle.Height / 2), m_Rectangle.Width / 2, m_Rectangle.Height / 2));
                 m_ListNode.Add(new NodeQuadtree(new Vector2(m_Rectangle.X + m_Rectangle.Width / 2, m_Rectangle.Y + m_Rectangle.Height / 2), m_Rectangle.Width / 2, m_Rectangle.Height / 2));
             }
             for (int i = 0; i < 4; ++i)
             {
                 if (m_ListNode[i].AddObject(_Object))
                 {
                     m_ListObject.Remove(_Object);
                     return(true);
                 }
             }
         }
         return(true);
     }
     return(false);
 }
コード例 #5
0
 public bool AddObject(CAnimationObject _Object)
 {
     if (m_Rectangle.Contains(_Object.Rectangle))
     {
         m_ListObject.Add(_Object);
         //return true;
         if (m_ListObject.Count > 1)
         {
             if (m_ListNode.Count < 4)
             {
                 m_ListNode.Add(new NodeQuadtree(new Vector2(m_Rectangle.X, m_Rectangle.Y), m_Rectangle.Width / 2, m_Rectangle.Height / 2));
                 m_ListNode.Add(new NodeQuadtree(new Vector2(m_Rectangle.X + m_Rectangle.Width / 2, m_Rectangle.Y), m_Rectangle.Width / 2, m_Rectangle.Height / 2));
                 m_ListNode.Add(new NodeQuadtree(new Vector2(m_Rectangle.X, m_Rectangle.Y + m_Rectangle.Height / 2), m_Rectangle.Width / 2, m_Rectangle.Height / 2));
                 m_ListNode.Add(new NodeQuadtree(new Vector2(m_Rectangle.X + m_Rectangle.Width / 2, m_Rectangle.Y + m_Rectangle.Height / 2), m_Rectangle.Width / 2, m_Rectangle.Height / 2));
             }
             for (int i = 0; i < 4; ++i)
             {
                 if (m_ListNode[i].AddObject(_Object))
                 {
                     m_ListObject.Remove(_Object);
                     return true;
                 }
             }
         }
         return true;
     }
     return false;
 }
コード例 #6
0
ファイル: Mario.cs プロジェクト: 12520054/mariobros-ETN
 private void UpdateCollisionBullet(CAnimationObject _Object)
 {
     if (m_Bullet1 != null)
     {
         m_Bullet1.UpdateCollision(_Object);
     }
     if (m_Bullet2 != null)
     {
         m_Bullet2.UpdateCollision(_Object);
     }
 }
コード例 #7
0
 public void RemoveObject(CAnimationObject _Object)
 {
     m_ListObject.Remove(_Object);
     if (m_ListNode.Count == 4)
     {
         for (int i = 0; i < 4; ++i)
         {
             m_ListNode[i].RemoveObject(_Object);
         }
     }
 }
コード例 #8
0
 public override void UpdateCollision(CAnimationObject _Object)
 {
     if (CheckCollision(_Object) != DirectCollision.NONE)
     {
         if (_Object.IDObject == IDObject.MISC_HARD_BRICK)
         {
             Velocity = Vector2.Zero;
             Accel    = Vector2.Zero;
         }
     }
     base.UpdateCollision(_Object);
 }
コード例 #9
0
ファイル: GatePipe.cs プロジェクト: 12520054/mariobros-ETN
 public override void UpdateCollision(CAnimationObject _Object)
 {
     //Console.WriteLine("aaaa");
     if ((_Object.IDObject == IDObject.FIRE_MARIO || _Object.IDObject == IDObject.SMALL_MARIO || _Object.IDObject == IDObject.SUPER_MARIO) && Status == IDStatus.TELEPORT)
     {
         _Object.Position = Portal;
         _Object.Status   = IDStatus.MARIO_JUMP;
         _Object.Accel    = new Vector2(0, 0.00098f);
         MediaPlayer.Resume();
         Status = IDStatus.NORMAL_GATE_PIPE;
     }
     base.UpdateCollision(_Object);
 }
コード例 #10
0
ファイル: QuadTree.cs プロジェクト: 12520054/mariobros-ETN
 public void RemoveObject(CAnimationObject _object, QNode _node)
 {
     if (_node.GetChildNode(1) == null)
     {
         _node.RemoveObject(_object);
     }
     else
     {
         RemoveObject(_object, _node.GetChildNode(1));
         RemoveObject(_object, _node.GetChildNode(2));
         RemoveObject(_object, _node.GetChildNode(3));
         RemoveObject(_object, _node.GetChildNode(4));
     }
 }
コード例 #11
0
ファイル: Castle.cs プロジェクト: 12520054/mariobros-ETN
        public override void UpdateCollision(CAnimationObject _Object)
        {
            if (_Object.IDObject == IDObject.FIRE_MARIO || _Object.IDObject == IDObject.SMALL_MARIO || _Object.IDObject == IDObject.SUPER_MARIO)
            {
                if (_Object.Position.X > Position.X + 35)
                {
                    _Object.Status       = IDStatus.MARIO_STOP;
                    _Object.Sprite.Depth = 0.05f;
                    _Object.Velocity     = Vector2.Zero;
                    _Object.Accel        = Vector2.Zero;
                }
            }

            base.UpdateCollision(_Object);
        }
コード例 #12
0
        public override void UpdateCollision(CAnimationObject _Object)
        {
            if (CheckCollision(_Object) != DirectCollision.NONE)
            {
                switch (_Object.IDObject)
                {
                case IDObject.FIRE_MARIO:
                case IDObject.SMALL_MARIO:
                case IDObject.SUPER_MARIO:
                    Status = IDStatus.DIE;
                    break;

                default:
                    break;
                }
            }
            base.UpdateCollision(_Object);
        }
コード例 #13
0
ファイル: GoalPole.cs プロジェクト: 12520054/mariobros-ETN
 public override void UpdateCollision(CAnimationObject _Object)
 {
     m_Flag.UpdateCollision(_Object);
     base.UpdateCollision(_Object);
 }
コード例 #14
0
ファイル: Mario.cs プロジェクト: 12520054/mariobros-ETN
        public override void UpdateCollision(CAnimationObject _Object)
        {
            GlobalValue.ID_MARIO     = IDObject;
            GlobalValue.MARIO_STATUS = Status;
            UpdateCollisionBullet(_Object);
            if (CheckCollision(_Object) != DirectCollision.NONE && m_Status != IDStatus.DIE)
            {
                switch (_Object.IDObject)
                {
                    #region Goomba
                case IDObject.ENEMY_GOOMBA_OW:
                    if ((CheckCollision(_Object) == DirectCollision.TOP || CheckCollision(_Object) == DirectCollision.RIGHT || CheckCollision(_Object) == DirectCollision.LEFT || CheckCollision(_Object) == DirectCollision.BOTTOM) && IsInvincible && _Object.Status != IDStatus.SHOOTED)
                    {
                        _Object.Status   = IDStatus.SHOOTED;
                        _Object.Velocity = new Vector2(0, -0.2f);
                    }
                    if (CheckCollision(_Object) == DirectCollision.TOP && _Object.Status == IDStatus.ALIVE && !IsWorldFreeze)
                    {
                        CResourceManager.GetInstance().GetSoundEffect(IDResource.SFX_STOMP).Play();
                        _Object.Status = IDStatus.BEFORE_DIE;
                        m_Velocity.Y   = -m_Velocity.Y;
                        break;
                    }
                    if ((CheckCollision(_Object) == DirectCollision.RIGHT || CheckCollision(_Object) == DirectCollision.LEFT) && _Object.Status == IDStatus.ALIVE && !IsWorldFreeze)
                    {
                        if (m_IDObject == IDObject.FIRE_MARIO)
                        {
                            CResourceManager.GetInstance().GetSoundEffect(IDResource.SFX_MARIO_HURT).Play();
                            Sprite        = new CSprite(CResourceManager.GetInstance().GetResource(IDResource.SUPER_MARIO));
                            IDObject      = IDObject.SUPER_MARIO;
                            Status        = IDStatus.MARIO_DOWNCAST;
                            IsWorldFreeze = true;
                            break;
                        }
                        if (m_IDObject == IDObject.SUPER_MARIO)
                        {
                            CResourceManager.GetInstance().GetSoundEffect(IDResource.SFX_MARIO_HURT).Play();
                            Sprite        = new CSprite(CResourceManager.GetInstance().GetResource(IDResource.SMALL_MARIO));
                            IsWorldFreeze = true;
                            Status        = IDStatus.MARIO_DOWNCAST;
                            IDObject      = IDObject.SMALL_MARIO;
                            break;
                        }
                        if (m_IDObject == IDObject.SMALL_MARIO)
                        {
                            m_Status = IDStatus.DIE;
                            break;
                        }
                        if (Direction == IDDir.RIGHT)
                        {
                            Position = new Vector2(Position.X - 5f, Position.Y);
                        }
                        if (Direction == IDDir.LEFT)
                        {
                            Position = new Vector2(Position.X + 5f, Position.Y);
                        }
                        Velocity = Vector2.Zero;
                    }
                    break;

                    #endregion
                    #region Soft Brick
                case IDObject.MISC_SOFT_BRICK:
                    if (CheckCollision(_Object) == DirectCollision.TOP && _Object.Status != IDStatus.ACTIVATE && _Object.Status != IDStatus.DIE)
                    {
                        if (Status == IDStatus.MARIO_JUMP)
                        {
                            Status = IDStatus.MARIO_STAND;
                        }
                        m_IsJumping  = false;
                        m_Velocity   = new Vector2(m_Velocity.X, 0.0f);
                        m_Position.Y = _Object.Position.Y - Sprite.FrameHeight;
                        break;
                    }
                    else if (CheckCollision(_Object) == DirectCollision.BOTTOM && _Object.Status != IDStatus.ACTIVATE && _Object.Status != IDStatus.DIE)
                    {
                        m_Velocity = new Vector2(m_Velocity.X, 0.01f);
                        if (_Object.Status != IDStatus.MOVE)
                        {
                            _Object.Velocity = new Vector2(0, -0.04f);
                        }
                        m_Position.Y = _Object.Position.Y + _Object.Sprite.FrameHeight + 2f;
                        if (this.IDObject == Framework.IDObject.SMALL_MARIO)
                        {
                            _Object.Status = IDStatus.MOVE;
                            break;
                        }
                        if (this.IDObject == Framework.IDObject.FIRE_MARIO || this.IDObject == Framework.IDObject.SUPER_MARIO)
                        {
                            CResourceManager.GetInstance().GetSoundEffect(IDResource.SFX_BREAKBLOCK).Play();
                            _Object.Velocity = new Vector2(0, m_Velocity.Y - 1);
                            _Object.Status   = IDStatus.BEFORE_DIE;
                            break;
                        }
                    }
                    else if (CheckCollision(_Object) == DirectCollision.LEFT)
                    {
                        m_Velocity = new Vector2(0.0f, m_Velocity.Y);
                        Position   = new Vector2(_Object.Position.X - Sprite.FrameWidht - 1, Position.Y);
                        break;
                    }
                    else if (CheckCollision(_Object) == DirectCollision.RIGHT)
                    {
                        m_Velocity = new Vector2(0.0f, m_Velocity.Y);
                        Position   = new Vector2(_Object.Position.X + _Object.Sprite.FrameWidht + 1, Position.Y);
                        break;
                    }
                    break;

                    #endregion
                    #region Item Coin
                case IDObject.ITEM_COIN_NORMAL:
                    if ((CheckCollision(_Object) == DirectCollision.TOP || CheckCollision(_Object) == DirectCollision.RIGHT || CheckCollision(_Object) == DirectCollision.LEFT) && _Object.Status == IDStatus.ALIVE)
                    {
                        CResourceManager.GetInstance().GetSoundEffect(IDResource.SFX_COIN).Play();
                        _Object.Status           = IDStatus.DIE;
                        GlobalValue.MARIO_SCORE += 100;
                        GlobalValue.MARIO_COIN  += 100;
                    }
                    break;

                    #endregion
                    #region Fire Flower
                case IDObject.ITEM_FIRE_FLOWER:
                    if ((CheckCollision(_Object) == DirectCollision.TOP || CheckCollision(_Object) == DirectCollision.RIGHT || CheckCollision(_Object) == DirectCollision.LEFT) && _Object.Status == IDStatus.ALIVE)
                    {
                        CResourceManager.GetInstance().GetSoundEffect(IDResource.SFX_POWER_UP).Play();
                        _Object.Status = IDStatus.DIE;
                        if (m_IDObject == IDObject.SMALL_MARIO || m_IDObject == IDObject.SUPER_MARIO)
                        {
                            if (IDObject == IDObject.SMALL_MARIO)
                            {
                                m_Position.Y -= 16;
                            }
                            IDObject      = IDObject.FIRE_MARIO;
                            m_Status      = IDStatus.MARIO_UPCAST;
                            tempSprite    = new CSprite(CResourceManager.GetInstance().GetResource(IDResource.FIRE_MARIO));
                            IsWorldFreeze = true;
                            GlobalValue.IS_LOCK_KEYBOARD = true;
                            m_isMarioFreeze = true;
                        }
                        GlobalValue.MARIO_SCORE += 1000;
                        break;
                    }
                    break;

                case IDObject.ITEM_SUPER_MUSHROOM:
                    if ((CheckCollision(_Object) == DirectCollision.TOP || CheckCollision(_Object) == DirectCollision.RIGHT || CheckCollision(_Object) == DirectCollision.LEFT))
                    {
                        CResourceManager.GetInstance().GetSoundEffect(IDResource.SFX_POWER_UP).Play();
                        _Object.Status = IDStatus.DIE;
                        if (m_IDObject == IDObject.SMALL_MARIO)
                        {
                            m_Position.Y -= 16;
                            IDObject      = IDObject.SUPER_MARIO;
                            m_Status      = IDStatus.MARIO_UPCAST;
                            tempSprite    = new CSprite(CResourceManager.GetInstance().GetResource(IDResource.SUPER_MARIO));
                            IsWorldFreeze = true;
                            GlobalValue.IS_LOCK_KEYBOARD = true;
                            m_isMarioFreeze = true;
                            oldPosition     = Position;
                        }
                        GlobalValue.MARIO_SCORE += 1000;
                        break;
                    }
                    break;

                case IDObject.ITEM_1UP_MUSHROOM:
                    if ((CheckCollision(_Object) == DirectCollision.TOP || CheckCollision(_Object) == DirectCollision.RIGHT || CheckCollision(_Object) == DirectCollision.LEFT))
                    {
                        CResourceManager.GetInstance().GetSoundEffect(IDResource.SFX_1_UP).Play();
                        _Object.Status = IDStatus.DIE;
                        ++GlobalValue.MARIO_LIFE;
                        break;
                    }
                    break;

                    #endregion
                    #region Case Koopa
                case IDObject.ENEMY_KOOPA_OW:
                    if ((CheckCollision(_Object) == DirectCollision.TOP || CheckCollision(_Object) == DirectCollision.RIGHT || CheckCollision(_Object) == DirectCollision.LEFT || CheckCollision(_Object) == DirectCollision.BOTTOM) && IsInvincible && _Object.Status != IDStatus.SHOOTED)
                    {
                        _Object.Status   = IDStatus.SHOOTED;
                        _Object.Velocity = new Vector2(0, -0.2f);
                    }
                    if (CheckCollision(_Object) == DirectCollision.TOP && _Object.Status == IDStatus.ALIVE)
                    {
                        m_Velocity.Y   = -0.02f;
                        _Object.Status = IDStatus.HIDE;
                        _Object.Sprite = new CSprite(CResourceManager.GetInstance().GetResource(IDResource.ENEMY_HIDE_KOOPA_OW));
                    }
                    if ((CheckCollision(_Object) == DirectCollision.RIGHT || CheckCollision(_Object) == DirectCollision.LEFT) && _Object.Status == IDStatus.HIDE)
                    {
                        if (Direction == IDDir.LEFT && CheckCollision(_Object) == DirectCollision.RIGHT)
                        {
                            _Object.Direction = IDDir.LEFT;
                            _Object.Status    = IDStatus.SPIN;
                            CResourceManager.GetInstance().GetSoundEffect(IDResource.SFX_KICK).Play();
                            break;
                        }
                        if (Direction == IDDir.RIGHT && CheckCollision(_Object) == DirectCollision.LEFT)
                        {
                            _Object.Direction = IDDir.RIGHT;
                            _Object.Status    = IDStatus.SPIN;
                            CResourceManager.GetInstance().GetSoundEffect(IDResource.SFX_KICK).Play();
                            break;
                        }
                        break;
                    }
                    if (CheckCollision(_Object) == DirectCollision.TOP && _Object.Status == IDStatus.HIDE)
                    {
                        if (Status == IDStatus.MARIO_JUMP)
                        {
                            Status = IDStatus.MARIO_STAND;
                        }
                        m_Velocity.Y = 0;
                        //m_IsDisableUp = true;
                        IsJumping = false;
                        break;
                    }
                    if (CheckCollision(_Object) == DirectCollision.TOP && _Object.Status == IDStatus.SPIN)
                    {
                        if (Status == IDStatus.MARIO_JUMP)
                        {
                            Status = IDStatus.MARIO_STAND;
                        }
                        m_Velocity.Y   = 0;
                        IsJumping      = false;
                        _Object.Status = IDStatus.HIDE;
                        break;
                    }
                    if ((CheckCollision(_Object) == DirectCollision.RIGHT || CheckCollision(_Object) == DirectCollision.LEFT) && _Object.Status == IDStatus.SPIN && !IsWorldFreeze)
                    {
                        if (m_IDObject == IDObject.FIRE_MARIO)
                        {
                            CResourceManager.GetInstance().GetSoundEffect(IDResource.SFX_MARIO_HURT).Play();
                            IDObject      = IDObject.SUPER_MARIO;
                            IsWorldFreeze = true;
                            Sprite        = new CSprite(CResourceManager.GetInstance().GetResource(IDResource.SUPER_MARIO));
                            Status        = IDStatus.MARIO_DOWNCAST;
                            break;
                        }
                        if (m_IDObject == IDObject.SUPER_MARIO)
                        {
                            CResourceManager.GetInstance().GetSoundEffect(IDResource.SFX_MARIO_HURT).Play();
                            IDObject      = IDObject.SMALL_MARIO;
                            Sprite        = new CSprite(CResourceManager.GetInstance().GetResource(IDResource.SMALL_MARIO));
                            IsWorldFreeze = true;
                            Status        = IDStatus.MARIO_DOWNCAST;
                            break;
                        }
                        if (m_IDObject == IDObject.SMALL_MARIO)
                        {
                            //m_Velocity.Y = -3.0f;
                            m_Status = IDStatus.DIE;
                            break;
                        }
                    }
                    if ((CheckCollision(_Object) == DirectCollision.RIGHT || CheckCollision(_Object) == DirectCollision.LEFT) && _Object.Status == IDStatus.ALIVE && !IsWorldFreeze)
                    {
                        if (m_IDObject == IDObject.FIRE_MARIO)
                        {
                            CResourceManager.GetInstance().GetSoundEffect(IDResource.SFX_MARIO_HURT).Play();
                            IDObject      = IDObject.SUPER_MARIO;
                            Sprite        = new CSprite(CResourceManager.GetInstance().GetResource(IDResource.SUPER_MARIO));
                            IsWorldFreeze = true;
                            Status        = IDStatus.MARIO_DOWNCAST;
                            break;
                        }
                        if (m_IDObject == IDObject.SUPER_MARIO)
                        {
                            CResourceManager.GetInstance().GetSoundEffect(IDResource.SFX_MARIO_HURT).Play();
                            IDObject      = IDObject.SMALL_MARIO;
                            Sprite        = new CSprite(CResourceManager.GetInstance().GetResource(IDResource.SMALL_MARIO));
                            IsWorldFreeze = true;
                            Status        = IDStatus.MARIO_DOWNCAST;
                            break;
                        }
                        if (m_IDObject == IDObject.SMALL_MARIO)
                        {
                            m_Status = IDStatus.DIE;
                            break;
                        }
                    }
                    break;

                    #endregion
                    #region Case Base Brick
                case IDObject.MISC_BASE_BRICK:
                case IDObject.MISC_HARD_BRICK:
                    if (CheckCollision(_Object) == DirectCollision.TOP)
                    {
                        //if (Status != IDStatus.MARIO_RUN && Status != IDStatus.MARIO_STAND && Status != IDStatus.MARIO_ATTACK && Status != IDStatus.MARIO_STRIPPED && Status != IDStatus.MARIO_WIN && Status != IDStatus.MARIO_AUTO_RUN && Status != IDStatus.MARIO_DOWNCAST)
                        if (Status == IDStatus.MARIO_JUMP)
                        {
                            Status = IDStatus.MARIO_STAND;
                        }
                        //m_IsDisableUp = false;
                        m_IsJumping  = false;
                        m_Velocity   = new Vector2(m_Velocity.X, 0.0f);
                        m_Position.Y = _Object.Position.Y - Sprite.FrameHeight;
                        if (Status == IDStatus.MARIO_STRIPPED)
                        {
                            Position = new Vector2(Position.X + 12, Position.Y);
                            Console.WriteLine(Status.ToString());
                            Direction = IDDir.LEFT;
                            Status    = IDStatus.MARIO_WIN;
                        }
                        break;
                    }
                    else if (CheckCollision(_Object) == DirectCollision.BOTTOM)
                    {
                        m_Velocity   = new Vector2(m_Velocity.X, 0.0098f);
                        m_Position.Y = _Object.Position.Y + _Object.Sprite.FrameHeight + 1;
                        break;
                    }
                    else if (CheckCollision(_Object) == DirectCollision.LEFT)
                    {
                        m_Velocity = new Vector2(0.0f, m_Velocity.Y);
                        Position   = new Vector2(Position.X - 0.05f, Position.Y);
                        break;
                    }
                    else if (CheckCollision(_Object) == DirectCollision.RIGHT)
                    {
                        m_Velocity = new Vector2(0.0f, m_Velocity.Y);
                        Position   = new Vector2(Position.X + 0.05f, Position.Y);
                        break;
                    }
                    break;

                    #endregion
                    #region Goal Pole
                case IDObject.MISC_GOAL_POLE:
                    if ((CheckCollision(_Object) == DirectCollision.BOTTOM || CheckCollision(_Object) == DirectCollision.LEFT || CheckCollision(_Object) == DirectCollision.RIGHT || CheckCollision(_Object) == DirectCollision.TOP) && !GlobalValue.IS_LOCK_KEYBOARD)
                    {
                        if (!GlobalValue.IS_LOCK_KEYBOARD)
                        {
                            Position = new Vector2(_Object.Position.X - 9, Position.Y);
                            CResourceManager.GetInstance().GetSoundEffect(IDResource.SFX_FLAGPOLE).Play();
                            MediaPlayer.Stop();
                        }
                        Status = IDStatus.MARIO_STRIPPED;
                        GlobalValue.IS_LOCK_KEYBOARD = true;
                        Accel          = Vector2.Zero;
                        Velocity       = Vector2.Zero;
                        _Object.Status = IDStatus.ACTIVATE;
                    }
                    break;

                    #endregion
                    #region Pipe
                case IDObject.MISC_IN_PORTAL_PIPE:
                    if (CheckCollision(_Object) == DirectCollision.TOP)
                    {
                        if (Status == IDStatus.MARIO_JUMP)
                        {
                            Status = IDStatus.MARIO_STAND;
                        }
                        if (Status != IDStatus.TELEPORT)
                        {
                            m_IsJumping  = false;
                            m_Velocity   = new Vector2(m_Velocity.X, 0.0f);
                            m_Position.Y = _Object.Position.Y - Sprite.FrameHeight;
                        }
                        break;
                    }
                    if (CheckCollision(_Object) == DirectCollision.LEFT)
                    {
                        m_Velocity = new Vector2(0.0f, m_Velocity.Y);
                        Position   = new Vector2(Position.X - 0.05f, Position.Y);
                        break;
                    }
                    else if (CheckCollision(_Object) == DirectCollision.RIGHT)
                    {
                        m_Velocity = new Vector2(0.0f, m_Velocity.Y);
                        Position   = new Vector2(Position.X + 0.05f, Position.Y);
                        break;
                    }
                    break;

                case IDObject.MISC_STOCK_PIPE:
                case IDObject.MISC_NORMAL_PIPE:
                case IDObject.MISC_OUT_2_PIPE:
                    if (CheckCollision(_Object) == DirectCollision.TOP)
                    {
                        if (Status != IDStatus.TELEPORT)
                        {
                            if (Status == IDStatus.MARIO_JUMP)
                            {
                                Status = IDStatus.MARIO_STAND;
                            }
                            m_IsJumping  = false;
                            m_Velocity   = new Vector2(m_Velocity.X, 0.0f);
                            m_Position.Y = _Object.Position.Y - Sprite.FrameHeight;
                            break;
                        }
                    }
                    //if (CheckCollision(_Object) == DirectCollision.BOTTOM)
                    //{
                    //    m_Velocity = new Vector2(m_Velocity.X, 0.0098f);
                    //    m_Position.Y = _Object.Position.Y + _Object.Sprite.FrameHeight + 1;
                    //    break;
                    //}
                    else if (CheckCollision(_Object) == DirectCollision.LEFT)
                    {
                        if (Status != IDStatus.TELEPORT)
                        {
                            m_Velocity = new Vector2(0.0f, m_Velocity.Y);
                            Position   = new Vector2(Position.X - 0.05f, Position.Y);
                            break;
                        }
                    }
                    else if (CheckCollision(_Object) == DirectCollision.RIGHT)
                    {
                        if (Status != IDStatus.TELEPORT)
                        {
                            m_Velocity = new Vector2(0.0f, m_Velocity.Y);
                            Position   = new Vector2(Position.X + 0.05f, Position.Y);
                            break;
                        }
                    }
                    break;

                case IDObject.MISC_OUT_1_PIPE:
                    if (CheckCollision(_Object) == DirectCollision.TOP && Status != IDStatus.MARIO_AUTO_RUN)
                    {
                        if (Status == IDStatus.MARIO_JUMP)
                        {
                            Status = IDStatus.MARIO_STAND;
                        }
                        m_IsJumping  = false;
                        m_Velocity   = new Vector2(m_Velocity.X, 0.0f);
                        m_Position.Y = _Object.Position.Y - Sprite.FrameHeight;
                        break;
                    }
                    if (CheckCollision(_Object) == DirectCollision.LEFT && Status != IDStatus.MARIO_AUTO_RUN && Status != IDStatus.TELEPORT && Position.Y >= _Object.Position.Y)
                    {
                        Velocity = Vector2.Zero;
                        Accel    = Vector2.Zero;
                        CResourceManager.GetInstance().GetSoundEffect(IDResource.SFX_PIPE).Play();
                        Sprite.Depth = 0.05f;
                        Status       = IDStatus.MARIO_AUTO_RUN;
                        GlobalValue.IS_LOCK_KEYBOARD = true;
                    }
                    break;

                    #endregion
                    #region Question Brick
                case IDObject.MISC_QUESTION_BRICK:
                    if (CheckCollision(_Object) == DirectCollision.TOP)
                    {
                        if (Status == IDStatus.MARIO_JUMP)
                        {
                            Status = IDStatus.MARIO_STAND;
                        }
                        m_IsJumping  = false;
                        m_Velocity   = new Vector2(m_Velocity.X, 0.0f);
                        m_Position.Y = _Object.Position.Y - Sprite.FrameHeight;
                        break;
                    }
                    else if (CheckCollision(_Object) == DirectCollision.BOTTOM)
                    {
                        m_Velocity   = new Vector2(m_Velocity.X, 0.0098f);
                        m_Position.Y = _Object.Position.Y + _Object.Sprite.FrameHeight + 1;
                        if (_Object.Status != IDStatus.UNACTIVATE)
                        {
                            _Object.Status = IDStatus.DEACTIVATE;
                        }
                        break;
                    }
                    else if (CheckCollision(_Object) == DirectCollision.LEFT)
                    {
                        m_Velocity = new Vector2(0.0f, m_Velocity.Y);
                        break;
                    }
                    else if (CheckCollision(_Object) == DirectCollision.RIGHT)
                    {
                        m_Velocity = new Vector2(0.0f, m_Velocity.Y);
                        break;
                    }
                    break;

                    #endregion
                    #region Case Starman
                case IDObject.ITEM_STARMAN:
                    if ((CheckCollision(_Object) == DirectCollision.TOP || CheckCollision(_Object) == DirectCollision.RIGHT || CheckCollision(_Object) == DirectCollision.LEFT || CheckCollision(_Object) == DirectCollision.BOTTOM) && _Object.Status != IDStatus.UNACTIVATE)
                    {
                        CResourceManager.GetInstance().GetSoundEffect(IDResource.SFX_POWER_UP).Play();
                        Status         = IDStatus.MARIO_INVINCIBLE;
                        tempSprite     = Sprite;
                        _Object.Status = IDStatus.DIE;

                        break;
                    }
                    break;

                    #endregion
                    #region Case Default
                default:
                    break;
                    #endregion
                }
            }
            base.UpdateCollision(_Object);
        }
コード例 #15
0
ファイル: Koopa.cs プロジェクト: 12520054/mariobros-ETN
        public override void UpdateCollision(CAnimationObject _Object)
        {
            if (CheckCollision(_Object) != DirectCollision.NONE && Status != IDStatus.SHOOTED && _Object.Index != Index)
            {
                switch (_Object.IDObject)
                {
                case IDObject.MISC_BASE_BRICK:
                case IDObject.MISC_IRON_BRICK:
                case IDObject.MISC_QUESTION_BRICK:
                case IDObject.MISC_STOCK_PIPE:
                case IDObject.MISC_SOFT_BRICK:
                case IDObject.MISC_GATE_PIPE:
                case IDObject.MISC_HARD_BRICK:
                    if (CheckCollision(_Object) == DirectCollision.TOP)
                    {
                        m_Velocity.Y = 0.0f;
                        m_Position.Y = _Object.Position.Y - m_Sprite.FrameHeight;
                        break;
                    }
                    else if (CheckCollision(_Object) == DirectCollision.BOTTOM)
                    {
                    }
                    else if (CheckCollision(_Object) == DirectCollision.RIGHT)
                    {
                        m_Direction = IDDir.RIGHT;
                        break;
                    }
                    else if (CheckCollision(_Object) == DirectCollision.LEFT)
                    {
                        m_Direction = IDDir.LEFT;
                        break;
                    }
                    break;

                case IDObject.ENEMY_GOOMBA_OW:
                case IDObject.ENEMY_KOOPA_OW:
                    if (CheckCollision(_Object) == DirectCollision.TOP)
                    {
                        m_Velocity.Y = 0.0f;
                        m_Position.Y = _Object.Position.Y - m_Sprite.FrameHeight;
                        break;
                    }
                    else if (CheckCollision(_Object) == DirectCollision.BOTTOM)
                    {
                    }
                    else if (CheckCollision(_Object) == DirectCollision.RIGHT && Status != IDStatus.SPIN)
                    {
                        m_Direction = IDDir.RIGHT;
                        break;
                    }
                    else if (CheckCollision(_Object) == DirectCollision.LEFT && Status != IDStatus.SPIN)
                    {
                        m_Direction = IDDir.LEFT;
                        break;
                    }
                    if (CheckCollision(_Object) == DirectCollision.RIGHT || CheckCollision(_Object) == DirectCollision.LEFT && Status == IDStatus.SPIN)
                    {
                        _Object.Velocity = new Vector2(0, -0.2f);
                        _Object.Status   = IDStatus.SHOOTED;
                        break;
                    }
                    break;

                default:
                    break;
                }
            }
            //base.UpdateCollision(_Object);
        }
コード例 #16
0
        public override void UpdateCollision(CAnimationObject _Object)
        {
            if (CheckCollision(_Object) != DirectCollision.NONE)
            {
                switch (_Object.IDObject)
                {
                case IDObject.MISC_BASE_BRICK:
                case IDObject.MISC_GATE_PIPE:
                case IDObject.MISC_STOCK_PIPE:
                case IDObject.MISC_UP_PIPE:
                case IDObject.MISC_SOFT_BRICK:
                case IDObject.MISC_HARD_BRICK:
                    if (CheckCollision(_Object) == DirectCollision.TOP)
                    {
                        m_Velocity.Y = -0.1f;
                        break;
                    }
                    if (CheckCollision(_Object) == DirectCollision.RIGHT || CheckCollision(_Object) == DirectCollision.LEFT)
                    {
                        Status = IDStatus.DIE;
                        break;
                    }
                    break;

                case IDObject.ENEMY_KOOPA_OW:
                case IDObject.ENEMY_GOOMBA_OW:
                    if (CheckCollision(_Object) != DirectCollision.NONE && _Object.Status != IDStatus.SHOOTED)
                    {
                        _Object.Status = IDStatus.SHOOTED;
                        if (!isContact)
                        {
                            SoundManager.PlaySound(ESound.SFX_KICK);
                            isContact = true;
                        }
                        _Object.Velocity = new Vector2(0, -0.2f);
                        Status           = IDStatus.DIE;
                        break;
                    }
                    break;

                //case IDObject.MISC_HARD_BRICK:
                //    if (CheckCollision(_Object) == DirectCollision.RIGHT || CheckCollision(_Object) == DirectCollision.LEFT)
                //    {
                //        Status = IDStatus.DIE;
                //        break;
                //    }
                //    if (CheckCollision(_Object) == DirectCollision.TOP)
                //    {
                //        m_Velocity.Y = -0.1f;
                //        break;
                //    }
                //    break;
                //case IDObject.MISC_STOCK_PIPE:
                //    if (CheckCollision(_Object) == DirectCollision.RIGHT || CheckCollision(_Object) == DirectCollision.LEFT || CheckCollision(_Object) == DirectCollision.TOP)
                //    {
                //        Status = IDStatus.DIE;
                //        break;
                //    }
                //    break;
                case IDObject.ENEMY_BOSS:
                    if (CheckCollision(_Object) == DirectCollision.TOP || CheckCollision(_Object) == DirectCollision.BOTTOM || CheckCollision(_Object) == DirectCollision.RIGHT || CheckCollision(_Object) == DirectCollision.LEFT && _Object.Status != IDStatus.SHOOTED)
                    {
                        if (!isContact)
                        {
                            SoundManager.PlaySound(ESound.SFX_KICK);
                            isContact = true;
                        }
                        Status = IDStatus.DIE;
                        break;
                    }
                    break;

                default:
                    break;
                }
            }
            base.UpdateCollision(_Object);
        }
コード例 #17
0
ファイル: QNode.cs プロジェクト: 12520054/mariobros-ETN
 public void RemoveObject(CAnimationObject _object)
 {
     m_ListObjects.Remove(_object);
 }
コード例 #18
0
 public override void SetItem(CAnimationObject _Item)
 {
     m_Item = _Item;
 }
コード例 #19
0
 public void RemoveObject(CAnimationObject _Object)
 {
     m_ListObject.Remove(_Object);
     if(m_ListNode.Count == 4)
     for (int i = 0; i < 4; ++i)
     {
         m_ListNode[i].RemoveObject(_Object);
     }
 }
コード例 #20
0
        public static CAnimationObject MakeObject(IDObject _type, Vector2 _pos)
        {
            CAnimationObject _object = null;

            switch (_type)
            {
            //case IDObject.SMALL_MARIO:
            //    _object = new Mario(_pos);
            //    break;
            case IDObject.ENEMY_GOOMBA_OW:
                _object = new Goomba(_pos, IDDir.LEFT);
                break;

            case IDObject.ENEMY_KOOPA_OW:
                _object = new Koopa(_pos);
                break;

            case IDObject.MISC_BASE_BRICK:
                _object = new BaseBrick(_pos);
                break;

            case IDObject.MISC_BIG_GRASS:
                _object = new BigGrass(_pos);
                break;

            case IDObject.MISC_BIG_MOUNTAIN:
                _object = new BigMountain(_pos);
                break;

            case IDObject.MISC_CASTLE:
                _object = new Castle(_pos);
                break;

            case IDObject.ENEMY_BOSS:
                _object = new Boss(_pos);
                break;

            //case IDObject.MISC_GATE_PIPE:
            //_object = new GatePipe(_pos, IDStatus.GATE_PIPE_DOWN);
            //break;
            case IDObject.MISC_HARD_BRICK:
                _object = new HardBrick(_pos);
                break;

            case IDObject.MISC_IRON_BRICK:
                _object = new HardBrick(_pos);
                break;

            case IDObject.MISC_STOCK_PIPE:
                _object = new StockPipe(_pos);
                break;

            case IDObject.MISC_MEDIUM_GRASS:
                _object = new MediumGrass(_pos);
                break;

            case IDObject.MISC_MEDIUM_MOUNTAIN:
                _object = new MediumMountain(_pos);
                break;

            case IDObject.MISC_PIECE:
                _object = new Piece(_pos);
                break;

            case IDObject.MISC_QUESTION_BRICK:
                _object = new QuestionBrick(_pos, IDObject.ITEM_COIN_ACTIVATED);
                break;

            case IDObject.MISC_SMALL_GRASS:
                _object = new SmallGrass(_pos);
                break;

            case IDObject.MISC_SOFT_BRICK:
                _object = new SoftBrick(_pos);
                break;

            case IDObject.MISC_GOAL_POLE:
                _object = new GoalPole(_pos);
                break;

            case IDObject.MISC_GATE_PIPE:
                _object = new GatePipe(_pos);
                break;

            case IDObject.MISC_FLAG:
                _object = new Flag(_pos);
                break;

            //case IDObject.BRICK_COIN:
            //    _object = new QuestionBrick(_pos, IDObject.ITEM_COIN_ACTIVATED);
            //    break;
            case IDObject.ITEM_STARMAN:
                _object = new ItemStarman(_pos);
                break;

            //case IDObject.MISC_UP_PIPE:
            //    _object = new UpPipe(_pos);
            //    break;
            case IDObject.ITEM_1UP_MUSHROOM:
                _object = new Item1UpMushroom(_pos);
                break;

            case IDObject.MISC_SMALL_CLOUND:
                _object = new SmallClound(_pos);
                break;

            case IDObject.MISC_MEDIUM_CLOUND:
                _object = new MediumClound(_pos);
                break;

            case IDObject.MISC_BIG_CLOUND:
                _object = new BigClound(_pos);
                break;

            case IDObject.ITEM_COIN_ACTIVATED:
                _object = new ItemCoin(_pos, IDObject.ITEM_COIN_ACTIVATED);
                break;

            case IDObject.ITEM_COIN_NORMAL:
                _object = new ItemCoin(_pos, IDObject.ITEM_COIN_NORMAL);
                break;

            case IDObject.ITEM_FIRE_FLOWER:
                _object = new ItemFireFlower(_pos);
                break;

            case IDObject.ITEM_SUPER_MUSHROOM:
                _object = new ItemSuperMushroom(_pos);
                break;

            case IDObject.ITEM_GROW_UP:
                _object = new ItemGrowUp(_pos);
                break;

            //case IDObject.BRICK_COIN:
            //    _object = new QuestionBrick(_pos, IDObject.ITEM_COIN_ACTIVATED);
            //    break;
            //case IDObject.BRICK_FLOWER:
            //    _object = new QuestionBrick(_pos, IDObject.ITEM_FIRE_FLOWER);
            //    break;
            //case IDObject.BRICK_SUPPERMUSHROOM:
            //    _object = new QuestionBrick(_pos, IDObject.ITEM_SUPER_MUSHROOM);
            //    break;
            //case IDObject.BRICK_1UPMUSHROOM:
            //    _object = new QuestionBrick(_pos, IDObject.BRICK_1UPMUSHROOM);
            //    break;
            //case IDObject.BRICK_STAR:
            //    _object = new QuestionBrick(_pos, IDObject.ITEM_STARMAN);
            //    break;
            default:
                break;
            }

            return(_object);
        }
コード例 #21
0
ファイル: Boss.cs プロジェクト: 12520054/mariobros-ETN
        public override void UpdateCollision(CAnimationObject _Object)
        {
            if (_Object.IDObject == IDObject.FIRE_MARIO || _Object.IDObject == IDObject.SMALL_MARIO || _Object.IDObject == IDObject.SUPER_MARIO)
            {
                if (Math.Abs(Position.X - _Object.Position.X) < 368)
                {
                    CanFire = true;
                    if (Position.X > _Object.Position.X && Status == IDStatus.FIRE)
                    {
                        Direction = IDDir.LEFT;
                    }
                    if (Position.X < _Object.Position.X && Status == IDStatus.FIRE)
                    {
                        Direction = IDDir.RIGHT;
                    }
                }
            }

            //for (int i = 0; i < List_Of_Bullet.Count; i++)
            //{
            //    List_Of_Bullet[i].UpdateCollision(_Object);
            //}

            if (CheckCollision(_Object) != DirectCollision.NONE)
            {
                switch (_Object.IDObject)
                {
                case IDObject.MISC_BASE_BRICK:
                case IDObject.MISC_IRON_BRICK:
                case IDObject.MISC_QUESTION_BRICK:
                case IDObject.MISC_STOCK_PIPE:
                case IDObject.MISC_HARD_BRICK:
                    if (CheckCollision(_Object) == DirectCollision.TOP)
                    {
                        m_Velocity.Y = 0.0f;
                        m_Position.Y = _Object.Position.Y - Sprite.FrameHeight;
                        break;
                    }
                    else if (CheckCollision(_Object) == DirectCollision.RIGHT)
                    {
                        Direction = IDDir.RIGHT;
                        break;
                    }
                    else if (CheckCollision(_Object) == DirectCollision.LEFT)
                    {
                        Direction = IDDir.LEFT;
                        break;
                    }
                    else if (CheckCollision(_Object) == DirectCollision.BOTTOM)
                    {
                    }
                    break;

                case IDObject.FIRE_MARIO:
                case IDObject.SMALL_MARIO:
                case IDObject.SUPER_MARIO:
                    if (CheckCollision(_Object) == DirectCollision.BOTTOM && _Object.Status != IDStatus.DIE)
                    {
                        Boss_Heath_Point -= 200;
                        _Object.Velocity  = new Vector2(_Object.Velocity.X, -0.35f);
                    }
                    break;

                case IDObject.BULLET:
                    if (CheckCollision(_Object) != DirectCollision.NONE)
                    {
                        Boss_Heath_Point -= 200;
                    }
                    break;

                default:
                    break;
                }
            }
            base.UpdateCollision(_Object);
        }
コード例 #22
0
ファイル: Goomba.cs プロジェクト: 12520054/mariobros-ETN
        public override void UpdateCollision(CAnimationObject _Object)
        {
            if (CheckCollision(_Object) != DirectCollision.NONE)
            {
                switch (_Object.IDObject)
                {
                case IDObject.MISC_BASE_BRICK:
                case IDObject.MISC_IRON_BRICK:
                case IDObject.MISC_QUESTION_BRICK:
                case IDObject.MISC_STOCK_PIPE:
                case IDObject.MISC_SOFT_BRICK:
                case IDObject.MISC_GATE_PIPE:
                case IDObject.MISC_HARD_BRICK:
                    if (CheckCollision(_Object) == DirectCollision.TOP && m_Status != IDStatus.SHOOTED)
                    {
                        m_Velocity.Y = 0.0f;
                        m_Position.Y = _Object.Position.Y - Sprite.FrameHeight;
                        break;
                    }
                    else if (CheckCollision(_Object) == DirectCollision.RIGHT)
                    {
                        Direction = IDDir.RIGHT;
                        break;
                    }
                    else if (CheckCollision(_Object) == DirectCollision.LEFT)
                    {
                        Direction = IDDir.LEFT;
                        break;
                    }
                    else if (CheckCollision(_Object) == DirectCollision.BOTTOM)
                    {
                    }
                    break;

                //case IDObject.MARIO_FIRE:
                //    if(CheckCollision(_Object) == DirectCollision.BOTTOM)
                //         m_Status = IDStatus.BEFORE_DIE;
                //    break;
                case IDObject.ENEMY_GOOMBA_OW:
                case IDObject.ENEMY_KOOPA_OW:
                    //if ((CheckCollision(_Object) == DirectCollision.LEFT || CheckCollision(_Object) == DirectCollision.RIGHT) && _Object.Status == IDStatus.SPIN && Status != IDStatus.SHOOTED)
                    //{
                    //    CResourceManager.GetInstance().GetSoundEffect(IDResource.SFX_KICK).Play();
                    //   // _Object.Velocity = new Vector2(0, -0.2f);
                    //    m_Status = IDStatus.SHOOTED;
                    //}
                    if ((CheckCollision(_Object) == DirectCollision.LEFT || CheckCollision(_Object) == DirectCollision.RIGHT) && (_Object.Status == IDStatus.HIDE || _Object.Status == IDStatus.ALIVE))
                    {
                        if (CheckCollision(_Object) == DirectCollision.RIGHT)
                        {
                            Direction = IDDir.RIGHT;
                        }
                        if (CheckCollision(_Object) == DirectCollision.LEFT)
                        {
                            Direction = IDDir.LEFT;
                        }
                    }
                    break;

                default:
                    break;
                }
            }
            base.UpdateCollision(_Object);
        }