public void Talking()
    {
        if (Community.EndMessage && !isTutorial)//대화 끝의 여부를 확인한다 끝난경우는 아래를 실행
        {
            switch (TutorialPage)
            {
            case 1:
                if (CurrentMsgIndex < 9)
                {
                    if (CurrentMsgIndex > 0)
                    {
                        if (MessageLabel.text.Length < CurrentMessage[CurrentMsgIndex - 1].Split(':')[1].Length)
                        {
                            return;
                        }
                    }
                    string target    = CurrentMessage[CurrentMsgIndex].Split(':')[0];
                    string emotion   = CurrentMessage[CurrentMsgIndex].Split(':')[1];
                    string message   = CurrentMessage[CurrentMsgIndex].Split(':')[2];
                    bool   isBigFont = CurrentMessage[CurrentMsgIndex].Split(':').Length == 4;


                    if (target == "라임")
                    {
                        Story.StartCoroutine("PlayerPopUpSprite");
                        NameTag.localPosition   = new Vector3(-2500, 400, 0);
                        PlayerSprite.spriteName = "Player_라임-" + emotion;
                    }
                    else if (target == "라인")
                    {
                        Story.StartCoroutine("NPCPopUpSprite");
                        NameTag.localPosition = new Vector3(2500, 400, 0);
                        NPCSprite.spriteName  = "NPC_라인-" + emotion;
                    }
                    Community.IntroSetting(target, message);
                    Community.EndMessage  = false;
                    MessageLabel.fontSize = isBigFont ? 400 : 225;
                    CurrentMsgIndex      += 1;
                }
                else
                {
                    StartFirstComing();
                    PageNum = 0;
                    TutorialOpen();
                    Community.UIVisible(false);
                }
                break;

            case 2:
                if (CurrentMsgIndex < 2)
                {
                    if (CurrentMsgIndex > 0)
                    {
                        if (MessageLabel.text.Length < CurrentMessage[CurrentMsgIndex - 1].Split(':')[1].Length)
                        {
                            return;
                        }
                    }

                    string target    = CurrentMessage[CurrentMsgIndex].Split(':')[0];
                    string emotion   = CurrentMessage[CurrentMsgIndex].Split(':')[1];
                    string message   = CurrentMessage[CurrentMsgIndex].Split(':')[2];
                    bool   isBigFont = CurrentMessage[CurrentMsgIndex].Split(':').Length == 4;


                    if (target == "라임")
                    {
                        Story.StartCoroutine("PlayerPopUpSprite");
                        NameTag.localPosition   = new Vector3(-2500, 400, 0);
                        PlayerSprite.spriteName = "Player_라임-" + emotion;
                    }
                    else if (target == "라인")
                    {
                        Story.StartCoroutine("NPCPopUpSprite");
                        NameTag.localPosition = new Vector3(2500, 400, 0);
                        NPCSprite.spriteName  = "NPC_라인-" + emotion;
                    }
                    Community.IntroSetting(target, message);
                    Community.EndMessage  = false;
                    MessageLabel.fontSize = isBigFont ? 400 : 225;
                    CurrentMsgIndex      += 1;
                }
                else    //독백 끝 1.
                {
                    Community.UIVisible(false);
                    Pointer.color = new Color(255, 0, 142, 255);
                }
                break;

            case 3:
                if (CurrentMsgIndex < 1)
                {
                    if (CurrentMsgIndex > 0)
                    {
                        if (MessageLabel.text.Length < CurrentMessage[CurrentMsgIndex - 1].Split(':')[1].Length)
                        {
                            return;
                        }
                    }

                    string target    = CurrentMessage[CurrentMsgIndex].Split(':')[0];
                    string emotion   = CurrentMessage[CurrentMsgIndex].Split(':')[1];
                    string message   = CurrentMessage[CurrentMsgIndex].Split(':')[2];
                    bool   isBigFont = CurrentMessage[CurrentMsgIndex].Split(':').Length == 4;


                    if (target == "라임")
                    {
                        Story.StartCoroutine("PlayerPopUpSprite");
                        NameTag.localPosition   = new Vector3(-2500, 400, 0);
                        PlayerSprite.spriteName = "Player_라임-" + emotion;
                    }
                    else if (target == "라인")
                    {
                        Story.StartCoroutine("NPCPopUpSprite");
                        NameTag.localPosition = new Vector3(2500, 400, 0);
                        NPCSprite.spriteName  = "NPC_라인-" + emotion;
                    }
                    Community.IntroSetting(target, message);
                    Community.EndMessage  = false;
                    MessageLabel.fontSize = isBigFont ? 400 : 225;
                    CurrentMsgIndex      += 1;
                }
                else    //독백 끝 1.
                {
                    Community.UIVisible(false);
                    PageNum = 1;
                    TutorialOpen();
                    Pointer2.color = new Color(255, 0, 142, 255);
                }
                break;

            case 4:    //뒷마당에서 독백
                if (CurrentMsgIndex < 2)
                {
                    if (CurrentMsgIndex > 0)
                    {
                        if (MessageLabel.text.Length < CurrentMessage[CurrentMsgIndex - 1].Split(':')[1].Length)
                        {
                            return;
                        }
                    }

                    string target    = CurrentMessage[CurrentMsgIndex].Split(':')[0];
                    string emotion   = CurrentMessage[CurrentMsgIndex].Split(':')[1];
                    string message   = CurrentMessage[CurrentMsgIndex].Split(':')[2];
                    bool   isBigFont = CurrentMessage[CurrentMsgIndex].Split(':').Length == 4;


                    if (target == "라임")
                    {
                        Story.StartCoroutine("PlayerPopUpSprite");
                        NameTag.localPosition   = new Vector3(-2500, 400, 0);
                        PlayerSprite.spriteName = "Player_라임-" + emotion;
                    }
                    else if (target == "라인")
                    {
                        Story.StartCoroutine("NPCPopUpSprite");
                        NameTag.localPosition = new Vector3(2500, 400, 0);
                        NPCSprite.spriteName  = "NPC_라인-" + emotion;
                    }
                    Community.IntroSetting(target, message);
                    Community.EndMessage  = false;
                    MessageLabel.fontSize = isBigFont ? 400 : 225;
                    CurrentMsgIndex      += 1;
                }
                else    //독백 끝 1.
                {
                    Community.UIVisible(false);
                    PageNum = 2;
                    TutorialOpen();
                    Pointer3.color = new Color(255, 0, 142, 255);
                }
                break;

            case 5:    //상점에서 독백
                if (CurrentMsgIndex < 2)
                {
                    if (CurrentMsgIndex > 0)
                    {
                        if (MessageLabel.text.Length < CurrentMessage[CurrentMsgIndex - 1].Split(':')[1].Length)
                        {
                            return;
                        }
                    }

                    string target    = CurrentMessage[CurrentMsgIndex].Split(':')[0];
                    string emotion   = CurrentMessage[CurrentMsgIndex].Split(':')[1];
                    string message   = CurrentMessage[CurrentMsgIndex].Split(':')[2];
                    bool   isBigFont = CurrentMessage[CurrentMsgIndex].Split(':').Length == 4;


                    if (target == "라임")
                    {
                        Story.StartCoroutine("PlayerPopUpSprite");
                        NameTag.localPosition   = new Vector3(-2500, 400, 0);
                        PlayerSprite.spriteName = "Player_라임-" + emotion;
                    }
                    else if (target == "라인")
                    {
                        Story.StartCoroutine("NPCPopUpSprite");
                        NameTag.localPosition = new Vector3(2500, 400, 0);
                        NPCSprite.spriteName  = "NPC_라인-" + emotion;
                    }
                    Community.IntroSetting(target, message);
                    Community.EndMessage  = false;
                    MessageLabel.fontSize = isBigFont ? 400 : 225;
                    CurrentMsgIndex      += 1;
                }
                else    //독백 끝 1.
                {
                    Community.UIVisible(false);
                    PageNum = 3;
                    Community.NowFirstTalking = false;
                    TutorialOpen();
                }
                break;
            }
        }
        else //대화중의 경우 타입이펙트를 끈다. 타입이펙트를 끄면 대화가 끝난것으로 친다.
        {
            Community.typeEffect.Finish();
            Community.EndMessage = true;
            if (!Community.NowFirstTalking)
            {
                Community.EndMessage = false;
            }
        }
    }
