コード例 #1
0
    private void Update()
    {
        if (!Player.GetComponent <BasicMove>().GetControllable())                           //人物不能动的时候更新对话,因为这时是对话状态
        {
            if (NPCDialogList.Count <= 1 && PlayerDialogList.Count <= 1 && FirstTimeToRead) //NPCDialogList第一个留着用于存储对话id
            {
                ReFreshData();
                Call(0);//升起NPC对话框
                FirstTimeToRead = false;
                IsFinish        = false;

                TurnToChange = true;
                //Debug.Log(NPCDialogList.Count);
                //Debug.Log(PlayerDialogList.Count);
                NPC.SetNPCDialogText(NPCDialogList[1]);//更新一次对话
                NPCDialogList.Remove(NPCDialogList[1]);
            }
            if (Input.GetMouseButtonDown(0))
            {
                if (!TurnToChange && NPCDialogList.Count > 1)
                {
                    Call(0);

                    NPC.SetNPCDialogText(NPCDialogList[1]);
                    NPCDialogList.Remove(NPCDialogList[1]);
                    TurnToChange = true;
                }
                else if (TurnToChange && PlayerDialogList.Count > 1)
                {
                    Call(1);

                    PlayerDialog.SetPlayerDialogText(PlayerDialogList[1]);
                    PlayerDialogList.Remove(PlayerDialogList[1]);
                    TurnToChange = false;
                }
            }
            else if (NPCDialogList.Count <= 1 && PlayerDialogList.Count <= 1 && !FirstTimeToRead)
            {
                if (NPCDialogList[0] != "0")
                {
                    ShowMissionButton();
                }
                else
                {
                    CallReset();
                    IsFinish = true;

                    FirstTimeToRead = true;
                }
            }
        }
        else
        {
            CallReset();
        }
    }