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();
        }
Example #3
0
        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();
        }
Example #4
0
        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();
        }