using System.Collections; using System.Collections.Generic; using UnityEngine; using MyBT; public class Test : MonoBehaviour { [Task] void Succeed () { if (Task.isDebugging) Debug.Log("Test.Succeed: " + Task.getState); if (Task.isStartingOrRunning) { Task.SetSucceeded(); } } [Task] void Fail() { if (Task.isDebugging) Debug.Log("Test.Fail: " + Task.getState); if (Task.isStartingOrRunning) { Task.SetFailed(); } } [Task] void Fail2() { if (Task.isDebugging) Debug.Log("Test.Fail: " + Task.getState); if (Task.isStartingOrRunning) { Task.SetFailed(); } } [Task] void Fail3() { if (Task.isDebugging) Debug.Log("Test.Fail: " + Task.getState); if (Task.isStartingOrRunning) { Task.SetFailed(); } } [Task] void Wait (float duration) { if (Task.isDebugging) Debug.Log("Test.Wait: " + Task.getState); if (Task.isStarting) { Task.data = Time.time; } if (Task.isRunning) { float startTime = (float)Task.data; float timePassed = (Time.time - startTime); Task.log = timePassed.ToString(); if (timePassed > duration) Task.SetSucceeded(); } } [Task] void Print (string text) { if (Task.isDebugging) Debug.Log("Test.Wait: " + Task.getState); if (Task.isStarting) { Debug.Log(text); Task.SetSucceeded(); } } [Task] void Print (int number) { if (Task.isDebugging) Debug.Log("Test.Wait: " + Task.getState); if (Task.isStartingOrRunning) { Debug.Log(number.ToString()); Task.SetSucceeded(); } } [Task] void CountTo3 () { if (Task.isStarting) { Task.data = 0; } if (Task.isStartingOrRunning) { Task.data = (int)Task.data + 1; Task.log = ((int)Task.data).ToString(); if ((int)Task.data == 3) { Task.SetSucceeded(); } } } [Task] void CountToNumber (string label, int number) { // if (Task.isDebugging) // Debug.Log("debugging"); if (Task.isStarting) { if (Task.isDebugging) { Debug.Log("Test.CountToNumber.isStarting: " + label); } Task.data = 0; } if (Task.isStartingOrRunning) { Task.data = (int)Task.data + 1; string output = label + " " + (int)Task.data; Task.log = output; //if (Task.isDebugging) { // Debug.Log(output); //} if (Task.isDebugging) { Debug.Log($"Test.CountToNumber.isStartingOrRunning: label {label} data {(int)Task.data} finished {((int)Task.data > number)}"); } if ((int)Task.data >= number ) { Task.SetSucceeded(); } } if (Task.isAborting) { if (Task.isDebugging) { Debug.Log("Test.CountToNumber.isAborting: " + label+" "); } } } }