public EmbankStateManager(IemStateManager.IStateMachine initialState, IemGameEmbankmentGame newEg) : base(initialState) { IemUtils.GLog("eg is " + newEg); eg = newEg; }
public override IemGameBase.IemGame CreateGame(BasePlayer player) { var newGame = new IemGameEmbankmentGame(); newGame.Players[player.UserIDString] = new IemEmbankmentPlayer(player, newGame); IemUI.ShowTeamUiForPlayer(player, newGame); if (!newGame.CanStart()) { IemUI.CreateGameBanner(player, newGame.CanStartCriteria()); } return(newGame); }
// debuggin function to allow moving to next phase quickly void NextPhase() { if (game != null) { if (game.CurrentState == IemUtils.State.Running) { IemGameEmbankmentGame teamgame = (IemGameEmbankmentGame)game; if (teamgame.gsm.IsAny(EmbankStateManager.PartitionedPeriod.Instance)) { teamgame.gsm.ChangeState(EmbankStateManager.MainPhase.Instance); } else if (teamgame.gsm.IsAny(EmbankStateManager.MainPhase.Instance)) { teamgame.gsm.ChangeState(EmbankStateManager.SuddenDeath.Instance); } else if (teamgame.gsm.IsAny(EmbankStateManager.SuddenDeath.Instance)) { teamgame.gsm.ChangeState(EmbankStateManager.GameComplete.Instance); } } } }
public IemEmbankmentPlayer(BasePlayer player, IemGameEmbankmentGame game) : base(player) { IemUtils.TeleportPlayerPosition(player, game.teamLobby.location); me.IemUtils?.SaveInventory(player, game.GetGuid()); game.teamLobby.OpenDoors(); }