Beispiel #1
0
        public static void HandleGameState(Util.GameStates gameState)
        {
            int playerID = PlayerId();
            int ped      = GetPlayerPed(playerID);

            switch (gameState)
            {
            case Util.GameStates.STATE_WAITING:
                onMatchWaiting(playerID, ped);
                break;

            case Util.GameStates.STATE_STARTING:
                onMatchStarting(playerID, ped);
                break;

            case Util.GameStates.STATE_ACTIVE:
                onMatchActive(playerID, ped);
                break;

            case Util.GameStates.STATE_DONE:
                onMatchDone(playerID, ped);
                break;

            case Util.GameStates.STATE_COOLDOWN:
                onMatchCooldown(playerID, ped);
                break;
            }
        }
Beispiel #2
0
        public static async void SetGameState(Util.GameStates state)
        {
            GameState = (int)state;

            switch (state)
            {
            case Util.GameStates.STATE_WAITING:
                onStateWaiting();
                break;

            case Util.GameStates.STATE_STARTING:
                onStateStarting();
                break;

            case Util.GameStates.STATE_ACTIVE:
                await onStateActive();

                break;

            case Util.GameStates.STATE_DONE:
                onStateDone();
                break;

            case Util.GameStates.STATE_COOLDOWN:
                break;

            case Util.GameStates.STATE_GAMEOVER:
                onStateGameOver();
                return;
            }
            TriggerClientEvent("fa:setGameState", GameState, timeLeft, roundCount, maxRounds, arenaID);
        }
        public static void SetGameState(int state, int time, int rounds, int maxRounds, string arenaID)
        {
            Debug.WriteLine($"[FA] GAME-STATE -> {(Util.GameStates)state}, {time}, {rounds}, {maxRounds}, {arenaID}");

            GameState = (Util.GameStates)state;
            Time      = time;
            Rounds    = rounds;
            MaxRounds = maxRounds;
            ArenaID   = arenaID;

            User.HandleGameState(GameState);
        }
Beispiel #4
0
        private async Task OnTick()
        {
            if (GameState == (int)Util.GameStates.STATE_GAMEOVER)
            {
                return;
            }
            else if (GameState == (int)Util.GameStates.STATE_WAITING)
            {
                if (Util.GetNumberPlayers() <= 0)
                {
                    return;
                }

                SetGameState(Util.GameStates.STATE_STARTING);
            }

            timeLeft--;
            if (timeLeft <= 0)
            {
                Util.GameStates state = (Util.GameStates)GameState;
                switch (state)
                {
                case Util.GameStates.STATE_STARTING:
                    SetGameState(Util.GameStates.STATE_ACTIVE);
                    break;

                case Util.GameStates.STATE_ACTIVE:
                    SetGameState(Util.GameStates.STATE_DONE);
                    break;

                case Util.GameStates.STATE_DONE:
                    SetGameState(Util.GameStates.STATE_COOLDOWN);
                    break;

                case Util.GameStates.STATE_COOLDOWN:
                    SetGameState(Util.GameStates.STATE_STARTING);
                    break;

                case Util.GameStates.STATE_GAMEOVER:
                    SetGameState(Util.GameStates.STATE_WAITING);
                    break;
                }
            }
            await Delay(1000);
        }