Debug.Log () ничего не отображает - PullRequest
0 голосов
/ 18 октября 2018

Сводка


Попытка настроить базу для механика, просто пытаюсь заставить его фактически сработать через x промежуток времени.В данный момент я использую Debug.Log(), чтобы было понятно, сработало ли событие y.Это ничего не выводит на консоль, что является проблемой.По сути, я пытаюсь настроить механику искалеченности, чтобы по прошествии времени к персонажу применялся негативный эффект, если они не предпринимают никаких действий, чтобы его избежать.

Исследования


Print / Debug.Log не показывает вывод на Unity Console

https://docs.unity3d.com/ScriptReference/Debug.Log.html

Вопрос


Что в мире происходит?Я удостоверился, что все проблемы, которые я знаю, могут вызвать проблемы, не имеют место.К сожалению, эти проблемы, кажется, не так.Так есть идеи?Код ниже.Извините за полное копирование, но я не могу точно определить, откуда возникла проблема.

Код


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


public class Cripple:MonoBehaviour
{
    public int EffectMagnitude;
    public string EffectType;
    public int TimeForIncrease;

    private void Start()
    {
        EffectStart();
    }

    private void Update()
    {

    }


    IEnumerator EffectStart()
    {
        int CounterCripple = 0;
        do
        {
            Debug.Log("Has run: " + CounterCripple);
            if (CounterCripple >= TimeForIncrease && CounterCripple < TimeForIncrease * 2)
            {
                if (EffectType == "Hunger")
                {
                    Debug.Log("<color=blue> Hunger effect triggered</color><color=green> Tier One</color>");
                }

                else if (EffectType == "Restless")
                {
                    Debug.Log("<color=blue> Restless effect triggered</color><color=green> Tier One</color>");
                }

                else if (EffectType == "Thirst")
                {
                    Debug.Log("<color=blue> Thirst effect triggered:</color><color=green> Tier One</color>");
                }
            }

            else if (CounterCripple >= TimeForIncrease * 2 && CounterCripple < TimeForIncrease * 3)
            {
                if (EffectType == "Hunger")
                {
                    Debug.Log("<color=blue> Hunger effect triggered</color><color=orange> Tier Two</color>");
                }

                else if (EffectType == "Restless")
                {
                    Debug.Log("<color=blue> Restless effect triggered</color><color=orange> Tier Two</color>");
                }

                else if (EffectType == "Thirst")
                {
                    Debug.Log("<color=blue> Thirst effect triggered:</color><color=orange> Tier Two</color>");
                }
            }

            else if (CounterCripple >= TimeForIncrease * 3)
            {
                if (EffectType == "Hunger")
                {
                    Debug.Log("<color=blue> Hunger effect triggered</color><color=red> Tier Three</color>");
                }

                else if (EffectType == "Restless")
                {
                    Debug.Log("<color=blue> Restless effect triggered</color><color=red> Tier Three</color>");
                }

                else if (EffectType == "Thirst")
                {
                    Debug.Log("<color=blue> Thirst effect triggered:</color><color=red> Tier Three</color>");
                }
            }
            CounterCripple++;
            yield return new WaitForSecondsRealtime(1);
        } while (true);
    }


}

1 Ответ

0 голосов
/ 18 октября 2018

Используйте StartCoroutine(EffectStart()) вместо только EffectStart().

Мне показалось, что эта функция, которую вы пытались вызвать, была Coroutine.Цитирование из документации Unity, которую можно найти здесь: Документация сопрограмм Unity

" Чтобы настроить запуск сопрограммы, вам необходимо для использования функции StartCoroutine"

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