public void SetWaving() { if (!IsDead) { m_currentState = BackpackerState.Waving; m_actionManager.StartNew(new SpriteSheetAnimation(m_sprite, 2, 3, 0.15f, -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; }
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 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 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 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); } } }
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; } } }
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); } } }