public new void Exit(IemStateManager.StateManager sm) { EmbankStateManager gsm = (EmbankStateManager)sm; IemUI.UpdateGameStatusBanner("", gsm.eg); IemUI.UpdateGameBanner("", gsm.eg); // set the player status PlayerDying -= gsm.eg.PlayerDied; // log the score PlayerDying -= gsm.eg.ScorePlayerKill; // any damage is fatal EntitiesTakingDamage -= gsm.eg.SuddenDeath; // player can't be wounded in sudden death EntitiesBeingWounded -= gsm.eg.SuddenDeathWounded; suddenDeathTimer?.Destroy(); updatesTimer?.Destroy(); }
//private DateTime startTime = DateTime.UtcNow; //TimeSpan breakDuration = TimeSpan.FromSeconds(15); public new void Enter(IemStateManager.StateManager sm) { EmbankStateManager gsm = (EmbankStateManager)sm; // change the player status PlayerDying += gsm.eg.PlayerDied; //log the score PlayerDying += gsm.eg.ScorePlayerKill; // any damage is fatal EntitiesTakingDamage += gsm.eg.SuddenDeath; // player can't be wounded in sudden death EntitiesBeingWounded += gsm.eg.SuddenDeathWounded; foreach (IemGameBase.IemTeam iemTeam in gsm.eg.Teams.Values) { foreach (IemGameBase.IemPlayer iemPlayer in iemTeam.Players.Values) { BasePlayer player = IemUtils.FindPlayerByID(iemPlayer.PlayerId); IemUI.ShowGameTimer(player, gsm.eg.PartitionWait, "Sudden Death: "); } } suddenDeathTimer = me.timer.Once( gsm.eg.SuddenDeathPhaseWait, () => { gsm.ChangeState(EmbankStateManager.GameComplete.Instance); }); //} IemUI.UpdateGameBanner("Sudden Death - all hits are fatal!!!", gsm.eg); countdown = gsm.eg.SuddenDeathPhaseWait; updatesTimer = me.timer.Every(1f, () => { gsm.Update(); }); }