protected override void OnStateEntered() { LobbyArenaLoaded = false; RegisteredPlayersUtil.UnregisterAIPlayers(); RegisteredPlayers.BeginPlayerRegistration(); PlayerCustomizationView.Show(Continue); InGameConstants.BattlePlayerPartsFade = true; PlayerSpawner.ShouldRespawn = true; delayedBackToMainMenuView_ = CornerDelayedActionView.Show("BACK TO MAIN MENU", CornerPoint.TopLeft, ActionType.Negative, GoBack); // in case where no players to customize - continue if (RegisteredPlayers.AllPlayers.Count <= 0) { Continue(); return; } else { ArenaManager.Instance.AnimateLoadArena(GameConstants.Instance.PlayerCustomizationLobbyArena, callback: () => { LobbyArenaLoaded = true; }); } }
private void Continue() { // TODO (darren): do this is a different way later // when we have actual AI selection (customization) if (InGameConstants.FillWithAI) { int missingPlayersCount = Math.Max(0, GameConstants.Instance.PlayersToFill - RegisteredPlayers.AllPlayers.Count); RegisteredPlayersUtil.RegisterAIPlayers(missingPlayersCount); } StateMachine_.Continue(); }
protected override void OnStateEntered() { dynamicGroup_.Enabled = true; #if DEMO PHASERBEAKDebug.ResetAllThings(); #endif BattleCamera.SetDepthOfFieldEnabled(true); InGameConstants.BattlePlayerPartsFade = true; RegisteredPlayers.Clear(); ArenaManager.Instance.AnimateLoadRandomArena(() => { RegisteredPlayersUtil.RegisterAIPlayers(4); PlayerSpawner.ShouldRespawn = true; PlayerSpawner.SpawnAllPlayers(); }); CreateMainMenu(); }
protected override void Init() { if (string.IsNullOrEmpty(Player_.Nickname)) { Player_.Nickname = RegisteredPlayers.GetDefaultNicknameFor(Player_); } if (Player_.Skin == null) { Player_.Skin = RegisteredPlayersUtil.GetBestRandomSkin(); } GameObject skinSelectionContainer = GameObjectUtil.FindRequired("SkinSelectionContainer"); SkinSelectable currentSelectable = skinSelectionContainer.GetComponentsInChildren <SkinSelectable>().First(s => s.Skin == Player_.Skin); selectionView_ = ObjectPoolManager.CreateView <ElementSelectionView>(GamePrefabs.Instance.ElementSelectionViewPrefab); selectionView_.Init(Player_, skinSelectionContainer, startSelectable: currentSelectable); selectionView_.OnSelectableHover += HandleSelectableHover; selectionView_.OnSelectableSelected += HandleSelectableSelected; // we're selecting skins right now selectingSkinMap_[Player_] = true; OnSelectedSkinsDirty.Invoke(); }