protected override void Activate() { CleanupGhostModeAddOns(); PlayerSpawner.SpawnAllPlayers(); List <GameModeIntroView.Icon> icons = new List <GameModeIntroView.Icon>(); foreach (Player player in RegisteredPlayers.AllPlayers) { icons.Add(GameModeIntroView.Icon.Player); icons.Add(GameModeIntroView.Icon.Swords); } icons.RemoveLast(); GameModeIntroView.Show(DisplayTitle, icons); foreach (BattlePlayer battlePlayer in PlayerSpawner.AllSpawnedBattlePlayers) { ghostModeAddOns_[battlePlayer] = new GhostModePlayerAddOn(battlePlayer); } PlayerSpawner.OnSpawnedPlayerRemoved += HandleSpawnedPlayerRemoved; BattlePlayerInputDash.OnPlayerDash += HandlePlayerDash; GameNotifications.OnBattlePlayerShotLaser.AddListener(HandlePlayerShotLaser); }
// PRAGMA MARK - Internal protected override void Activate() { PlayerSpawner.SpawnAllPlayers(); List <GameModeIntroView.Icon> icons = new List <GameModeIntroView.Icon>(); foreach (Player player in RegisteredPlayers.AllPlayers) { icons.Add(GameModeIntroView.Icon.Player); icons.Add(GameModeIntroView.Icon.Swords); } icons.RemoveLast(); BattlePlayerHealth.LaserDamage = 0; BattlePlayerHealth.KnockbackMultiplier = 0.1f; GameModeIntroView.Show(DisplayTitle, icons); foreach (Player player in RegisteredPlayers.AllPlayers.Where(p => p.IsAI)) { BattlePlayer battlePlayer = PlayerSpawner.GetBattlePlayerFor(player); battlePlayer.Rigidbody.constraints |= RigidbodyConstraints.FreezePositionX | RigidbodyConstraints.FreezePositionY | RigidbodyConstraints.FreezePositionZ; } PlayerSpawner.OnSpawnedPlayerRemoved += HandleSpawnedPlayerRemoved; }
protected override void Activate() { AIIdleState.SetShouldCheckDashAttackPredicate(ShouldBattlePlayerDashAttack); PlayerSpawner.SpawnAllPlayers(); List <GameModeIntroView.Icon> icons = new List <GameModeIntroView.Icon>(); foreach (Player player in RegisteredPlayers.AllPlayers) { icons.Add(GameModeIntroView.Icon.Player); icons.Add(GameModeIntroView.Icon.Swords); } icons.RemoveLast(); BattlePlayerHealth.LaserDamage = 0; InGameConstants.AllowChargingLasers = false; // NOTE (darren): avoid showing shields to have less visual noise with exploding object InGameConstants.ShowShields = false; GameModeIntroView.Show(DisplayTitle, icons, onFinishedCallback: () => { SetItPlayer(PlayerSpawner.AllSpawnedBattlePlayers.Random()); }); GameNotifications.OnBattlePlayerLaserHit.AddListener(HandleBattlePlayerHit); PlayerSpawner.OnSpawnedPlayerRemoved += HandleSpawnedPlayerRemoved; }
protected override void Activate() { PlayerSpawner.SpawnAllPlayers(); List <GameModeIntroView.Icon> icons = new List <GameModeIntroView.Icon>(); foreach (Player player in RegisteredPlayers.AllPlayers) { icons.Add(GameModeIntroView.Icon.Player); } GameModeIntroView.Show(DisplayTitle, icons); PlayerSpawner.OnSpawnedPlayerRemoved += HandleSpawnedPlayerRemoved; }
public void Finish() { if (onFinishedCallback_ != null) { onFinishedCallback_.Invoke(); onFinishedCallback_ = null; } ObjectPoolManager.Recycle(this); view_ = null; InGameConstants.AllowBattlePlayerMovement = true; InGameConstants.AllowChargingLasers = oldAllowChargingLasers_; AudioManager.Instance.SetBGMState(AudioManager.BGMState.Normal); OnIntroFinished_.Invoke(); }
// PRAGMA MARK - Internal protected override void Activate() { PlayerSpawner.SpawnAllPlayers(); List <GameModeIntroView.Icon> icons = new List <GameModeIntroView.Icon>(); foreach (Player player in RegisteredPlayers.AllPlayers) { icons.Add(GameModeIntroView.Icon.Player); icons.Add(GameModeIntroView.Icon.Swords); } icons.RemoveLast(); BattlePlayerHealth.LaserDamage = 0; InGameConstants.ShowShields = false; InGameConstants.AllowChargingLasers = false; GameModeIntroView.Show(DisplayTitle, icons); PlayerSpawner.OnSpawnedPlayerRemoved += HandleSpawnedPlayerRemoved; }
protected override void Activate() { timeSpentInArea_.Clear(); PlayerSpawner.SpawnAllPlayers(); List <GameModeIntroView.Icon> icons = new List <GameModeIntroView.Icon>(); foreach (Player player in RegisteredPlayers.AllPlayers) { icons.Add(GameModeIntroView.Icon.Player); icons.Add(GameModeIntroView.Icon.Swords); } icons.RemoveLast(); GameModeIntroView.Show(DisplayTitle, icons); MonoBehaviourWrapper.OnUpdate += HandleUpdate; PlayerSpawner.ShouldRespawn = true; CleanupScoreView(); scoreView_ = ObjectPoolManager.CreateView <KingOfTheHillScoreView>(GamePrefabs.Instance.KotHScoreViewPrefab); scoreView_.Init(this); }
protected override void Activate() { PlayerSpawner.SpawnAllPlayers(); // Sort the players from lowest score to highest score List <Player> players = RegisteredPlayers.AllPlayers.ToList(); players.Sort((playerA, playerB) => { return(PlayerScores.GetScoreFor(playerA).CompareTo(PlayerScores.GetScoreFor(playerB))); }); teams_ = new HashSet <Player> [kNumberOfTeams]; if (players.Count == 4 && kNumberOfTeams == 2) { teams_[0] = new HashSet <Player>() { players[0], players[3] }; teams_[1] = new HashSet <Player>() { players[1], players[2] }; } else { Debug.LogWarning("Assumptions failed when creating teams - random teams!"); players.Shuffle(); int teamIndex = 0; foreach (Player player in players) { if (teams_[teamIndex] == null) { teams_[teamIndex] = new HashSet <Player>(); } teams_[teamIndex].Add(player); teamIndex = MathUtil.Wrap(teamIndex + 1, 0, kNumberOfTeams); } } // set override color for players for (int i = 0; i < teams_.Length; i++) { HashSet <Player> team = teams_[i]; foreach (Player player in team) { BattlePlayer battlePlayer = PlayerSpawner.GetBattlePlayerFor(player); ObjectPoolManager.Create(accessoryPrefabs_[i], parent: battlePlayer.AccessoriesContainer); } } foreach (HashSet <Player> team in teams_) { BattlePlayerTeams.DeclareTeam(team.Select(p => PlayerSpawner.GetBattlePlayerFor(p))); } List <int> playerOrdering = new List <int>(); List <GameModeIntroView.Icon> icons = new List <GameModeIntroView.Icon>(); for (int i = 0; i < teams_.Length - 1; i++) { playerOrdering.AddRange(teams_[i].Select(p => RegisteredPlayers.AllPlayers.IndexOf(p))); icons.AddRange(teams_[i].Select(p => GameModeIntroView.Icon.Player)); icons.Add(GameModeIntroView.Icon.Swords); } playerOrdering.AddRange(teams_[teams_.Length - 1].Select(p => RegisteredPlayers.AllPlayers.IndexOf(p))); icons.AddRange(teams_[teams_.Length - 1].Select(p => GameModeIntroView.Icon.Player)); GameModeIntroView.Show(DisplayTitle, icons, playerOrdering); PlayerSpawner.OnSpawnedPlayerRemoved += HandleSpawnedPlayerRemoved; }