示例#2
0
    public void Storying()//호출하면 대화 이벤트를 시작한다.
    {
        TutorialSpeech.SetActive(false);
        StorySpeech.SetActive(true);
        BossSpeech.SetActive(false);
        if (Community.EndMessage)//대화 끝의 여부를 확인한다 끝난경우는 아래를 실행
        {
            switch (StoryPage)
            {
            case 1:
                //------1번스토리의 경우
                if (CurrentStoryIndex < 14)
                {
                    if (CurrentStoryIndex > 0)
                    {
                        if (MessageLabel.text.Length < CurrentMessage[CurrentStoryIndex - 1].Split(':')[1].Length)
                        {
                            return;
                        }
                    }

                    string target    = CurrentMessage[CurrentStoryIndex].Split(':')[0];
                    string emotion   = CurrentMessage[CurrentStoryIndex].Split(':')[1];
                    string message   = CurrentMessage[CurrentStoryIndex].Split(':')[2];
                    bool   isBigFont = CurrentMessage[CurrentStoryIndex].Split(':').Length == 4;


                    if (target == "라임")
                    {
                        StartCoroutine("PlayerPopUpSprite");
                        NameTag.localPosition   = new Vector3(-2500, 400, 0);
                        PlayerSprite.spriteName = "Player_라임-" + emotion;
                    }
                    else if (target == "전산양")
                    {
                        StartCoroutine("NPCPopUpSprite");
                        NPCSprite.width       = 2700;
                        NPCSprite.height      = 3500;
                        NameTag.localPosition = new Vector3(2500, 400, 0);
                        NPCSprite.spriteName  = "NPC_전산양-" + emotion;
                    }
                    else if (target == "???")
                    {
                        StartCoroutine("NPCPopUpSprite");
                        NPCSprite.width       = 2700;
                        NPCSprite.height      = 3500;
                        NameTag.localPosition = new Vector3(2400, 400, 0);
                        NPCSprite.spriteName  = "NPC_사냥터지기-" + emotion;
                    }
                    Community.IntroSetting(target, message);
                    Community.EndMessage  = false;
                    MessageLabel.fontSize = isBigFont ? 400 : 225;
                    CurrentStoryIndex    += 1;
                }
                else
                {
                    FirstItemGive();
                    FirstItemGive();
                    FirstItemGive();
                    Community.typeEffect.Finish();
                    Community.UIVisible(false);
                    StoryPage += 1;
                    Tuto.StartFirstOut();
                }
                break;

            case 2:    //2번스토리의 경우
                if (CurrentStoryIndex < 10)
                {
                    if (CurrentStoryIndex > 0)
                    {
                        if (MessageLabel.text.Length < CurrentMessage[CurrentStoryIndex - 1].Split(':')[1].Length)
                        {
                            return;
                        }
                    }

                    string target    = CurrentMessage[CurrentStoryIndex].Split(':')[0];
                    string emotion   = CurrentMessage[CurrentStoryIndex].Split(':')[1];
                    string message   = CurrentMessage[CurrentStoryIndex].Split(':')[2];
                    bool   isBigFont = CurrentMessage[CurrentStoryIndex].Split(':').Length == 4;


                    if (target == "라임")
                    {
                        StartCoroutine("PlayerPopUpSprite");
                        NameTag.localPosition   = new Vector3(-2500, 400, 0);
                        PlayerSprite.spriteName = "Player_라임-" + emotion;
                    }
                    else if (target == "라인")
                    {
                        StartCoroutine("NPCPopUpSprite");
                        NPCSprite.width       = 2300;
                        NPCSprite.height      = 3000;
                        NameTag.localPosition = new Vector3(2500, 400, 0);
                        NPCSprite.spriteName  = "NPC_라인-" + emotion;
                    }
                    Community.IntroSetting(target, message);
                    Community.EndMessage  = false;
                    MessageLabel.fontSize = isBigFont ? 400 : 225;
                    CurrentStoryIndex    += 1;
                }
                else
                {
                    TutorialSpeech.SetActive(true);
                    StorySpeech.SetActive(false);
                    BossSpeech.SetActive(false);

                    Tuto.NPCScale.transform.localScale = new Vector3(-1f, 1f, 1f);
                    Community.UIVisible(false);

                    Tuto.NextTutorial();
                }
                break;

            case 99:    //가구상인
                break;

            case 98:    //야간행상인
                break;

            case 97:    //스킬마스터
                if (CurrentStoryIndex < 10)
                {
                    if (CurrentStoryIndex > 0)
                    {
                        if (MessageLabel.text.Length < CurrentMessage[CurrentStoryIndex - 1].Split(':')[1].Length)
                        {
                            return;
                        }
                    }

                    string target    = CurrentMessage[CurrentStoryIndex].Split(':')[0];
                    string emotion   = CurrentMessage[CurrentStoryIndex].Split(':')[1];
                    string message   = CurrentMessage[CurrentStoryIndex].Split(':')[2];
                    bool   isBigFont = CurrentMessage[CurrentStoryIndex].Split(':').Length == 4;


                    if (target == "라임")
                    {
                        StartCoroutine("PlayerPopUpSprite");
                        NameTag.localPosition   = new Vector3(-2500, 400, 0);
                        PlayerSprite.spriteName = "Player_라임-" + emotion;
                    }
                    else if (target == "선생님")
                    {
                        StartCoroutine("NPCPopUpSprite");
                        NPCSprite.width       = 2100;
                        NPCSprite.height      = 2850;
                        NameTag.localPosition = new Vector3(2500, 400, 0);
                        NPCSprite.spriteName  = "NPC_마법선생-" + emotion;
                    }
                    Community.IntroSetting(target, message);
                    Community.EndMessage  = false;
                    MessageLabel.fontSize = isBigFont ? 400 : 225;
                    CurrentStoryIndex    += 1;
                }
                else
                {
                    TutorialSpeech.SetActive(true);
                    StorySpeech.SetActive(false);
                    BossSpeech.SetActive(false);

                    Tuto.NPCScale.transform.localScale = new Vector3(-1f, 1f, 1f);
                    Community.UIVisible(false);
                    Tuto.PageNum = 9;
                    Tuto.TutorialOpen();

                    //Tuto.NextTutorial();
                }
                break;
            }
            //------------------2번스토리의 경우
        }
        else//대화중의 경우 타입이펙트를 끈다. 타입이펙트를 끄면 대화가 끝난것으로 친다.
        {
            Community.typeEffect.Finish();
            Community.EndMessage = true;
        }
    }