示例#1
0
        private void SetNameAndSprite()
        {
            Sprite newSprite = playerConversant.GetSprite();
            Color  c         = characterImage.color;

            if (newSprite != null)
            {
                characterImage.sprite = newSprite;
                characterImage.color  = new Color(c.r, c.g, c.b, 255);
            }
            else
            {
                characterImage.color = new Color(c.r, c.g, c.b, 0);
            }

            string speakerName = playerConversant.GetCurrentConversantName();

            if (speakerName == "")
            {
                speakerContainer.SetActive(false);
            }
            else
            {
                speakerContainer.SetActive(true);
                conversantName.text = speakerName;
            }
        }
 void UpdateUI()
 {
     dialogueContainer.SetActive(playerConversant.IsActive());
     if (!playerConversant.IsActive())
     {
         return;
     }
     conversantName.text = ReplaceSubstringVariables(playerConversant.GetCurrentConversantName());
     textGroupGO.SetActive(true);
     choiceRoot.gameObject.SetActive(playerConversant.IsChoosing());
     if (playerConversant.IsChoosing())
     {
         DialogueNode[] AINodes = playerConversant.GetResponses().ToArray();
         if (AINodes.Length > 0)
         {
             int randomIndex = UnityEngine.Random.Range(0, AINodes.Length);
             conversantName.text = ReplaceSubstringVariables(playerConversant.GetCurrentConversantName(AINodes[randomIndex]));
             DialogueText.text   = playerConversant.GetText(AINodes[randomIndex]);
             nextButton.gameObject.SetActive(false);
             quitButton.gameObject.SetActive(false);
         }
         else
         {
             textGroupGO.SetActive(false);
         }
         ReturnChoicesToPool(choiceCount);
         BuildChoiceList();
     }
     else
     {
         DialogueText.text = playerConversant.GetText();
         bool hasNext = playerConversant.HasNext();
         nextButton.gameObject.SetActive(hasNext);
         quitButton.gameObject.SetActive(!hasNext);
     }
     DialogueText.text = ReplaceSubstringVariables(DialogueText.text);
 }
示例#3
0
    public void Init(PlayerConversant player)
    {
        _player = player;
        _player.onConversationUpdated += UpdateUI;

        conversantName.text = _player.GetCurrentConversantName();

        if (nextButton)
        {
            nextButton.onClick.AddListener(_player.Next);
        }

        if (quitButton)
        {
            quitButton.onClick.AddListener(Game.Instance.ReturnPlayerToStandingPosition);
            quitButton.onClick.AddListener(_player.QuitDialogue);
        }
    }
示例#4
0
 void UpdateUI()
 {
     gameObject.SetActive(playerConversant.IsActive());
     if (!playerConversant.IsActive())
     {
         return;
     }
     conversantName.text = playerConversant.GetCurrentConversantName();
     AIResponse.SetActive(!playerConversant.IsChoosing());
     choiceRoot.gameObject.SetActive(playerConversant.IsChoosing());
     if (playerConversant.IsChoosing())
     {
         BuildChoiceList();
     }
     else
     {
         AIText.text = playerConversant.GetText();
         nextButton.gameObject.SetActive(playerConversant.HasNext());
     }
 }
示例#5
0
        private void UpdateUI()
        {
            gameObject.SetActive(playerConversant.IsActive());

            if (!playerConversant.IsActive())
            {
                return;
            }

            AIResponse.SetActive(!playerConversant.IsChoosing());
            playerResponse.SetActive(playerConversant.IsChoosing());

            currentSpeakerName.text = playerConversant.GetCurrentConversantName();

            if (playerConversant.IsChoosing())
            {
                BuildChoiceList();
            }
            else
            {
                currentText.text = playerConversant.GetText();
                nextButton.gameObject.SetActive(playerConversant.HasNext());
            }
        }