internal CoRoutine(IEnumerator <ICoData> enumerator, uint coId, CoSegment coSegment, CoTag coTag, uint coMask) { CoSegment = coSegment; CoTag = coTag; CoMask = coMask; _SecondsToWait = 0f; _CoId = coId; _Enumerator = enumerator; _CoState = CoState.Running; Register(); }
private void CoRoutineNextStep() { _CoState = CoState.Running; bool isEnd = !_Enumerator.MoveNext(); if (isEnd) { _CoState = CoState.End; return; } ICoData currentState = _Enumerator.Current; switch (currentState !.Type) {
IEnumerator SendData(CoState <string> state) { while (state.timer.Elapsed < 2) { RotateAtSpeed(100f); // Wait until the next frame yield return(null); } while (state.timer.Elapsed < 4) { RotateAtSpeed(-100f); yield return(null); } state.timer.Reset(); // Because needsExitTime is true, we have to tell the FSM when it can // safely exit the state state.fsm.StateCanExit(); }
public void Kill() { _CoState = CoState.End; }