Beispiel #1
0
 private void NextConversationID(int nextId)
 {
     ConversationData.RootObject data = ConversationData.GetData(nextId);
     if (data == null)
     {
         Finish();
     }
     else
     {
         _data = data;
         SetData(data);
     }
 }
Beispiel #2
0
    private void Init(int id, bool isFadeEnd, Action callback = null)
    {
        ConversationData.RootObject data = ConversationData.GetData(id);
        NormalTypewriter.ClearText();
        VOTypewriter.ClearText();
        SetData(data);

        _data            = data;
        _isFadeEnd       = isFadeEnd;
        _onFinishHandler = callback;
        //_isFinal = data.IsFinal;
        //_onFinishHandler += Close;
    }
Beispiel #3
0
    private void SetData(ConversationData.RootObject data)
    {
        if (data.Type == ConversationData.TypeEnum.Normal)
        {
            NormalGroup.SetActive(true);
            VOGroup.SetActive(false);
            NameLabel.text = data.Name;
            NormalTypewriter.Show(data.GetComment());
        }
        else
        {
            NormalGroup.SetActive(false);
            VOGroup.SetActive(true);
            VOTypewriter.Show(data.GetComment());
        }

        if (data.Background == "x")
        {
            Background.gameObject.SetActive(false);
        }
        else if (data.Background != "-")
        {
            Background.gameObject.SetActive(true);
            Background.sprite = Resources.Load <Sprite>("Image/Background/" + data.Background);
        }

        if (data.BGM == "x")
        {
            _isPlayingBGM = false;
        }
        else if (data.BGM != "-")
        {
            _isPlayingBGM = true;
            AudioSystem.Instance.Play(data.BGM, true);
        }

        for (int i = 0; i < data.Images.Length; i++)
        {
            if (data.Images[i] == "x")
            {
                CharacterImage[i].gameObject.SetActive(false);
            }
            else if (data.Images[i] == "-")
            {
                CharacterImage[i].color = Color.gray;
                CharacterImage[i].transform.SetSiblingIndex(_siblingIndex);
            }
            else
            {
                CharacterImage[i].gameObject.SetActive(true);
                CharacterImage[i].color = Color.white;
                CharacterImage[i].transform.SetSiblingIndex(_siblingIndex + 1);
                if (data.Images[i] != "o")
                {
                    CharacterImage[i].sprite = Resources.Load <Sprite>("Image/Character/Large/" + data.Images[i]);
                    CharacterImage[i].SetNativeSize();
                }
            }
        }

        for (int i = 0; i < data.Motions.Length; i++)
        {
            if (data.Motions[i] == ConversationData.MotionEnum.Jump)
            {
                CharacterImage[i].transform.DOJump(CharacterImage[i].transform.position, 50, 1, 0.5f);
            }
            else if (data.Motions[i] == ConversationData.MotionEnum.Shake)
            {
                CharacterImage[i].transform.DOShakePosition(0.5f, 20);
            }
        }

        if (Handler != null)
        {
            Handler(data.ID);
        }
    }