Сценарий не включается, если я не в режиме отладки в Visual Studio - PullRequest
0 голосов
/ 13 сентября 2018

Когда я пытаюсь включить мой интерактивный скрипт во время отладки, он работает идеально, если у меня установлена ​​одна точка останова.Но когда я запускаю игру без отладки, сценарий не включается примерно в 50% случаев.Interact - базовый класс для сценариев NPC и MonsterAttack.У меня есть только сценарии NPC и MonsterAttack, прикрепленные к физическим игровым объектам.

void Update ()
{
    if (Input.GetMouseButton(0) && !UnityEngine.EventSystems.EventSystem.current.IsPointerOverGameObject())
    {

        if (interactedObject != null && interactedObject.GetComponent<Interact>() != null)
        {
            interactedObject.GetComponent<Interact>().enabled = false;
        }

        Interact.rotate = false;
        rayHit = GetInteraction();
   }
}

//Get interaction with clicked object
private RaycastHit GetInteraction()
{
    //Get the mouse clicked position
    Ray interactionRay = Camera.main.ScreenPointToRay(Input.mousePosition);
    RaycastHit interactionInfo;


    if (Physics.Raycast(interactionRay, out interactionInfo, Mathf.Infinity))
    {
        Debug.DrawRay(interactionRay.origin, interactionInfo.point, Color.red);
        interactedObject = interactionInfo.collider.gameObject;

        if (interactedObject.tag != "NPC" && interactedObject.tag != "Monster")
        {
            //Move somewhere on the terrain
            playerAgent.stoppingDistance = 0f;
            playerAgent.SetDestination(interactionInfo.point);
        }
        else
        {
            //IT FAILS HERE
            interactedObject.GetComponent<Interact>().enabled = true; //<--------
            //Interact with an Object, NPC, Item, Monster
            interactedObject.GetComponent<Interact>().MovetoInteraction(playerAgent);
        }
    }
    return interactionInfo;
}

1 Ответ

0 голосов
/ 14 сентября 2018

Проблема здесь была на самом деле из-за моего raycast.По какой-то причине он поднимает объект и местность под ним.Поэтому, когда я нажимаю на объект, он иногда использует ландшафт вместо объекта, на который я нажал.Поэтому путь, который включает мой сценарий, не выбран, поэтому сценарий не включен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...