Beispiel #1
0
        public override void Update()
        {
            if (State.GetType() == typeof(StompedGoombaState))
            {
                if (stompTimer == stompTimerBound)
                {
                    World.Instance.RemoveFromWorld(Uid);
                    return;
                }
                else
                {
                    stompTimer++;
                }
            }
            Sprite.Update();

            // This can be reworked by adding this CONSTANT ACCEL functionality into Physics.
            if (State.GetType() == typeof(LeftMovingGoombaState))
            {
                GameObjectPhysics.Move(Side.Left);
            }
            else if (State.GetType() == typeof(RightMovingGoombaState))
            {
                GameObjectPhysics.Move(Side.Right);
            }
            GameObjectPhysics.Update();
            positionOnScreen = GameObjectPhysics.GetPosition();
        }
Beispiel #2
0
        public GameObject(string name = "GameObject")
        {
            components = new Components(this);
            physics    = new GameObjectPhysics(this);

            this.name = name;

            Game.main.Add(this);
        }
Beispiel #3
0
        public override void Update()
        {
            base.Update();

            GameObjectPhysics.Update();
            GameObjectPhysics.FrictionStop(Side.Right);
            State.FrictionStop();

            positionOnScreen = GameObjectPhysics.GetPosition();
        }
Beispiel #4
0
        public override void Update()
        {
            Sprite.Update();

            // This can be reworked by adding this CONSTANT ACCEL functionality into Physics.
            if (State.GetType() == typeof(KoopaMovingLeftState))
            {
                GameObjectPhysics.Move(Side.Left);
            }
            else if (State.GetType() == typeof(KoopaMovingRightState))
            {
                GameObjectPhysics.Move(Side.Right);
            }
            GameObjectPhysics.Update();
            positionOnScreen = GameObjectPhysics.GetPosition();
        }
Beispiel #5
0
        public override void Update()
        {
            base.Update();
            if (State.GetType() == typeof(ShroomMovingUpState))
            {
                positionOnScreen.Y -= bumpOffsets[bumpCounter];
                bumpCounter        += 1;

                if (bumpCounter == bumpOffsets.Length)
                {
                    State.ChangeDirection();
                }
            }
            else
            {
                GameObjectPhysics.Update();
                positionOnScreen = GameObjectPhysics.GetPosition();
            }
        }
Beispiel #6
0
 public void SlideRight()
 {
     GameObjectPhysics.MoveMaxSpeed(Side.Right);
 }
Beispiel #7
0
 public void SlideLeft()
 {
     GameObjectPhysics.MoveMaxSpeed(Side.Left);
 }
Beispiel #8
0
 public void Die()
 {
     GameObjectPhysics.MoveMaxSpeed(Side.Up);
     World.Instance.MaskCollision(this);
 }
Beispiel #9
0
 public void Bounce()
 {
     GameObjectPhysics.MoveMaxSpeed(Side.Up);
 }
Beispiel #10
0
 public override void Update()
 {
     base.Update();
     GameObjectPhysics.Update();
     positionOnScreen = GameObjectPhysics.GetPosition();
 }