コード例 #1
0
ファイル: DialogPlayer.cs プロジェクト: CoffeeParser/Gamejam
 /// <summary>
 /// handling the dialogue for partially solved levels
 /// </summary>
 public void ShowPartiallySolvedDialog()
 {
     string message = null;
     while (message == null)
     {
         dialogIndex++;
         if (dialogIndex >= _gameState.CurrentPerson.ReviewStory.Count)
         {
             EndDialog();
             GameState.instance.ResetLevel(GameState.instance.CurrentPerson);
             ScreenViewHandler.instance.EnterMiniMapMenu();
         }
         else
         {
             ReviewStory reviewStory = _gameState.CurrentPerson.ReviewStory[dialogIndex];
             UpdateActor(reviewStory.Actor);
             if (reviewStory.DialogType.Equals("Action") || reviewStory.DialogType.Equals("All"))
             {
                 Debug.Log("PARTIALY");
                 message = reviewStory.Message != null ? reviewStory.Message : GetMessageDependingOnSolvedActionStatus(reviewStory);
                 if (!string.IsNullOrEmpty(message))
                 {
                     string actor = reviewStory.Actor;
                     StopAllCoroutines();
                     StartCoroutine(DialogueWriter(message, actor));
                 }
             }
         }
     }
 }
コード例 #2
0
ファイル: DialogPlayer.cs プロジェクト: CoffeeParser/Gamejam
        /// <summary>
        /// Handling dialogue mechanic for solved levels
        /// </summary>
        public void ShowSolvedDialog()
        {
            string message = null;
            while (message == null)
            {
                dialogIndex++;
                if (dialogIndex >= _gameState.CurrentPerson.ReviewStory.Count)
                {
                    EndDialog();
                    GameState.instance.ResetLevel(GameState.instance.CurrentPerson);
                    GameState.instance.AccomplishActualLevel();
                    ScreenViewHandler.instance.EnterMiniMapMenu();
                    break;
                }
                else
                {
                    ReviewStory reviewStory = _gameState.CurrentPerson.ReviewStory[dialogIndex];



                    if (reviewStory.DialogType.Equals("All") || reviewStory.DialogType.Equals("Solved"))
                    {
                        message = reviewStory.Message != null ? reviewStory.Message : reviewStory.SolvedMessage;
                        if (!string.IsNullOrEmpty(message))
                        {
                            UpdateActor(reviewStory.Actor);
                            StopAllCoroutines();
                            string actor = reviewStory.Actor;
                            StartCoroutine(DialogueWriter(message, actor));
                        }
                    }
                }
            }
        }
コード例 #3
0
ファイル: DialogPlayer.cs プロジェクト: CoffeeParser/Gamejam
 /// <summary>
 /// Get proper dialogue message depending on its solved status
 /// </summary>
 /// <param name="story"></param>
 /// <returns></returns>
 private string GetMessageDependingOnSolvedActionStatus(ReviewStory story)
 {
     if (story.DialogType != "Action")
     {
         if (_gameState.CurrentPerson.EvilAction.Count > 0)
         {
             return story.FailedMessage;
         }
         return story.SolvedMessage;
     }
     else
     {
         foreach (EvilAction evilAction in GameState.instance.CurrentPerson.EvilAction)
         {
             if (evilAction.Identifier == story.Identifier)
             {
                 return story.FailedMessage;
             }
         }
         return story.SolvedMessage;
     }
 }