public override IGameState[] PerformLogic(GameTime gameTime, GameInfo gameInfo) { var waitState = StateFactory.GetState(GameStates.GameStates.Wait); if (gameInfo.CurrentPlayer.PromotionLevel < 3) { CreateMessage(gameInfo.Manager, gameInfo, waitState); } else { var alert = new Alert(gameInfo.Manager, "You are already at your highest salary range!", "Cannot get promotion", true); alert.Init(); gameInfo.Manager.Add(alert); alert.Closed += (sender, args) => alertClosed(gameInfo, waitState); } return new[] { new PayDay(), waitState }; }
public IGameState[] PerformLogic(GameTime gameTime, GameInfo gameInfo) { var waitState = StateFactory.GetState(GameStates.Wait); var alert = new Alert(gameInfo.Manager, string.Format("{3} you are now in debt!\n" + "Your original loan was for ${0:N0}\n" + "But with current interest rates at {1}%" + "\nYou must pay back ${2:n0}", LoanRequired, Loan.CurrentInterestRate, Loan.Value * -1, Player.Name), "You required a loan", icon: "Images/AlertIcons/Wallet"); alert.Init(); alert.Closing += (sender, args) => gameInfo.Fsm.Remove(waitState); gameInfo.Manager.Add(alert); alert.SendToBack(); return new[] { waitState }; }