コード例 #1
0
ファイル: Events.cs プロジェクト: TinyRoar/UnityFramework
 public void FireGameplayStatusChange(GameplayStatus oldGameplayStatus, GameplayStatus newGameplayStatus)
 {
     if (OnGameplayStatusChange != null)
     {
         OnGameplayStatusChange(oldGameplayStatus, newGameplayStatus);
     }
 }
コード例 #2
0
 void GameplayStatusChange(GameplayStatus oldMatchStatus, GameplayStatus newMatchStatus)
 {
     switch (newMatchStatus)
     {
     case GameplayStatus.GameRunning:
         Loading.SetActive(false);
         break;
     }
 }
コード例 #3
0
    void GameplayStatusChange(GameplayStatus oldMatchStatus, GameplayStatus newMatchStatus)
    {
        switch (newMatchStatus)
        {
        case GameplayStatus.GameRunning:
            break;

        case GameplayStatus.OpenCard:
            break;
        }
    }
コード例 #4
0
 void GameplayStatusChange(GameplayStatus oldMatchStatus, GameplayStatus newMatchStatus)
 {
     switch (newMatchStatus)
     {
     case GameplayStatus.Menu:
         break;
         //case GameplayStatus.MatchStart:
         //    break;
         //case GameplayStatus.MatchStop:
         //    break;
     }
 }
コード例 #5
0
ファイル: CardData.cs プロジェクト: vizero1/evan_card_game
    void GameplayStatusChange(GameplayStatus oldMatchStatus, GameplayStatus newMatchStatus)
    {
        switch (newMatchStatus)
        {
        case GameplayStatus.GetCard:
            UpdateCard();
            break;

        case GameplayStatus.OpenCard:
            Timer.Instance.Add(0.2f, () =>
            {
                _renderer.enabled = true;
            });
            break;
        }
    }
コード例 #6
0
    void GameplayStatusChange(GameplayStatus oldMatchStatus, GameplayStatus newMatchStatus)
    {
        switch (newMatchStatus)
        {
        case GameplayStatus.YouWon:
            if (IsWinText)
            {
                EnableText();
            }
            break;

        case GameplayStatus.YouLost:
            if (!IsWinText)
            {
                EnableText();
            }
            break;
        }
    }
コード例 #7
0
ファイル: Persons.cs プロジェクト: vizero1/evan_card_game
    void GameplayStatusChange(GameplayStatus oldMatchStatus, GameplayStatus newMatchStatus)
    {
        switch (newMatchStatus)
        {
        case GameplayStatus.GameRunning:
            if (IsMe)
            {
                EnableText();
            }
            break;

        case GameplayStatus.OpponentReady:
            if (!IsMe)
            {
                EnableText();
            }
            break;
        }
    }
コード例 #8
0
ファイル: TurnText.cs プロジェクト: vizero1/evan_card_game
    void GameplayStatusChange(GameplayStatus oldMatchStatus, GameplayStatus newMatchStatus)
    {
        switch (newMatchStatus)
        {
        case GameplayStatus.YourTurn:
            if (IsMyTurnText)
            {
                EnableText();
            }
            break;

        case GameplayStatus.OpponentTurn:
            if (!IsMyTurnText)
            {
                EnableText();
            }
            break;
        }
    }
コード例 #9
0
ファイル: MyCard.cs プロジェクト: vizero1/evan_card_game
    void GameplayStatusChange(GameplayStatus oldMatchStatus, GameplayStatus newMatchStatus)
    {
        switch (newMatchStatus)
        {
        case GameplayStatus.GetCard:
            this.AnimateGetCard();
            break;

        case GameplayStatus.OpenCard:
            this.AnimateOpenCard();
            break;

        case GameplayStatus.YouWon:
            this.AnimateWin();
            break;

        case GameplayStatus.YouLost:
            this.AnimateLost();
            break;
        }
    }
コード例 #10
0
        public MoveResponseModel AttemptMove(MoveRequestModel request)
        {
            if (!gameplayStateModel.IsPlaying)
            {
                return(new MoveResponseModel()
                {
                    Request = request,
                    ValidMove = false,
                    GameStatus = GameplayStatus.Error,
                    Message = "Game not actively running, cannot process request.",
                    KeyMatches = 0,
                });
            }

            bool invalidKey = gameplayStateModel.ConsumedCharacters.Contains(request.Key);

            if (invalidKey)
            {
                return(new MoveResponseModel()
                {
                    Request = request,
                    ValidMove = false,
                    GameStatus = GameplayStatus.Error,
                    Message = "Repeated Keypress Request, move rejected.",
                    KeyMatches = 0,
                });
            }

            GameplayStatus postMoveStatus = GameplayStatus.Playing;


            int count = 0;
            int index = 0;

            foreach (char c in gameplayStateModel.CurrentWord)
            {
                if (c == request.Key)
                {
                    count++;
                    gameplayStateModel.CurrentWordStatus[index] = c;
                }

                index++;
            }
            gameplayStateModel.GuessedCharacterCount += count;

            bool wasGoodMove = count > 0;

            if (!wasGoodMove)
            {
                gameplayStateModel.ErrorCount++;
            }

            if (gameplayStateModel.GuessedCharacterCount == gameplayStateModel.CurrentWord.Length)
            {
                postMoveStatus = GameplayStatus.Won;
                gameplayStateModel.IsPlaying = false;
                gameplayStateModel.WinCount++;
            }
            else if (postMoveStatus != GameplayStatus.Won && gameplayStateModel.ErrorCount >= gameRulesData.WrongMovesForDeath)
            {
                postMoveStatus = GameplayStatus.Lost;
                gameplayStateModel.IsPlaying = false;
                gameplayStateModel.LossCount++;
            }

            gameplayStateModel.ConsumedCharacters.Add(request.Key);
            return(new MoveResponseModel()
            {
                Request = request,
                ValidMove = true,
                GameStatus = postMoveStatus,
                Message = $"Good Request. {count} matches",
                KeyMatches = count,
            });
        }
コード例 #11
0
 public static void Lose()
 {
     CurrentGamePlayStatus = GameplayStatus.PlayerLost;
 }
コード例 #12
0
 public static void Win()
 {
     CurrentGamePlayStatus = GameplayStatus.PlayerWon;
 }