示例#1
0
 public override void Update(GameTime gameTime)
 {
     Move(gameTime);
     MoveCollisionRectangle();
     HandleCollision(gameTime);
     CollManager.ResetColl();
 }
示例#2
0
        public void HandleCollision(GameTime gameTime)
        {
            Rectangle collidedV = CollManager.CheckCollisionVertical(CollisionRectangle);
            Rectangle collidedH = CollManager.CheckCollsionHorizontal(CollisionRectangle);

            Controls.OnLadder = CollManager.CheckLadder(CollisionRectangle);

            if (CollManager.HasCollLeft)
            {
                Position = new Vector2(collidedH.Right + 5, Position.Y);
                Debug.WriteLine("I have collision LEFT");
            }

            if (CollManager.HasCollRight)
            {
                Position = new Vector2(collidedH.Left - CollisionRectangle.Width + 5, Position.Y);
            }

            if (CollManager.HasCollTop)
            {
                Position = new Vector2(Position.X, collidedV.Bottom);
                SpeedY   = 0;
            }

            if (CollManager.HasCollBot)
            {
                Controls.Falling = false;
                Position         = new Vector2(Position.X, collidedV.Top - CollisionRectangle.Height);
            }

            if (!CollManager.HasCollBot && !Controls.OnLadder)
            {
                Controls.Falling = true;
            }
        }
示例#3
0
 public bool CheckDeath(List <Enemy> Enemies)
 {
     if (CollManager.CheckCollisionEnemy(CollisionRectangle, Enemies))
     {
         Debug.WriteLine("Am Dead");
         return(true);
     }
     return(false);
 }
示例#4
0
 public override void Update(GameTime gameTime)
 {
     //FindCurrentNode(Nodes);
     //CurrentDestination = GetDestination(0, Nodes);
     Move(gameTime);
     MoveCollisionRectangle();
     HandleCollision(gameTime);
     CollManager.ResetColl();
 }
示例#5
0
        public bool CheckItem(LevelAsset levelAsset)
        {
            if (levelAsset != null)
            {
                if (CollManager.CheckCollisionKey(CollisionRectangle, levelAsset.CollisionRectangle))
                {
                    Debug.WriteLine("Key Collected");
                    return(true);
                }
            }

            return(false);
        }