public override void Update(float elapsed) { CurrentActionState.Update(elapsed); CurrentPowerState.Update(elapsed); Mario.Update(elapsed); Sprite.Position = Mario.Position; base.Update(elapsed); }
//call this after the constructor or with reset, nowhere else public void Begin() { currentActionState = actionStates[MarioAction.Idle]; PreviousActionState = currentActionState; currentPowerupState = powerupStates[MarioPowerup.Normal]; PreviousPowerupState = currentPowerupState; CurrentPowerupState.Enter(); CurrentActionState.Enter(); TransitionInvincible(); }
//call this before begin, nowhere else public void Reset() { CurrentPowerupState.Leave(); CurrentActionState.Leave(); }
public void HopTransition() { CurrentActionState.HopTransition(); }
public void DeathActionTransition() { CurrentActionState.DeathActionTransition(); }
public void DownTransition() { CurrentActionState.DownTransition(); }
public void UpTransition() { CurrentActionState.UpTransition(); }
public void LeftTransition() { CurrentActionState.LeftTransition(); }
public void RightTransition() { CurrentActionState.RightTransition(); }