如何检查某个特定名称是否参与了对话,然后如果不是false则启用true?

时间:2019-06-17 22:06:08

标签: c# unity3d

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerLockState : MonoBehaviour
{
    public Camera playerCamera;
    public camMouseLook mouselook;
    public Conversation conversation;
    public ConversationTrigger conversationtrigger;

    // Start is called before the first frame update
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {
        if (playerCamera.enabled == false ||
            conversationtrigger.conversationEnd == false)
        {
            PlayerController.disablePlayerController = true;

            if (conversation.Dialogues.Count > 0)
            {
                for (int i = 0; i < conversation.Dialogues.Count; i++)
                {
                    if (conversation.Dialogues[i].Name == "Navi")
                    {
                        mouselook.enabled = true;
                    }
                    else
                    {
                        mouselook.enabled = false;
                    }
                }
            }

            transform.Rotate(new Vector3(0, 0, 0));
        }
        else
        {
            PlayerController.disablePlayerController = false;
            mouselook.enabled = true;
        }
    }
}

在这一部分,我正在检查特定名称是否参与了对话:

if (conversation.Dialogues.Count > 0)
            {
                for (int i = 0; i < conversation.Dialogues.Count; i++)
                {
                    if (conversation.Dialogues[i].Name == "Navi")
                    {
                        mouselook.enabled = true;
                    }
                    else
                    {
                        mouselook.enabled = false;
                    }
                }
            }

如果玩家正在参与对话,请将mouselook设置为true,否则,将mouselook设置为false。但是当设置为false时,我还想检查是否:

playerCamera.enabled == false

仅当playerCamera也为false时,鼠标外观才为false。 而且即使Navi是对话的一部分,即使playerCamera为假,mouselook也应该为真。

1 个答案:

答案 0 :(得分:1)

                if (conversation.Dialogues[i].Name == "Navi")
                {
                    playerCamera.enabled == true;
                    mouselook.enabled = true;
                }
                else
                {
                    playerCamera.enabled == false;
                    mouselook.enabled = false;
                }

如果我在这里缺少任何内容,请纠正我。不太清楚为什么需要

  

我还想检查是否:

     

playerCamera.enabled ==假