Beispiel #1
0
 public void SetWaving()
 {
     if (!IsDead)
     {
         m_currentState = BackpackerState.Waving;
         m_actionManager.StartNew(new SpriteSheetAnimation(m_sprite, 2, 3, 0.15f, -1));
     }
 }
Beispiel #2
0
 public Backpacker(SpriteSheet spriteSheet, int index)
     : base()
 {
     m_actionManager = new SingleActionManager();
     m_sprite        = new Sprite(Globals.TheGame, spriteSheet, Transform);
     m_sprite.Origin = new Vector2(0.5f, 1.0f);
     m_collider      = new AABBCollider(this, new AABB(m_sprite));
     m_currentState  = BackpackerState.Idle;
 }
Beispiel #3
0
 public void SetGameplay()
 {
     if (!IsDead)
     {
         m_currentState = BackpackerState.InGameplay;
         m_actionManager.StartNew(new SpriteSheetAnimation(m_sprite, 0, 1, 0.5f, -1));
         //CurrentAnimation.SetCurrentFrame(1);
     }
 }
 public Backpacker(SpriteSheet spriteSheet, int index)
     : base()
 {
     m_actionManager = new SingleActionManager();
     m_sprite = new Sprite(Globals.TheGame, spriteSheet, Transform);
     m_sprite.Origin = new Vector2(0.5f, 1.0f);
     m_collider = new AABBCollider(this, new AABB(m_sprite));
     m_currentState = BackpackerState.Idle;
 }
Beispiel #5
0
 public void SetJumping()
 {
     if (!IsDead)
     {
         m_currentState = BackpackerState.Jumping;
         m_jumpVelocity = -20 + random.Next(-10, 10);
         //CurrentAnimation = new Animation("all", 100, 0, 6);
         m_sprite.SetFrame(5);
         //CurrentAnimation.Pause();
     }
 }
Beispiel #6
0
 public void SetMovingIn(House finishHouse)
 {
     if (!IsDead)
     {
         m_currentState = BackpackerState.MovingOut;
         // PlaceBetween(finishHouse.HouseSprite, finishHouse.EntranceMask);
         m_actionManager.StartNew(new SpriteSheetAnimation(m_sprite, 0, 1, 0.05f, -1));
         m_targetX = finishHouse.HouseExitPoint;
         Transform.ParentTransform = null;
     }
 }
Beispiel #7
0
        public override void Update()
        {
            m_actionManager.Update();

            if (m_currentState == BackpackerState.InGameplay &&
                !IsDead)
            {
                Transform.PosX += (m_targetX - Transform.PosX) * 0.1f;
            }
            else if (m_currentState == BackpackerState.Dead)
            {
                Transform.PosY -= 3;
                if (m_sprite.Alpha > 0)
                {
                    m_sprite.Alpha -= 0.01f;
                }
                //else
                //    _currentState = BackpackerState.Gone;
            }

            else if (m_currentState == BackpackerState.MovingOut)
            {
                if (Transform.PosX < m_targetX)
                {
                    Transform.PosX += MoveOutSpeed;
                }
                if (Transform.PosX >= m_targetX)
                {
                    Transform.PosX = m_targetX;
                    m_actionManager.Stop();
                    m_sprite.SetFrame(0);
                }
            }

            else if (m_currentState == BackpackerState.Jumping)
            {
                Transform.PosY += m_jumpVelocity;
                m_jumpVelocity += 4;
                if (Transform.PosY > 0)
                {
                    Transform.PosY = 0;
                    m_currentState = BackpackerState.Idle;
                    m_actionManager.Stop();
                    m_sprite.SetFrame(0);
                }
            }
        }
Beispiel #8
0
        public void SetAtStart(House startHouse)
        {
            if (!IsDead)
            {
                Transform.ParentTransform = null;
                m_currentState            = BackpackerState.Idle;

                if (startHouse == null)
                {
                    Transform.PosX = -100;
                }
                else
                {
                    Transform.PosX = startHouse.HouseExitPoint;
                }
            }
        }
Beispiel #9
0
 private void Die()
 {
     m_actionManager.StartNew(new SpriteSheetAnimation(m_sprite, 6, 7, 300, -1));
     //UnbindParent();
     m_currentState = BackpackerState.Dead;
 }
        public override void Update()
        {
            m_actionManager.Update();

            if (m_currentState == BackpackerState.InGameplay
                && !IsDead)
            {
                Transform.PosX += (m_targetX - Transform.PosX) * 0.1f;
            }
            else if (m_currentState == BackpackerState.Dead)
            {
                Transform.PosY -= 3;
                if (m_sprite.Alpha > 0)
                    m_sprite.Alpha -= 0.01f;
                //else
                //    _currentState = BackpackerState.Gone;
            }

            else if (m_currentState == BackpackerState.MovingOut)
            {
                if (Transform.PosX < m_targetX)
                    Transform.PosX += MoveOutSpeed;
                if (Transform.PosX >= m_targetX)
                {
                    Transform.PosX = m_targetX;
                    m_actionManager.Stop();
                    m_sprite.SetFrame(0);
                }
            }

            else if (m_currentState == BackpackerState.Jumping)
            {
                Transform.PosY += m_jumpVelocity;
                m_jumpVelocity += 4;
                if (Transform.PosY > 0)
                {
                    Transform.PosY = 0;
                    m_currentState = BackpackerState.Idle;
                    m_actionManager.Stop();
                    m_sprite.SetFrame(0);
                }
            }
        }
 private void Die()
 {
     m_actionManager.StartNew(new SpriteSheetAnimation(m_sprite, 6, 7, 300, -1));
     //UnbindParent();
     m_currentState = BackpackerState.Dead;
 }
 public void SetWaving()
 {
     if (!IsDead)
     {
         m_currentState = BackpackerState.Waving;
         m_actionManager.StartNew(new SpriteSheetAnimation(m_sprite, 2, 3, 0.15f, -1));
     }
 }
 public void SetMovingIn(House finishHouse)
 {
     if (!IsDead)
     {
         m_currentState = BackpackerState.MovingOut;
        // PlaceBetween(finishHouse.HouseSprite, finishHouse.EntranceMask);
         m_actionManager.StartNew(new SpriteSheetAnimation(m_sprite, 0, 1, 0.05f, -1));
         m_targetX = finishHouse.HouseExitPoint;
         Transform.ParentTransform = null;
     }
 }
 public void SetJumping()
 {
     if (!IsDead)
     {
         m_currentState = BackpackerState.Jumping;
         m_jumpVelocity = -20 + random.Next(-10, 10);
         //CurrentAnimation = new Animation("all", 100, 0, 6);
         m_sprite.SetFrame(5);
         //CurrentAnimation.Pause();
     }
 }
 public void SetGameplay()
 {
     if (!IsDead)
     {
         m_currentState = BackpackerState.InGameplay;
         m_actionManager.StartNew(new SpriteSheetAnimation(m_sprite, 0, 1, 0.5f, -1));
         //CurrentAnimation.SetCurrentFrame(1);
     }
 }
        public void SetAtStart(House startHouse)
        {
            if (!IsDead)
            {
                Transform.ParentTransform = null;
                m_currentState = BackpackerState.Idle;

                if (startHouse == null)
                {
                    Transform.PosX = -100;
                }
                else
                {
                    Transform.PosX = startHouse.HouseExitPoint;
                }
            }
        }