private IEnumerator StateGen() { int node = 0; NodeVal ret = NodeVal.Error; _jmp = -1; float f1 = 0.0f; float f2 = 0.0f; int n0c = -1; int n12c = -1; int n13c = -1; int n14c = -1; int n18_1i = 0; int n19c = -1; int n1c = -1; int n20c = -1; int n21c = -1; int n22c = -1; int n23c = -1; int n2c = -1; int n4c = -1; int n5c = -1; int n6c = -1; NodeVal n1_1r = NodeVal.Invalid; NodeVal n13_1r = NodeVal.Invalid; NodeVal n14_1r = NodeVal.Invalid; NodeVal n19_1r = NodeVal.Invalid; NodeVal n2_1r = NodeVal.Invalid; NodeVal n20_1r = NodeVal.Invalid; NodeVal n21_1r = NodeVal.Invalid; NodeVal n22_1r = NodeVal.Invalid; NodeVal n23_1r = NodeVal.Invalid; NodeVal n5_1r = NodeVal.Invalid; NodeVal n6_1r = NodeVal.Invalid; Vector3 v1 = Vector3.zero; if (!valid) { throw new BehaviourTreeException("Behaviour tree will not run. The GameObject has missing required components."); } do { switch (node) { case 0: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(1, _liveHandle, NodeVal.Running, false, true); } #endif n0c = 1; node = 1; break; case 49: if (_jmp >= 0) { node = _jmp; _jmp = -1; continue; } if (ret != NodeVal.Success) { if (++n0c > 2) { n0c = 1; node = 0; yield return(null); } else { node = n0c; } } else { n0c = 1; node = 0; yield return(null); } #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(1, _liveHandle, ret, true, false); } #endif break; case 1: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(2, _liveHandle, NodeVal.Running, false, false); } #endif n1c = 3; node = 3; n1_1r = NodeVal.Success; break; case 50: n1_1r = (NodeVal)System.Math.Max((int)n1_1r, (int)ret); if (ret == NodeVal.Success && n1c < 4) { node = ++n1c; } else { n1c = 3; node = 49; ret = n1_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(2, _liveHandle, ret, false, false); } #endif } break; case 2: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(32, _liveHandle, NodeVal.Running, false, false); } #endif n2c = 11; node = 11; n2_1r = NodeVal.Success; break; case 51: n2_1r = (NodeVal)System.Math.Max((int)n2_1r, (int)ret); if (ret == NodeVal.Success && n2c < 12) { node = ++n2c; } else { n2c = 11; node = 49; ret = n2_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(32, _liveHandle, ret, false, false); } #endif } break; case 3: ret = (!this.isActive)? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(3, _liveHandle, ret, false, false); } #endif node = 50; break; case 4: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(4, _liveHandle, NodeVal.Running, false, false); } #endif n4c = 5; node = 5; break; case 53: if (ret != NodeVal.Success) { if (++n4c > 6) { n4c = 5; node = 50; } else { node = n4c; } } else { n4c = 5; node = 50; } #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(4, _liveHandle, ret, false, false); } #endif break; case 5: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(11, _liveHandle, NodeVal.Running, false, false); } #endif n5c = 7; node = 7; n5_1r = NodeVal.Success; break; case 54: n5_1r = (NodeVal)System.Math.Max((int)n5_1r, (int)ret); if (ret == NodeVal.Success && n5c < 8) { node = ++n5c; } else { n5c = 7; node = 53; ret = n5_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(11, _liveHandle, ret, false, false); } #endif } break; case 6: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(7, _liveHandle, NodeVal.Running, false, false); } #endif n6c = 9; node = 9; n6_1r = NodeVal.Success; break; case 55: n6_1r = (NodeVal)System.Math.Max((int)n6_1r, (int)ret); if (ret == NodeVal.Success && n6c < 10) { node = ++n6c; } else { n6c = 9; node = 53; ret = n6_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(7, _liveHandle, ret, false, false); } #endif } break; case 7: ret = (this.isTop)? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(8, _liveHandle, ret, false, false); } #endif node = 54; break; case 8: v1 = this.NonActiveDestination(); transform.position = Vector3.MoveTowards(transform.position, v1, 1f * Time.deltaTime); ret = (transform.position == v1)? NodeVal.Success : NodeVal.Running; node = 54; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(5, _liveHandle, ret, false, false); } #endif break; case 9: ret = (!this.isTop)? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(6, _liveHandle, ret, false, false); } #endif node = 55; break; case 10: v1 = this.NonActiveDestination(); transform.position = Vector3.MoveTowards(transform.position, v1, 1f * Time.deltaTime); ret = (transform.position == v1)? NodeVal.Success : NodeVal.Running; node = 55; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(51, _liveHandle, ret, false, false); } #endif break; case 11: ret = (this.isActive)? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(38, _liveHandle, ret, false, false); } #endif node = 51; break; case 12: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(47, _liveHandle, NodeVal.Running, false, false); } #endif n12c = 13; node = 13; break; case 61: if (ret != NodeVal.Success) { if (++n12c > 14) { n12c = 13; node = 51; } else { node = n12c; } } else { n12c = 13; node = 51; } #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(47, _liveHandle, ret, false, false); } #endif break; case 13: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(45, _liveHandle, NodeVal.Running, false, false); } #endif n13c = 15; node = 15; n13_1r = NodeVal.Success; break; case 62: n13_1r = (NodeVal)System.Math.Max((int)n13_1r, (int)ret); if (ret == NodeVal.Success && n13c < 16) { node = ++n13c; } else { n13c = 15; node = 61; ret = n13_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(45, _liveHandle, ret, false, false); } #endif } break; case 14: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(49, _liveHandle, NodeVal.Running, false, false); } #endif n14c = 17; node = 17; n14_1r = NodeVal.Success; break; case 63: n14_1r = (NodeVal)System.Math.Max((int)n14_1r, (int)ret); if (ret == NodeVal.Success && n14c < 18) { node = ++n14c; } else { n14c = 17; node = 61; ret = n14_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(49, _liveHandle, ret, false, false); } #endif } break; case 15: ret = (this.CheckIfGoHome())? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(52, _liveHandle, ret, false, false); } #endif node = 62; break; case 16: do { ret = (this.SetTargetToLeave()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(46, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 62; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(46, _liveHandle, ret, false, false); } #endif break; case 17: ret = (!this.CheckIfGoHome())? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(50, _liveHandle, ret, false, false); } #endif node = 63; break; case 18: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(48, _liveHandle, NodeVal.Running, false, false); } #endif n18_1i = 0; node = EvalUtility(ref n18_1i); break; case 67: if (!(ret == NodeVal.Success || ret == NodeVal.Running) && n18_1i != 31) { node = EvalUtility(ref n18_1i); break; } node = 63; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(48, _liveHandle, ret, false, false); } #endif break; case 19: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(33, _liveHandle, NodeVal.Running, false, false); } #endif n19c = 24; node = 24; n19_1r = NodeVal.Success; break; case 68: n19_1r = (NodeVal)System.Math.Max((int)n19_1r, (int)ret); if (ret == NodeVal.Success && n19c < 28) { node = ++n19c; } else { n19c = 24; node = 67; ret = n19_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(33, _liveHandle, ret, false, false); } #endif } break; case 20: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(34, _liveHandle, NodeVal.Running, false, false); } #endif n20c = 29; node = 29; n20_1r = NodeVal.Success; break; case 69: n20_1r = (NodeVal)System.Math.Max((int)n20_1r, (int)ret); if (ret == NodeVal.Success && n20c < 33) { node = ++n20c; } else { n20c = 29; node = 67; ret = n20_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(34, _liveHandle, ret, false, false); } #endif } break; case 21: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(35, _liveHandle, NodeVal.Running, false, false); } #endif n21c = 34; node = 34; n21_1r = NodeVal.Success; break; case 70: n21_1r = (NodeVal)System.Math.Max((int)n21_1r, (int)ret); if (ret == NodeVal.Success && n21c < 38) { node = ++n21c; } else { n21c = 34; node = 67; ret = n21_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(35, _liveHandle, ret, false, false); } #endif } break; case 22: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(37, _liveHandle, NodeVal.Running, false, false); } #endif n22c = 39; node = 39; n22_1r = NodeVal.Success; break; case 71: n22_1r = (NodeVal)System.Math.Max((int)n22_1r, (int)ret); if (ret == NodeVal.Success && n22c < 43) { node = ++n22c; } else { n22c = 39; node = 67; ret = n22_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(37, _liveHandle, ret, false, false); } #endif } break; case 23: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(36, _liveHandle, NodeVal.Running, false, false); } #endif n23c = 44; node = 44; n23_1r = NodeVal.Success; break; case 72: n23_1r = (NodeVal)System.Math.Max((int)n23_1r, (int)ret); if (ret == NodeVal.Success && n23c < 48) { node = ++n23c; } else { n23c = 44; node = 67; ret = n23_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(36, _liveHandle, ret, false, false); } #endif } break; case 24: ret = (this.SetTargetToPP()); node = 68; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(56, _liveHandle, ret, false, false); } #endif break; case 25: ret = ((transform.position - (this.PP).transform.position).sqrMagnitude <= (2.25f))? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(55, _liveHandle, ret, false, false); } #endif node = 68; break; case 26: do { ret = (this.SetTargetToStay()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(54, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 68; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(54, _liveHandle, ret, false, false); } #endif break; case 27: f1 = Time.time; f2 = UnityEngine.Random.Range(1f, 3f); do { ret = ((Time.time - f1) > f2)? NodeVal.Success : NodeVal.Running; if (ret == NodeVal.Running) { if (this.scared) { node = 2; yield return(null); break; } #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(53, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 68; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(53, _liveHandle, ret, false, false); } #endif break; case 28: do { ret = (this.TakeCandyFromPP()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(77, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 68; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(77, _liveHandle, ret, false, false); } #endif break; case 29: ret = (this.SetTargetToBB()); node = 69; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(61, _liveHandle, ret, false, false); } #endif break; case 30: ret = ((transform.position - (this.BB).transform.position).sqrMagnitude <= (2.25f))? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(60, _liveHandle, ret, false, false); } #endif node = 69; break; case 31: do { ret = (this.SetTargetToStay()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(59, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 69; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(59, _liveHandle, ret, false, false); } #endif break; case 32: f1 = Time.time; f2 = UnityEngine.Random.Range(1f, 3f); do { ret = ((Time.time - f1) > f2)? NodeVal.Success : NodeVal.Running; if (ret == NodeVal.Running) { if (this.scared) { node = 2; yield return(null); break; } #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(58, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 69; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(58, _liveHandle, ret, false, false); } #endif break; case 33: do { ret = (this.TakeCandyFromBB()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(57, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 69; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(57, _liveHandle, ret, false, false); } #endif break; case 34: ret = (this.SetTargetToHS()); node = 70; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(65, _liveHandle, ret, false, false); } #endif break; case 35: ret = ((transform.position - (this.HS).transform.position).sqrMagnitude <= (2.25f))? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(64, _liveHandle, ret, false, false); } #endif node = 70; break; case 36: do { ret = (this.SetTargetToStay()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(63, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 70; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(63, _liveHandle, ret, false, false); } #endif break; case 37: f1 = Time.time; f2 = UnityEngine.Random.Range(1f, 3f); do { ret = ((Time.time - f1) > f2)? NodeVal.Success : NodeVal.Running; if (ret == NodeVal.Running) { if (this.scared) { node = 2; yield return(null); break; } #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(62, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 70; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(62, _liveHandle, ret, false, false); } #endif break; case 38: do { ret = (this.TakeCandyFromHS()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(66, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 70; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(66, _liveHandle, ret, false, false); } #endif break; case 39: do { ret = (this.SetTargetToSP()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(72, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 71; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(72, _liveHandle, ret, false, false); } #endif break; case 40: ret = ((transform.position - (this.SP).transform.position).sqrMagnitude <= (2.25f))? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(73, _liveHandle, ret, false, false); } #endif node = 71; break; case 41: do { ret = (this.SetTargetToStay()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(74, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 71; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(74, _liveHandle, ret, false, false); } #endif break; case 42: f1 = Time.time; f2 = UnityEngine.Random.Range(1f, 3f); do { ret = ((Time.time - f1) > f2)? NodeVal.Success : NodeVal.Running; if (ret == NodeVal.Running) { if (this.scared) { node = 2; yield return(null); break; } #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(75, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 71; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(75, _liveHandle, ret, false, false); } #endif break; case 43: do { ret = (this.TakeCandyFromSP()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(76, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 71; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(76, _liveHandle, ret, false, false); } #endif break; case 44: ret = (this.SetTargetToRW()); node = 72; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(67, _liveHandle, ret, false, false); } #endif break; case 45: ret = ((transform.position - (this.RW).transform.position).sqrMagnitude <= (2.25f))? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(68, _liveHandle, ret, false, false); } #endif node = 72; break; case 46: do { ret = (this.SetTargetToStay()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(69, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 72; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(69, _liveHandle, ret, false, false); } #endif break; case 47: f1 = Time.time; f2 = UnityEngine.Random.Range(1f, 3f); do { ret = ((Time.time - f1) > f2)? NodeVal.Success : NodeVal.Running; if (ret == NodeVal.Running) { if (this.scared) { node = 2; yield return(null); break; } #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(70, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 72; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(70, _liveHandle, ret, false, false); } #endif break; case 48: do { ret = (this.TakeCandyFromRW()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(71, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 72; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(71, _liveHandle, ret, false, false); } #endif break; } } while (node >= 0); yield return(null); }
private IEnumerator StateGen() { int node = 0; NodeVal ret = NodeVal.Error; _jmp = -1; int n0c = -1; int n15c = -1; int n16c = -1; int n17c = -1; int n18c = -1; int n19c = -1; int n1c = -1; int n20c = -1; int n2c = -1; int n3c = -1; int n4c = -1; int n5c = -1; int n6c = -1; int n7c = -1; NodeVal n1_1r = NodeVal.Invalid; NodeVal n16_1r = NodeVal.Invalid; NodeVal n17_1r = NodeVal.Invalid; NodeVal n18_1r = NodeVal.Invalid; NodeVal n19_1r = NodeVal.Invalid; NodeVal n2_1r = NodeVal.Invalid; NodeVal n20_1r = NodeVal.Invalid; NodeVal n3_1r = NodeVal.Invalid; NodeVal n4_1r = NodeVal.Invalid; NodeVal n5_1r = NodeVal.Invalid; NodeVal n6_1r = NodeVal.Invalid; NodeVal n7_1r = NodeVal.Invalid; if (!valid) { throw new BehaviourTreeException("Behaviour tree will not run. The GameObject has missing required components."); } do { switch (node) { case 0: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(1, _liveHandle, NodeVal.Running, false, true); } #endif n0c = 1; node = 1; break; case 49: if (_jmp >= 0) { node = _jmp; _jmp = -1; continue; } if (ret != NodeVal.Success) { if (++n0c > 7) { n0c = 1; node = 0; yield return(null); } else { node = n0c; } } else { n0c = 1; node = 0; yield return(null); } #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(1, _liveHandle, ret, true, false); } #endif break; case 1: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(32, _liveHandle, NodeVal.Running, false, false); } #endif n1c = 8; node = 8; n1_1r = NodeVal.Success; break; case 50: n1_1r = (NodeVal)System.Math.Max((int)n1_1r, (int)ret); if (ret == NodeVal.Success && n1c < 10) { node = ++n1c; } else { n1c = 8; node = 49; ret = n1_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(32, _liveHandle, ret, false, false); } #endif } break; case 2: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(39, _liveHandle, NodeVal.Running, false, false); } #endif n2c = 11; node = 11; n2_1r = NodeVal.Success; break; case 51: n2_1r = (NodeVal)System.Math.Max((int)n2_1r, (int)ret); if (ret == NodeVal.Success && n2c < 12) { node = ++n2c; } else { n2c = 11; node = 49; ret = n2_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(39, _liveHandle, ret, false, false); } #endif } break; case 3: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(28, _liveHandle, NodeVal.Running, false, false); } #endif n3c = 13; node = 13; n3_1r = NodeVal.Success; break; case 52: n3_1r = (NodeVal)System.Math.Max((int)n3_1r, (int)ret); if (ret == NodeVal.Success && n3c < 15) { node = ++n3c; } else { n3c = 13; node = 49; ret = n3_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(28, _liveHandle, ret, false, false); } #endif } break; case 4: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(21, _liveHandle, NodeVal.Running, false, false); } #endif n4c = 38; node = 38; n4_1r = NodeVal.Success; break; case 53: n4_1r = (NodeVal)System.Math.Max((int)n4_1r, (int)ret); if (ret == NodeVal.Success && n4c < 40) { node = ++n4c; } else { n4c = 38; node = 49; ret = n4_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(21, _liveHandle, ret, false, false); } #endif } break; case 5: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(22, _liveHandle, NodeVal.Running, false, false); } #endif n5c = 41; node = 41; n5_1r = NodeVal.Success; break; case 54: n5_1r = (NodeVal)System.Math.Max((int)n5_1r, (int)ret); if (ret == NodeVal.Success && n5c < 43) { node = ++n5c; } else { n5c = 41; node = 49; ret = n5_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(22, _liveHandle, ret, false, false); } #endif } break; case 6: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(46, _liveHandle, NodeVal.Running, false, false); } #endif n6c = 44; node = 44; n6_1r = NodeVal.Success; break; case 55: n6_1r = (NodeVal)System.Math.Max((int)n6_1r, (int)ret); if (ret == NodeVal.Success && n6c < 46) { node = ++n6c; } else { n6c = 44; node = 49; ret = n6_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(46, _liveHandle, ret, false, false); } #endif } break; case 7: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(43, _liveHandle, NodeVal.Running, false, false); } #endif n7c = 47; node = 47; n7_1r = NodeVal.Success; break; case 56: n7_1r = (NodeVal)System.Math.Max((int)n7_1r, (int)ret); if (ret == NodeVal.Success && n7c < 48) { node = ++n7c; } else { n7c = 47; node = 49; ret = n7_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(43, _liveHandle, ret, false, false); } #endif } break; case 8: ret = (!this.spawned)? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(29, _liveHandle, ret, false, false); } #endif node = 50; break; case 9: do { ret = (this.StartShopping()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(30, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 50; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(30, _liveHandle, ret, false, false); } #endif break; case 10: do { ret = (this.MoveTowards()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(31, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 50; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(31, _liveHandle, ret, false, false); } #endif break; case 11: ret = ((transform.position - (this.targetLocation).position).sqrMagnitude >= (1f))? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(41, _liveHandle, ret, false, false); } #endif node = 51; break; case 12: do { ret = (this.MoveTowards()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(40, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 51; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(40, _liveHandle, ret, false, false); } #endif break; case 13: ret = (this.spawned)? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(25, _liveHandle, ret, false, false); } #endif node = 52; break; case 14: ret = (!this.shoppingDone)? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(26, _liveHandle, ret, false, false); } #endif node = 52; break; case 15: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(27, _liveHandle, NodeVal.Running, false, false); } #endif n15c = 16; node = 16; break; case 64: if (ret != NodeVal.Success) { if (++n15c > 20) { n15c = 16; node = 52; } else { node = n15c; } } else { n15c = 16; node = 52; } #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(27, _liveHandle, ret, false, false); } #endif break; case 16: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(0, _liveHandle, NodeVal.Running, false, false); } #endif n16c = 21; node = 21; n16_1r = NodeVal.Success; break; case 65: n16_1r = (NodeVal)System.Math.Max((int)n16_1r, (int)ret); if (ret == NodeVal.Success && n16c < 24) { node = ++n16c; } else { n16c = 21; node = 64; ret = n16_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(0, _liveHandle, ret, false, false); } #endif } break; case 17: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(7, _liveHandle, NodeVal.Running, false, false); } #endif n17c = 25; node = 25; n17_1r = NodeVal.Success; break; case 66: n17_1r = (NodeVal)System.Math.Max((int)n17_1r, (int)ret); if (ret == NodeVal.Success && n17c < 27) { node = ++n17c; } else { n17c = 25; node = 64; ret = n17_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(7, _liveHandle, ret, false, false); } #endif } break; case 18: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(8, _liveHandle, NodeVal.Running, false, false); } #endif n18c = 28; node = 28; n18_1r = NodeVal.Success; break; case 67: n18_1r = (NodeVal)System.Math.Max((int)n18_1r, (int)ret); if (ret == NodeVal.Success && n18c < 31) { node = ++n18c; } else { n18c = 28; node = 64; ret = n18_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(8, _liveHandle, ret, false, false); } #endif } break; case 19: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(16, _liveHandle, NodeVal.Running, false, false); } #endif n19c = 32; node = 32; n19_1r = NodeVal.Success; break; case 68: n19_1r = (NodeVal)System.Math.Max((int)n19_1r, (int)ret); if (ret == NodeVal.Success && n19c < 34) { node = ++n19c; } else { n19c = 32; node = 64; ret = n19_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(16, _liveHandle, ret, false, false); } #endif } break; case 20: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(17, _liveHandle, NodeVal.Running, false, false); } #endif n20c = 35; node = 35; n20_1r = NodeVal.Success; break; case 69: n20_1r = (NodeVal)System.Math.Max((int)n20_1r, (int)ret); if (ret == NodeVal.Success && n20c < 37) { node = ++n20c; } else { n20c = 35; node = 64; ret = n20_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(17, _liveHandle, ret, false, false); } #endif } break; case 21: ret = (!this.foundAisle)? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(4, _liveHandle, ret, false, false); } #endif node = 65; break; case 22: ret = (this.foundItem)? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(5, _liveHandle, ret, false, false); } #endif node = 65; break; case 23: ret = (this.doneWithCurrentAisle)? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(6, _liveHandle, ret, false, false); } #endif node = 65; break; case 24: do { ret = (this.MoveToNextAisleStart()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(3, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 65; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(3, _liveHandle, ret, false, false); } #endif break; case 25: ret = (this.foundAisle)? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(9, _liveHandle, ret, false, false); } #endif node = 66; break; case 26: ret = (this.foundItem)? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(10, _liveHandle, ret, false, false); } #endif node = 66; break; case 27: ret = (this.doneWithCurrentAisle)? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(11, _liveHandle, ret, false, false); } #endif node = 66; break; case 28: ret = (this.foundAisle)? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(12, _liveHandle, ret, false, false); } #endif node = 67; break; case 29: ret = (this.foundItem)? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(13, _liveHandle, ret, false, false); } #endif node = 67; break; case 30: ret = (!this.doneWithCurrentAisle)? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(14, _liveHandle, ret, false, false); } #endif node = 67; break; case 31: do { ret = (this.CheckItemsOnNearAisles()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(15, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 67; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(15, _liveHandle, ret, false, false); } #endif break; case 32: ret = (this.foundAisle)? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(23, _liveHandle, ret, false, false); } #endif node = 68; break; case 33: ret = (!this.foundItem)? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(24, _liveHandle, ret, false, false); } #endif node = 68; break; case 34: ret = ((transform.position - (this.targetLocation).position).sqrMagnitude >= (9f))? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(33, _liveHandle, ret, false, false); } #endif node = 68; break; case 35: ret = (this.foundAisle)? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(18, _liveHandle, ret, false, false); } #endif node = 69; break; case 36: ret = (!this.foundItem)? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(19, _liveHandle, ret, false, false); } #endif node = 69; break; case 37: do { ret = (this.getItem()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(20, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 69; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(20, _liveHandle, ret, false, false); } #endif break; case 38: ret = (this.shoppingDone)? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(37, _liveHandle, ret, false, false); } #endif node = 53; break; case 39: ret = (!this.readyToCheckOut)? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(38, _liveHandle, ret, false, false); } #endif node = 53; break; case 40: do { ret = (this.MoveToEnd()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(36, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 53; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(36, _liveHandle, ret, false, false); } #endif break; case 41: ret = (this.readyToCheckOut)? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(42, _liveHandle, ret, false, false); } #endif node = 54; break; case 42: ret = (!this.doneCheckingOut)? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(34, _liveHandle, ret, false, false); } #endif node = 54; break; case 43: do { ret = (this.checkout()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(35, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 54; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(35, _liveHandle, ret, false, false); } #endif break; case 44: ret = (this.doneCheckingOut)? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(48, _liveHandle, ret, false, false); } #endif node = 55; break; case 45: ret = (!this.gone)? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(47, _liveHandle, ret, false, false); } #endif node = 55; break; case 46: do { ret = (this.MoveToExit()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(49, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 55; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(49, _liveHandle, ret, false, false); } #endif break; case 47: ret = (this.gone)? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(45, _liveHandle, ret, false, false); } #endif node = 56; break; case 48: do { ret = (this.Leave()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(44, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 56; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(44, _liveHandle, ret, false, false); } #endif break; } } while (node >= 0); yield return(null); }
private IEnumerator StateGen() { int node = 0; NodeVal ret = NodeVal.Error; _jmp = -1; comp_AudioSource = GetComponent<AudioSource>(); int n0c = -1; int n11c = -1; int n1c = -1; int n2c = -1; int n3c = -1; int n5c = -1; NodeVal n1_1r = NodeVal.Invalid; NodeVal n2_1r = NodeVal.Invalid; NodeVal n5_1r = NodeVal.Invalid; Vector3 v1 = Vector3.zero; valid = valid && (comp_AudioSource != null); if (!valid) { throw new BehaviourTreeException("Behaviour tree will not run. The GameObject has missing required components."); } do { switch (node) { case 0: #if UNITY_EDITOR if (_live != null) _live = _live.SetLiveValue(11, _liveHandle, NodeVal.Running, false, true); #endif n0c = 1; node = 1; break; case 19: if (_jmp >= 0) { node = _jmp; _jmp = -1; continue; } if(ret != NodeVal.Success) { if (++n0c > 3) { n0c = 1; node = 0; yield return null; } else { node = n0c; } } else { n0c = 1; node = 0; yield return null; } #if UNITY_EDITOR if (_live != null) _live = _live.SetLiveValue(11, _liveHandle, ret, true, false); #endif break; case 1: #if UNITY_EDITOR if (_live != null) _live = _live.SetLiveValue(0, _liveHandle, NodeVal.Running, false, false); #endif n1c = 4; node = 4; n1_1r = NodeVal.Success; break; case 20: n1_1r = (NodeVal)System.Math.Max((int)n1_1r, (int)ret); if (ret == NodeVal.Success && n1c < 5) { node = ++n1c; } else { n1c = 4; node = 19; ret = n1_1r; #if UNITY_EDITOR if (_live != null) _live = _live.SetLiveValue(0, _liveHandle, ret, false, false); #endif } break; case 2: #if UNITY_EDITOR if (_live != null) _live = _live.SetLiveValue(5, _liveHandle, NodeVal.Running, false, false); #endif n2c = 9; node = 9; n2_1r = NodeVal.Success; break; case 21: n2_1r = (NodeVal)System.Math.Max((int)n2_1r, (int)ret); if (ret == NodeVal.Success && n2c < 12) { node = ++n2c; } else { n2c = 9; node = 19; ret = n2_1r; #if UNITY_EDITOR if (_live != null) _live = _live.SetLiveValue(5, _liveHandle, ret, false, false); #endif } break; case 3: #if UNITY_EDITOR if (_live != null) _live = _live.SetLiveValue(16, _liveHandle, NodeVal.Running, false, false); #endif n3c = 15; node = 15; break; case 22: if(ret != NodeVal.Success) { if (++n3c > 18) { n3c = 15; node = 19; } else { node = n3c; } } else { n3c = 15; node = 19; } #if UNITY_EDITOR if (_live != null) _live = _live.SetLiveValue(16, _liveHandle, ret, false, false); #endif break; case 4: ret = (this.flowerHunting)? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) _live = _live.SetLiveValue(1, _liveHandle, ret, false, false); #endif node = 20; break; case 5: #if UNITY_EDITOR if (_live != null) _live = _live.SetLiveValue(2, _liveHandle, NodeVal.Running, false, false); #endif n5c = 6; node = 6; n5_1r = NodeVal.Success; break; case 24: n5_1r = (NodeVal)System.Math.Max((int)n5_1r, (int)ret); if (ret == NodeVal.Success && n5c < 8) { node = ++n5c; } else { n5c = 6; node = 20; ret = n5_1r; #if UNITY_EDITOR if (_live != null) _live = _live.SetLiveValue(2, _liveHandle, ret, false, false); #endif } break; case 6: do { ret = (this.Wander()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) _live = _live.SetLiveValue(4, _liveHandle, NodeVal.Running, true, false); #endif yield return null; } else { node = 24; break; } } while (true); #if UNITY_EDITOR if (_live != null) _live = _live.SetLiveValue(4, _liveHandle, ret, false, false); #endif break; case 7: do { v1 = this.wanderDir; transform.position = Vector3.MoveTowards(transform.position, v1, 1f * Time.deltaTime); ret = (transform.position == v1)? NodeVal.Success : NodeVal.Running; if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) _live = _live.SetLiveValue(3, _liveHandle, NodeVal.Running, true, false); #endif yield return null; } else { node = 24; break; } } while (true); #if UNITY_EDITOR if (_live != null) _live = _live.SetLiveValue(3, _liveHandle, ret, false, false); #endif break; case 8: do { ret = (this.FindFlower()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) _live = _live.SetLiveValue(17, _liveHandle, NodeVal.Running, true, false); #endif yield return null; } else { node = 24; break; } } while (true); #if UNITY_EDITOR if (_live != null) _live = _live.SetLiveValue(17, _liveHandle, ret, false, false); #endif break; case 9: ret = (!this.flowerHunting)? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) _live = _live.SetLiveValue(6, _liveHandle, ret, false, false); #endif node = 21; break; case 10: ret = (!this.hasNectar)? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) _live = _live.SetLiveValue(7, _liveHandle, ret, false, false); #endif node = 21; break; case 11: #if UNITY_EDITOR if (_live != null) _live = _live.SetLiveValue(8, _liveHandle, NodeVal.Running, false, false); #endif n11c = 13; node = 13; break; case 30: if(ret != NodeVal.Success) { if (++n11c > 14) { n11c = 13; node = 21; } else { node = n11c; } } else { n11c = 13; node = 21; } #if UNITY_EDITOR if (_live != null) _live = _live.SetLiveValue(8, _liveHandle, ret, false, false); #endif break; case 12: do { ret = (this.TakeNectar()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) _live = _live.SetLiveValue(10, _liveHandle, NodeVal.Running, true, false); #endif yield return null; } else { node = 21; break; } } while (true); #if UNITY_EDITOR if (_live != null) _live = _live.SetLiveValue(10, _liveHandle, ret, false, false); #endif break; case 13: ret = ((transform.position - (this.targetLoc).position).sqrMagnitude <= (0.0625f))? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) _live = _live.SetLiveValue(9, _liveHandle, ret, false, false); #endif node = 30; break; case 14: do { v1 = (this.targetLoc).position; transform.position = Vector3.MoveTowards(transform.position, v1, 1f * Time.deltaTime); ret = (transform.position == v1)? NodeVal.Success : NodeVal.Running; if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) _live = _live.SetLiveValue(13, _liveHandle, NodeVal.Running, true, false); #endif yield return null; } else { node = 30; break; } } while (true); ret = NodeVal.Success; #if UNITY_EDITOR if (_live != null) _live = _live.SetLiveValue(13, _liveHandle, ret, false, false); #endif break; case 15: ret = ((transform.position - new Vector3(0f, 4f, 0f)).sqrMagnitude <= (0.0625f))? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) _live = _live.SetLiveValue(14, _liveHandle, ret, false, false); #endif node = 22; break; case 16: do { v1 = new Vector3(0f, 4f, 0f); transform.position = Vector3.MoveTowards(transform.position, v1, 1f * Time.deltaTime); ret = (transform.position == v1)? NodeVal.Success : NodeVal.Running; if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) _live = _live.SetLiveValue(15, _liveHandle, NodeVal.Running, true, false); #endif yield return null; } else { node = 22; break; } } while (true); ret = NodeVal.Fail; #if UNITY_EDITOR if (_live != null) _live = _live.SetLiveValue(15, _liveHandle, ret, false, false); #endif break; case 17: do { ret = (this.DeliverNectar()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) _live = _live.SetLiveValue(18, _liveHandle, NodeVal.Running, true, false); #endif yield return null; } else { node = 22; break; } } while (true); #if UNITY_EDITOR if (_live != null) _live = _live.SetLiveValue(18, _liveHandle, ret, false, false); #endif break; case 18: comp_AudioSource.Play(); ret = NodeVal.Success; node = 22; #if UNITY_EDITOR if (_live != null) _live = _live.SetLiveValue(19, _liveHandle, ret, false, false); #endif break; } } while (node >= 0); yield return null; }
private IEnumerator StateGen() { int node = 0; NodeVal ret = NodeVal.Error; _jmp = -1; int n0c = -1; int n2c = -1; int n3c = -1; int n4c = -1; int n5c = -1; int n6c = -1; NodeVal n0_1r = NodeVal.Invalid; NodeVal n3_1r = NodeVal.Invalid; NodeVal n4_1r = NodeVal.Invalid; NodeVal n5_1r = NodeVal.Invalid; NodeVal n6_1r = NodeVal.Invalid; if (!valid) { throw new BehaviourTreeException("Behaviour tree will not run. The GameObject has missing required components."); } do { switch (node) { case 0: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(14, _liveHandle, NodeVal.Running, false, true); } #endif n0c = 1; node = 1; n0_1r = NodeVal.Success; break; case 15: if (_jmp >= 0) { node = _jmp; _jmp = -1; continue; } n0_1r = (NodeVal)System.Math.Max((int)n0_1r, (int)ret); if (ret == NodeVal.Success && n0c < 2) { node = ++n0c; } else { n0c = 1; node = 0; ret = n0_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(14, _liveHandle, ret, true, false); } #endif yield return(null); } break; case 1: ret = (this.GrowUp()); node = 15; ret = NodeVal.Success; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(10, _liveHandle, ret, false, false); } #endif break; case 2: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(9, _liveHandle, NodeVal.Running, false, false); } #endif n2c = 3; node = 3; break; case 17: if (ret != NodeVal.Success) { if (++n2c > 6) { n2c = 3; node = 15; } else { node = n2c; } } else { n2c = 3; node = 15; } #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(9, _liveHandle, ret, false, false); } #endif break; case 3: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(8, _liveHandle, NodeVal.Running, false, false); } #endif n3c = 7; node = 7; n3_1r = NodeVal.Success; break; case 18: n3_1r = (NodeVal)System.Math.Max((int)n3_1r, (int)ret); if (ret == NodeVal.Success && n3c < 8) { node = ++n3c; } else { n3c = 7; node = 17; ret = n3_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(8, _liveHandle, ret, false, false); } #endif } break; case 4: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(0, _liveHandle, NodeVal.Running, false, false); } #endif n4c = 9; node = 9; n4_1r = NodeVal.Success; break; case 19: n4_1r = (NodeVal)System.Math.Max((int)n4_1r, (int)ret); if (ret == NodeVal.Success && n4c < 10) { node = ++n4c; } else { n4c = 9; node = 17; ret = n4_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(0, _liveHandle, ret, false, false); } #endif } break; case 5: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(3, _liveHandle, NodeVal.Running, false, false); } #endif n5c = 11; node = 11; n5_1r = NodeVal.Success; break; case 20: n5_1r = (NodeVal)System.Math.Max((int)n5_1r, (int)ret); if (ret == NodeVal.Success && n5c < 12) { node = ++n5c; } else { n5c = 11; node = 17; ret = n5_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(3, _liveHandle, ret, false, false); } #endif } break; case 6: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(7, _liveHandle, NodeVal.Running, false, false); } #endif n6c = 13; node = 13; n6_1r = NodeVal.Success; break; case 21: n6_1r = (NodeVal)System.Math.Max((int)n6_1r, (int)ret); if (ret == NodeVal.Success && n6c < 14) { node = ++n6c; } else { n6c = 13; node = 17; ret = n6_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(7, _liveHandle, ret, false, false); } #endif } break; case 7: ret = (this.FindPredators()); node = 18; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(2, _liveHandle, ret, false, false); } #endif break; case 8: ret = (this.MoveToEscape()); node = 18; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(15, _liveHandle, ret, false, false); } #endif break; case 9: ret = (this.FindMate()); node = 19; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(1, _liveHandle, ret, false, false); } #endif break; case 10: ret = (this.MoveToMate()); node = 19; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(11, _liveHandle, ret, false, false); } #endif break; case 11: ret = (this.FindPreys()); node = 20; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(4, _liveHandle, ret, false, false); } #endif break; case 12: ret = (this.MoveToPrey()); node = 20; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(12, _liveHandle, ret, false, false); } #endif break; case 13: ret = (this.Wander()); node = 21; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(6, _liveHandle, ret, false, false); } #endif break; case 14: ret = (this.MoveToWander()); node = 21; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(13, _liveHandle, ret, false, false); } #endif break; } } while (node >= 0); yield return(null); }
private IEnumerator StateGen() { int node = 0; NodeVal ret = NodeVal.Error; _jmp = -1; comp_Animator = GetComponent <Animator>(); comp_navMeshAgent = GetComponent <UnityEngine.AI.NavMeshAgent>(); float f1 = 0.0f; int n0c = -1; int n1_1i = 0; NodeVal n0_1r = NodeVal.Invalid; NodeVal r1 = NodeVal.Invalid; NodeVal r2 = NodeVal.Invalid; valid = valid && (comp_Animator != null); valid = valid && (comp_navMeshAgent != null); if (!valid) { throw new BehaviourTreeException("Behaviour tree will not run. The GameObject has missing required components."); } do { switch (node) { case 0: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(1, _liveHandle, NodeVal.Running, false, true); } #endif n0c = 1; node = 1; n0_1r = NodeVal.Success; break; case 12: if (_jmp >= 0) { node = _jmp; _jmp = -1; continue; } n0_1r = (NodeVal)System.Math.Max((int)n0_1r, (int)ret); if (ret == NodeVal.Success && n0c < 3) { node = ++n0c; } else { n0c = 1; node = 0; ret = n0_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(1, _liveHandle, ret, true, false); } #endif yield return(null); } break; case 1: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(8, _liveHandle, NodeVal.Running, false, false); } #endif do { node = UnityEngine.Random.Range(4, 10); } while (n1_1i == node); n1_1i = node; break; case 13: node = 12; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(8, _liveHandle, ret, false, false); } #endif break; case 2: if (!comp_navMeshAgent.SetDestination((this.Target).position)) { node = 12; ret = NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(9, _liveHandle, ret, false, false); } #endif break; } do { ret = (comp_navMeshAgent.pathPending || comp_navMeshAgent.remainingDistance > comp_navMeshAgent.stoppingDistance || comp_navMeshAgent.velocity.sqrMagnitude != 0f)? NodeVal.Running : NodeVal.Success; if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(9, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 12; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(9, _liveHandle, ret, false, false); } #endif break; case 3: f1 = Time.time; r1 = NodeVal.Running; r2 = NodeVal.Running; ret = NodeVal.Success; do { if (r1 == NodeVal.Running) { /* Animation */ comp_Animator.SetTrigger("Tip"); r1 = NodeVal.Success; } ret = r1; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(11, _liveHandle, r1, false, false); } #endif if (r2 == NodeVal.Running) { /* Wait */ r2 = ((Time.time - f1) > 2f)? NodeVal.Success : NodeVal.Running; } ret = (NodeVal)System.Math.Max((int)r2, (int)ret); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(12, _liveHandle, r2, false, false); } #endif if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(10, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 12; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(10, _liveHandle, ret, false, false); } #endif break; case 4: this.Target = this.Target1; ret = NodeVal.Success; node = 13; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(7, _liveHandle, ret, false, false); } #endif break; case 5: this.Target = this.Target2; ret = NodeVal.Success; node = 13; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(6, _liveHandle, ret, false, false); } #endif break; case 6: this.Target = this.Target3; ret = NodeVal.Success; node = 13; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(5, _liveHandle, ret, false, false); } #endif break; case 7: this.Target = this.Target4; ret = NodeVal.Success; node = 13; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(2, _liveHandle, ret, false, false); } #endif break; case 8: this.Target = this.Target5; ret = NodeVal.Success; node = 13; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(3, _liveHandle, ret, false, false); } #endif break; case 9: this.Target = this.Target6; ret = NodeVal.Success; node = 13; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(4, _liveHandle, ret, false, false); } #endif break; } } while (node >= 0); yield return(null); }
private IEnumerator StateGen() { int node = 0; NodeVal ret = NodeVal.Error; _jmp = -1; comp_Animator = GetComponent <Animator>(); float f1 = 0.0f; float f2 = 0.0f; int n0c = -1; NodeVal n0r = NodeVal.Invalid; valid = valid && (comp_Animator != null); if (!valid) { throw new BehaviourTreeException("Behaviour tree will not run. The GameObject has missing required components."); } do { switch (node) { case 0: /* Sequence */ #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(0, _liveHandle, NodeVal.Running, false, true); } #endif n0c = 1; node = 1; n0r = NodeVal.Success; break; case 3: /* Sequence */ if (_jmp >= 0) { node = _jmp; _jmp = -1; continue; } n0r = (NodeVal)System.Math.Max((int)n0r, (int)ret); if ((ret == NodeVal.Running || ret == NodeVal.Success) && n0c < 2) { node = ++n0c; } else { n0c = 1; node = 0; ret = n0r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(0, _liveHandle, ret, true, false); } #endif } yield return(null); break; case 1: /* Wait */ f1 = Time.time; f2 = UnityEngine.Random.Range(5f, 10f); do { ret = ((Time.time - f1) > f2)? NodeVal.Success : NodeVal.Running; if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(1, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 3; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(1, _liveHandle, ret, false, false); } #endif break; case 2: /* Say miow */ comp_Animator.SetTrigger("Miow"); ret = NodeVal.Success; node = 3; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(3, _liveHandle, ret, false, false); } #endif break; } } while (node >= 0); yield return(null); }
private IEnumerator StateGen() { int node = 0; NodeVal ret = NodeVal.Error; _jmp = -1; comp_Walker = GetComponent <Walker>(); int n0_1n = 0; int n15c = -1; int n1c = -1; int n21c = -1; int n27c = -1; int n3c = -1; int n4c = -1; int n5c = -1; int n6c = -1; int n7c = -1; int n9c = -1; NodeVal n15_1r = NodeVal.Invalid; NodeVal n21_1r = NodeVal.Invalid; NodeVal n27_1r = NodeVal.Invalid; NodeVal n3_1r = NodeVal.Invalid; NodeVal n9_1r = NodeVal.Invalid; valid = valid && (comp_Walker != null); if (!valid) { throw new BehaviourTreeException("Behaviour tree will not run. The GameObject has missing required components."); } do { switch (node) { case 0: n0_1n = 0; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(26, _liveHandle, NodeVal.Running, false, true); } #endif node = 1; break; case 31: if (_jmp >= 0) { node = _jmp; _jmp = -1; continue; } if (++n0_1n >= 0) { node = 0; n0_1n = 0; } else { node = 1; ret = NodeVal.Running; } #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(26, _liveHandle, ret, true, false); } #endif yield return(null); break; case 1: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(28, _liveHandle, NodeVal.Running, false, false); } #endif n1c = 2; node = 2; break; case 32: if (ret != NodeVal.Success) { if (++n1c > 3) { n1c = 2; node = 31; } else { node = n1c; } } else { n1c = 2; node = 31; } #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(28, _liveHandle, ret, false, false); } #endif break; case 2: ret = (!comp_Walker.active)? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(29, _liveHandle, ret, false, false); } #endif node = 32; break; case 3: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(27, _liveHandle, NodeVal.Running, false, false); } #endif n3c = 4; node = 4; n3_1r = NodeVal.Success; break; case 34: n3_1r = (NodeVal)System.Math.Max((int)n3_1r, (int)ret); if (ret == NodeVal.Success && n3c < 7) { node = ++n3c; } else { n3c = 4; node = 32; ret = n3_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(27, _liveHandle, ret, false, false); } #endif } break; case 4: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(22, _liveHandle, NodeVal.Running, false, false); } #endif n4c = 8; node = 8; break; case 35: if (ret != NodeVal.Success) { if (++n4c > 9) { n4c = 8; node = 34; } else { node = n4c; } } else { n4c = 8; node = 34; } #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(22, _liveHandle, ret, false, false); } #endif break; case 5: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(13, _liveHandle, NodeVal.Running, false, false); } #endif n5c = 14; node = 14; break; case 36: if (ret != NodeVal.Success) { if (++n5c > 15) { n5c = 14; node = 34; } else { node = n5c; } } else { n5c = 14; node = 34; } #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(13, _liveHandle, ret, false, false); } #endif break; case 6: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(9, _liveHandle, NodeVal.Running, false, false); } #endif n6c = 20; node = 20; break; case 37: if (ret != NodeVal.Success) { if (++n6c > 21) { n6c = 20; node = 34; } else { node = n6c; } } else { n6c = 20; node = 34; } #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(9, _liveHandle, ret, false, false); } #endif break; case 7: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(10, _liveHandle, NodeVal.Running, false, false); } #endif n7c = 26; node = 26; break; case 38: if (ret != NodeVal.Success) { if (++n7c > 27) { n7c = 26; node = 34; } else { node = n7c; } } else { n7c = 26; node = 34; } #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(10, _liveHandle, ret, false, false); } #endif break; case 8: ret = (comp_Walker.worked)? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(19, _liveHandle, ret, false, false); } #endif node = 35; break; case 9: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(23, _liveHandle, NodeVal.Running, false, false); } #endif n9c = 10; node = 10; n9_1r = NodeVal.Success; break; case 40: n9_1r = (NodeVal)System.Math.Max((int)n9_1r, (int)ret); if (ret == NodeVal.Success && n9c < 13) { node = ++n9c; } else { n9c = 10; node = 35; ret = n9_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(23, _liveHandle, ret, false, false); } #endif } break; case 10: do { ret = (this.goToWork()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(18, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 40; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(18, _liveHandle, ret, false, false); } #endif break; case 11: do { ret = (this.moveToWaypoint()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(17, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 40; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(17, _liveHandle, ret, false, false); } #endif break; case 12: do { ret = (this.enterWork()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(24, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 40; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(24, _liveHandle, ret, false, false); } #endif break; case 13: do { ret = (this.deactive()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(25, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 40; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(25, _liveHandle, ret, false, false); } #endif break; case 14: ret = (comp_Walker.eaten)? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(21, _liveHandle, ret, false, false); } #endif node = 36; break; case 15: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(20, _liveHandle, NodeVal.Running, false, false); } #endif n15c = 16; node = 16; n15_1r = NodeVal.Success; break; case 46: n15_1r = (NodeVal)System.Math.Max((int)n15_1r, (int)ret); if (ret == NodeVal.Success && n15c < 19) { node = ++n15c; } else { n15c = 16; node = 36; ret = n15_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(20, _liveHandle, ret, false, false); } #endif } break; case 16: do { ret = (this.listenForThings()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(14, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 46; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(14, _liveHandle, ret, false, false); } #endif break; case 17: do { ret = (this.moveToWaypoint()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(15, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 46; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(15, _liveHandle, ret, false, false); } #endif break; case 18: do { ret = (this.enterStore()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(30, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 46; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(30, _liveHandle, ret, false, false); } #endif break; case 19: do { ret = (this.deactive()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(31, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 46; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(31, _liveHandle, ret, false, false); } #endif break; case 20: ret = (comp_Walker.atHome)? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(16, _liveHandle, ret, false, false); } #endif node = 37; break; case 21: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(8, _liveHandle, NodeVal.Running, false, false); } #endif n21c = 22; node = 22; n21_1r = NodeVal.Success; break; case 52: n21_1r = (NodeVal)System.Math.Max((int)n21_1r, (int)ret); if (ret == NodeVal.Success && n21c < 25) { node = ++n21c; } else { n21c = 22; node = 37; ret = n21_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(8, _liveHandle, ret, false, false); } #endif } break; case 22: do { ret = (this.goHome()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(7, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 52; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(7, _liveHandle, ret, false, false); } #endif break; case 23: do { ret = (this.moveToWaypoint()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(6, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 52; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(6, _liveHandle, ret, false, false); } #endif break; case 24: do { ret = (this.checkPrice()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(5, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 52; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(5, _liveHandle, ret, false, false); } #endif break; case 25: do { ret = (this.deactive()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(4, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 52; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(4, _liveHandle, ret, false, false); } #endif break; case 26: ret = (comp_Walker.haveHome)? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(11, _liveHandle, ret, false, false); } #endif node = 38; break; case 27: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(12, _liveHandle, NodeVal.Running, false, false); } #endif n27c = 28; node = 28; n27_1r = NodeVal.Success; break; case 58: n27_1r = (NodeVal)System.Math.Max((int)n27_1r, (int)ret); if (ret == NodeVal.Success && n27c < 30) { node = ++n27c; } else { n27c = 28; node = 38; ret = n27_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(12, _liveHandle, ret, false, false); } #endif } break; case 28: do { ret = (this.leave()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(3, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 58; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(3, _liveHandle, ret, false, false); } #endif break; case 29: do { ret = (this.moveToWaypoint()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(2, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 58; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(2, _liveHandle, ret, false, false); } #endif break; case 30: do { ret = (this.deactive()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(1, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 58; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(1, _liveHandle, ret, false, false); } #endif break; } } while (node >= 0); yield return(null); }
private IEnumerator StateGen() { int node = 0; NodeVal ret = NodeVal.Error; _jmp = -1; comp_Animator = GetComponent <Animator>(); float f1 = 0.0f; int n0c = -1; int n1c = -1; int n2c = -1; int n4c = -1; NodeVal n1_1r = NodeVal.Invalid; NodeVal n2_1r = NodeVal.Invalid; NodeVal n4_1r = NodeVal.Invalid; NodeVal r1 = NodeVal.Invalid; NodeVal r2 = NodeVal.Invalid; Vector3 v1 = Vector3.zero; valid = valid && (comp_Animator != null); if (!valid) { throw new BehaviourTreeException("Behaviour tree will not run. The GameObject has missing required components."); } do { switch (node) { case 0: /* Root selector */ #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(4, _liveHandle, NodeVal.Running, false, true); } #endif n0c = 1; node = 1; break; case 11: /* Root selector */ if (_jmp >= 0) { node = _jmp; _jmp = -1; continue; } if (ret != NodeVal.Success) { if (++n0c > 2) { n0c = 1; node = 0; } else { node = n0c; } } else { n0c = 1; node = 0; } #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(4, _liveHandle, ret, true, false); } #endif yield return(null); break; case 1: /* Hit sequence */ #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(2, _liveHandle, NodeVal.Running, false, false); } #endif n1c = 3; node = 3; n1_1r = NodeVal.Success; break; case 12: /* Hit sequence */ n1_1r = (NodeVal)System.Math.Max((int)n1_1r, (int)ret); if ((ret == NodeVal.Running || ret == NodeVal.Success) && n1c < 4) { node = ++n1c; } else { n1c = 3; node = 11; ret = n1_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(2, _liveHandle, ret, false, false); } #endif } break; case 2: /* Idle sequence */ #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(3, _liveHandle, NodeVal.Running, false, false); } #endif n2c = 9; node = 9; n2_1r = NodeVal.Success; break; case 13: /* Idle sequence */ n2_1r = (NodeVal)System.Math.Max((int)n2_1r, (int)ret); if ((ret == NodeVal.Running || ret == NodeVal.Success) && n2c < 10) { node = ++n2c; } else { n2c = 9; node = 11; ret = n2_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(3, _liveHandle, ret, false, false); } #endif } break; case 3: /* Condition */ ret = (this.IsHit(true))? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(7, _liveHandle, ret, false, false); } #endif node = 12; break; case 4: /* Recoil sequence */ #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(6, _liveHandle, NodeVal.Running, false, false); } #endif n4c = 5; node = 5; n4_1r = NodeVal.Success; break; case 15: /* Recoil sequence */ n4_1r = (NodeVal)System.Math.Max((int)n4_1r, (int)ret); if ((ret == NodeVal.Running || ret == NodeVal.Success) && n4c < 6) { node = ++n4c; } else { n4c = 5; node = 12; ret = n4_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(6, _liveHandle, ret, false, false); } #endif } break; case 5: /* Move */ f1 = Time.time; do { v1 = this.MousePosition(); transform.position = Vector3.MoveTowards(transform.position, v1, -3f * Time.deltaTime); ret = (transform.position == v1)? NodeVal.Success : NodeVal.Running; if (ret == NodeVal.Running) { if ((Time.time - f1) > 0.3f) { ret = NodeVal.Success; node = 15; yield return(null); break; } #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(11, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 15; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(11, _liveHandle, ret, false, false); } #endif break; case 6: /* Parallel 1 */ f1 = Time.time; r1 = NodeVal.Running; r2 = NodeVal.Running; ret = NodeVal.Success; do { if (r1 == NodeVal.Running) { /* Animation */ comp_Animator.SetTrigger("Stun"); r1 = NodeVal.Success; } ret = r1; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(8, _liveHandle, r1, false, false); } #endif if (r2 == NodeVal.Running) { /* Wait 1 */ r2 = ((Time.time - f1) > 0.75f)? NodeVal.Success : NodeVal.Running; } ret = (NodeVal)System.Math.Max((int)r2, (int)ret); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(10, _liveHandle, r2, false, false); } #endif if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(9, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 15; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(9, _liveHandle, ret, false, false); } #endif break; case 9: /* Action */ do { ret = (this.ChooseWanderTarget()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(1, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 13; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(1, _liveHandle, ret, false, false); } #endif break; case 10: /* Move to wander target */ do { v1 = this.WanderTarget; transform.position = Vector3.MoveTowards(transform.position, v1, 0.7f * Time.deltaTime); ret = (transform.position == v1)? NodeVal.Success : NodeVal.Running; if (ret == NodeVal.Running) { if (this.IsHit(false)) { node = 0; yield return(null); break; } #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(5, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 13; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(5, _liveHandle, ret, false, false); } #endif break; } } while (node >= 0); yield return(null); }
private IEnumerator StateGen() { int node = 0; NodeVal ret = NodeVal.Error; _jmp = -1; float f1 = 0.0f; int n0c = -1; int n14c = -1; int n15c = -1; int n16c = -1; int n1c = -1; int n2c = -1; int n36c = -1; int n3c = -1; int n42c = -1; int n43c = -1; int n4c = -1; int n5c = -1; int n6c = -1; NodeVal n1_1r = NodeVal.Invalid; NodeVal n15_1r = NodeVal.Invalid; NodeVal n16_1r = NodeVal.Invalid; NodeVal n2_1r = NodeVal.Invalid; NodeVal n3_1r = NodeVal.Invalid; NodeVal n36_1r = NodeVal.Invalid; NodeVal n4_1r = NodeVal.Invalid; NodeVal n42_1r = NodeVal.Invalid; NodeVal n43_1r = NodeVal.Invalid; NodeVal n5_1r = NodeVal.Invalid; NodeVal n6_1r = NodeVal.Invalid; Vector3 v1 = Vector3.zero; if (!valid) { throw new BehaviourTreeException("Behaviour tree will not run. The GameObject has missing required components."); } do { switch (node) { case 0: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(2, _liveHandle, NodeVal.Running, false, true); } #endif n0c = 1; node = 1; break; case 50: if (_jmp >= 0) { node = _jmp; _jmp = -1; continue; } if (ret != NodeVal.Success) { if (++n0c > 7) { n0c = 1; node = 0; yield return(null); } else { node = n0c; } } else { n0c = 1; node = 0; yield return(null); } #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(2, _liveHandle, ret, true, false); } #endif break; case 1: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(64, _liveHandle, NodeVal.Running, false, false); } #endif n1c = 8; node = 8; n1_1r = NodeVal.Success; break; case 51: n1_1r = (NodeVal)System.Math.Max((int)n1_1r, (int)ret); if (ret == NodeVal.Success && n1c < 12) { node = ++n1c; } else { n1c = 8; node = 50; ret = n1_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(64, _liveHandle, ret, false, false); } #endif } break; case 2: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(68, _liveHandle, NodeVal.Running, false, false); } #endif n2c = 13; node = 13; n2_1r = NodeVal.Success; break; case 52: n2_1r = (NodeVal)System.Math.Max((int)n2_1r, (int)ret); if (ret == NodeVal.Success && n2c < 14) { node = ++n2c; } else { n2c = 13; node = 50; ret = n2_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(68, _liveHandle, ret, false, false); } #endif } break; case 3: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(72, _liveHandle, NodeVal.Running, false, false); } #endif n3c = 23; node = 23; n3_1r = NodeVal.Success; break; case 53: n3_1r = (NodeVal)System.Math.Max((int)n3_1r, (int)ret); if (ret == NodeVal.Success && n3c < 27) { node = ++n3c; } else { n3c = 23; node = 50; ret = n3_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(72, _liveHandle, ret, false, false); } #endif } break; case 4: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(57, _liveHandle, NodeVal.Running, false, false); } #endif n4c = 28; node = 28; n4_1r = NodeVal.Success; break; case 54: n4_1r = (NodeVal)System.Math.Max((int)n4_1r, (int)ret); if (ret == NodeVal.Success && n4c < 33) { node = ++n4c; } else { n4c = 28; node = 50; ret = n4_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(57, _liveHandle, ret, false, false); } #endif } break; case 5: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(50, _liveHandle, NodeVal.Running, false, false); } #endif n5c = 34; node = 34; n5_1r = NodeVal.Success; break; case 55: n5_1r = (NodeVal)System.Math.Max((int)n5_1r, (int)ret); if (ret == NodeVal.Success && n5c < 36) { node = ++n5c; } else { n5c = 34; node = 50; ret = n5_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(50, _liveHandle, ret, false, false); } #endif } break; case 6: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(51, _liveHandle, NodeVal.Running, false, false); } #endif n6c = 39; node = 39; n6_1r = NodeVal.Success; break; case 56: n6_1r = (NodeVal)System.Math.Max((int)n6_1r, (int)ret); if (ret == NodeVal.Success && n6c < 41) { node = ++n6c; } else { n6c = 39; node = 50; ret = n6_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(51, _liveHandle, ret, false, false); } #endif } break; case 7: do { ret = (this.LightRemotePos()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(61, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 50; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(61, _liveHandle, ret, false, false); } #endif break; case 8: ret = (this.hasRemote)? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(19, _liveHandle, ret, false, false); } #endif node = 51; break; case 9: f1 = Time.time; do { ret = ((Time.time - f1) > 1f)? NodeVal.Success : NodeVal.Running; if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(20, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 51; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(20, _liveHandle, ret, false, false); } #endif break; case 10: do { ret = (this.ChangeAC()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(8, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 51; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(8, _liveHandle, ret, false, false); } #endif break; case 11: f1 = Time.time; do { ret = ((Time.time - f1) > 1f)? NodeVal.Success : NodeVal.Running; if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(22, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 51; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(22, _liveHandle, ret, false, false); } #endif break; case 12: do { ret = (this.ThrowRemote()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(21, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 51; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(21, _liveHandle, ret, false, false); } #endif break; case 13: ret = (!this.isACGood())? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(65, _liveHandle, ret, false, false); } #endif node = 52; break; case 14: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(73, _liveHandle, NodeVal.Running, false, false); } #endif n14c = 15; node = 15; break; case 64: if (ret != NodeVal.Success) { if (++n14c > 16) { n14c = 15; node = 52; } else { node = n14c; } } else { n14c = 15; node = 52; } #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(73, _liveHandle, ret, false, false); } #endif break; case 15: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(74, _liveHandle, NodeVal.Running, false, false); } #endif n15c = 17; node = 17; n15_1r = NodeVal.Success; break; case 65: n15_1r = (NodeVal)System.Math.Max((int)n15_1r, (int)ret); if (ret == NodeVal.Success && n15c < 19) { node = ++n15c; } else { n15c = 17; node = 64; ret = n15_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(74, _liveHandle, ret, false, false); } #endif } break; case 16: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(75, _liveHandle, NodeVal.Running, false, false); } #endif n16c = 20; node = 20; n16_1r = NodeVal.Success; break; case 66: n16_1r = (NodeVal)System.Math.Max((int)n16_1r, (int)ret); if (ret == NodeVal.Success && n16c < 22) { node = ++n16c; } else { n16c = 20; node = 64; ret = n16_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(75, _liveHandle, ret, false, false); } #endif } break; case 17: ret = (this.IsLightOn())? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(77, _liveHandle, ret, false, false); } #endif node = 65; break; case 18: ret = ((transform.position - this.RemoteLoc).sqrMagnitude <= (9f))? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(78, _liveHandle, ret, false, false); } #endif node = 65; break; case 19: do { ret = (this.PickUpRemote()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(76, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 65; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(76, _liveHandle, ret, false, false); } #endif break; case 20: ret = (!this.IsLightOn())? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(79, _liveHandle, ret, false, false); } #endif node = 66; break; case 21: ret = ((transform.position - this.RemoteLoc).sqrMagnitude <= (1f))? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(80, _liveHandle, ret, false, false); } #endif node = 66; break; case 22: do { ret = (this.PickUpRemote()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(81, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 66; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(81, _liveHandle, ret, false, false); } #endif break; case 23: ret = (this.isACGood())? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(41, _liveHandle, ret, false, false); } #endif node = 53; break; case 24: ret = (!this.IsLightOn())? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(40, _liveHandle, ret, false, false); } #endif node = 53; break; case 25: ret = (!this.AreYouInBed())? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(15, _liveHandle, ret, false, false); } #endif node = 53; break; case 26: do { ret = (this.FindBed()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(16, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 53; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(16, _liveHandle, ret, false, false); } #endif break; case 27: v1 = this.TargetLoc; transform.position = Vector3.MoveTowards(transform.position, v1, 2f * Time.deltaTime); ret = (transform.position == v1)? NodeVal.Success : NodeVal.Running; node = 53; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(63, _liveHandle, ret, false, false); } #endif break; case 28: ret = (this.isACGood())? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(56, _liveHandle, ret, false, false); } #endif node = 54; break; case 29: ret = (this.IsLightOn())? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(55, _liveHandle, ret, false, false); } #endif node = 54; break; case 30: do { ret = (this.FindLight()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(54, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 54; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(54, _liveHandle, ret, false, false); } #endif break; case 31: v1 = this.TargetLoc; transform.position = Vector3.MoveTowards(transform.position, v1, 2f * Time.deltaTime); ret = (transform.position == v1)? NodeVal.Success : NodeVal.Running; node = 54; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(45, _liveHandle, ret, false, false); } #endif break; case 32: ret = ((transform.position - this.LightLoc).sqrMagnitude <= (1f))? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(43, _liveHandle, ret, false, false); } #endif node = 54; break; case 33: do { ret = (this.TurnOffLight()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(44, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 54; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(44, _liveHandle, ret, false, false); } #endif break; case 34: ret = (!this.isACGood())? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(49, _liveHandle, ret, false, false); } #endif node = 55; break; case 35: ret = (this.IsLightOn())? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(48, _liveHandle, ret, false, false); } #endif node = 55; break; case 36: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(60, _liveHandle, NodeVal.Running, false, false); } #endif n36c = 37; node = 37; n36_1r = NodeVal.Success; break; case 86: n36_1r = (NodeVal)System.Math.Max((int)n36_1r, (int)ret); if (ret == NodeVal.Success && n36c < 38) { node = ++n36c; } else { n36c = 37; node = 55; ret = n36_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(60, _liveHandle, ret, false, false); } #endif } break; case 37: ret = (this.Search()); node = 86; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(66, _liveHandle, ret, false, false); } #endif break; case 38: do { v1 = this.SearchDir; transform.position = Vector3.MoveTowards(transform.position, v1, 2f * Time.deltaTime); ret = (transform.position == v1)? NodeVal.Success : NodeVal.Running; if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(82, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 86; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(82, _liveHandle, ret, false, false); } #endif break; case 39: ret = (!this.isACGood())? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(53, _liveHandle, ret, false, false); } #endif node = 56; break; case 40: ret = (!this.IsLightOn())? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(52, _liveHandle, ret, false, false); } #endif node = 56; break; case 41: f1 = UnityEngine.Random.Range(0.0f, 1.0f); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(62, _liveHandle, NodeVal.Running, false, false); } #endif if (f1 <= 0.8f) { node = 42; } else { node = 43; } break; case 91: node = 56; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(62, _liveHandle, ret, false, false); } #endif break; case 42: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(69, _liveHandle, NodeVal.Running, false, false); } #endif n42c = 44; node = 44; n42_1r = NodeVal.Success; break; case 92: n42_1r = (NodeVal)System.Math.Max((int)n42_1r, (int)ret); if (ret == NodeVal.Success && n42c < 45) { node = ++n42c; } else { n42c = 44; node = 91; ret = n42_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(69, _liveHandle, ret, false, false); } #endif } break; case 43: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(67, _liveHandle, NodeVal.Running, false, false); } #endif n43c = 46; node = 46; n43_1r = NodeVal.Success; break; case 93: n43_1r = (NodeVal)System.Math.Max((int)n43_1r, (int)ret); if (ret == NodeVal.Success && n43c < 49) { node = ++n43c; } else { n43c = 46; node = 91; ret = n43_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(67, _liveHandle, ret, false, false); } #endif } break; case 44: ret = (this.Search()); node = 92; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(70, _liveHandle, ret, false, false); } #endif break; case 45: do { v1 = this.SearchDir; transform.position = Vector3.MoveTowards(transform.position, v1, 2f * Time.deltaTime); ret = (transform.position == v1)? NodeVal.Success : NodeVal.Running; if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(71, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 92; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(71, _liveHandle, ret, false, false); } #endif break; case 46: f1 = Time.time; do { ret = ((Time.time - f1) > 1f)? NodeVal.Success : NodeVal.Running; if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(58, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 93; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(58, _liveHandle, ret, false, false); } #endif break; case 47: do { ret = (this.FindLight()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(59, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 93; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(59, _liveHandle, ret, false, false); } #endif break; case 48: do { v1 = this.TargetLoc; transform.position = Vector3.MoveTowards(transform.position, v1, 2f * Time.deltaTime); ret = (transform.position == v1)? NodeVal.Success : NodeVal.Running; if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(46, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 93; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(46, _liveHandle, ret, false, false); } #endif break; case 49: do { ret = (this.TurnOnLight()); if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(47, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 93; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(47, _liveHandle, ret, false, false); } #endif break; } } while (node >= 0); yield return(null); }
private IEnumerator StateGen() { int node = 0; NodeVal ret = NodeVal.Error; _jmp = -1; comp_Animator = GetComponent <Animator>(); float f1 = 0.0f; int n0_1i = 0; int n10c = -1; int n1c = -1; int n25c = -1; int n26c = -1; int n2c = -1; int n3c = -1; int n4c = -1; int n9c = -1; NodeVal n1_1r = NodeVal.Invalid; NodeVal n10_1r = NodeVal.Invalid; NodeVal n2_1r = NodeVal.Invalid; NodeVal n26_1r = NodeVal.Invalid; NodeVal n3_1r = NodeVal.Invalid; NodeVal n4_1r = NodeVal.Invalid; NodeVal r1 = NodeVal.Invalid; NodeVal r2 = NodeVal.Invalid; NodeVal r3 = NodeVal.Invalid; NodeVal r4 = NodeVal.Invalid; NodeVal r5 = NodeVal.Invalid; Vector3 v1 = Vector3.zero; valid = valid && (comp_Animator != null); if (!valid) { throw new BehaviourTreeException("Behaviour tree will not run. The GameObject has missing required components."); } do { switch (node) { case 0: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(23, _liveHandle, NodeVal.Running, false, true); } #endif n0_1i = 0; node = EvalMouseBehaviourPicker(ref n0_1i); break; case 30: if (_jmp >= 0) { node = _jmp; _jmp = -1; continue; } if (!(ret == NodeVal.Success || ret == NodeVal.Running) && n0_1i != 15) { node = EvalMouseBehaviourPicker(ref n0_1i); break; } node = 0; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(23, _liveHandle, ret, true, false); } #endif yield return(null); break; case 1: _pubState = PubState.FleeFromCat; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(30, _liveHandle, NodeVal.Running, false, false); } #endif n1c = 5; node = 5; n1_1r = NodeVal.Success; break; case 31: n1_1r = (NodeVal)System.Math.Max((int)n1_1r, (int)ret); if (ret == NodeVal.Success && n1c < 6) { node = ++n1c; } else { n1c = 5; node = 30; ret = n1_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(30, _liveHandle, ret, false, false); } #endif } break; case 2: _pubState = PubState.GetCheese; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(29, _liveHandle, NodeVal.Running, false, false); } #endif n2c = 7; node = 7; n2_1r = NodeVal.Success; break; case 32: n2_1r = (NodeVal)System.Math.Max((int)n2_1r, (int)ret); if (ret == NodeVal.Success && n2c < 9) { node = ++n2c; } else { n2c = 7; node = 30; ret = n2_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(29, _liveHandle, ret, false, false); } #endif } break; case 3: _pubState = PubState.Idle; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(8, _liveHandle, NodeVal.Running, false, false); } #endif n3c = 14; node = 14; n3_1r = NodeVal.Success; break; case 33: n3_1r = (NodeVal)System.Math.Max((int)n3_1r, (int)ret); if (ret == NodeVal.Success && n3c < 18) { node = ++n3c; } else { n3c = 14; node = 30; ret = n3_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(8, _liveHandle, ret, false, false); } #endif } break; case 4: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(9, _liveHandle, NodeVal.Running, false, false); } #endif n4c = 24; node = 24; n4_1r = NodeVal.Success; break; case 34: n4_1r = (NodeVal)System.Math.Max((int)n4_1r, (int)ret); if (ret == NodeVal.Success && n4c < 25) { node = ++n4c; } else { n4c = 24; node = 30; ret = n4_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(9, _liveHandle, ret, false, false); } #endif } break; case 5: ret = (this.SignalBehaviourOnScreen("Flee from cat")); node = 31; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(25, _liveHandle, ret, false, false); } #endif break; case 6: f1 = Time.time; do { v1 = this.CatPosition(); transform.position = Vector3.MoveTowards(transform.position, v1, -2f * Time.deltaTime); ret = (transform.position == v1)? NodeVal.Success : NodeVal.Running; if (ret == NodeVal.Running) { if ((Time.time - f1) > 1f) { ret = NodeVal.Success; node = 31; yield return(null); break; } #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(26, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 31; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(26, _liveHandle, ret, false, false); } #endif break; case 7: ret = (this.CheeseIsAvailable())? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(28, _liveHandle, ret, false, false); } #endif node = 32; break; case 8: ret = (this.SignalBehaviourOnScreen("Getting cheese")); node = 32; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(27, _liveHandle, ret, false, false); } #endif break; case 9: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(10, _liveHandle, NodeVal.Running, false, false); } #endif n9c = 10; node = 10; break; case 39: if (ret != NodeVal.Success) { if (++n9c > 11) { n9c = 10; node = 32; } else { node = n9c; } } else { n9c = 10; node = 32; } #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(10, _liveHandle, ret, false, false); } #endif break; case 10: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(11, _liveHandle, NodeVal.Running, false, false); } #endif n10c = 12; node = 12; n10_1r = NodeVal.Success; break; case 40: n10_1r = (NodeVal)System.Math.Max((int)n10_1r, (int)ret); if (ret == NodeVal.Success && n10c < 13) { node = ++n10c; } else { n10c = 12; node = 39; ret = n10_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(11, _liveHandle, ret, false, false); } #endif } break; case 11: v1 = this.ClosestCheese(); transform.position = Vector3.MoveTowards(transform.position, v1, 1.2f * Time.deltaTime); ret = (transform.position == v1)? NodeVal.Success : NodeVal.Running; node = 39; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(12, _liveHandle, ret, false, false); } #endif break; case 12: ret = ((transform.position - this.ClosestCheese()).sqrMagnitude < (0f))? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(13, _liveHandle, ret, false, false); } #endif node = 40; break; case 13: ret = (this.EatClosestCheese()); node = 40; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(14, _liveHandle, ret, false, false); } #endif break; case 14: ret = (this.SignalBehaviourOnScreen("Attack! (Rush at cat)")); node = 33; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(2, _liveHandle, ret, false, false); } #endif break; case 15: do { v1 = this.CatPosition(); transform.position = Vector3.MoveTowards(transform.position, v1, 4f * Time.deltaTime); ret = (transform.position == v1)? NodeVal.Success : NodeVal.Running; if (ret == NodeVal.Running) { if (this.CatWithinDistance(0.3f)) { ret = NodeVal.Success; node = 33; yield return(null); break; } #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(1, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 33; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(1, _liveHandle, ret, false, false); } #endif break; case 16: f1 = Time.time; r1 = NodeVal.Running; r2 = NodeVal.Running; r3 = NodeVal.Running; r4 = NodeVal.Running; r5 = NodeVal.Running; ret = NodeVal.Success; do { if (r1 == NodeVal.Running) { /* Show is attacking 1 */ r1 = (this.SignalBehaviourOnScreen("Attack! (Pow!)")); } ret = r1; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(18, _liveHandle, r1, false, false); } #endif if (r2 == NodeVal.Running) { /* Action 3 */ r2 = (this.AttackCat()); } ret = (NodeVal)System.Math.Max((int)r2, (int)ret); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(15, _liveHandle, r2, false, false); } #endif if (r3 == NodeVal.Running) { /* Trigger pow animation */ comp_Animator.SetTrigger("Pow"); r3 = NodeVal.Success; } ret = (NodeVal)System.Math.Max((int)r3, (int)ret); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(0, _liveHandle, r3, false, false); } #endif if (r4 == NodeVal.Running) { /* Wait for animation end */ r4 = ((Time.time - f1) > 0.75f)? NodeVal.Success : NodeVal.Running; } ret = (NodeVal)System.Math.Max((int)r4, (int)ret); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(16, _liveHandle, r4, false, false); } #endif if (r5 == NodeVal.Running) { /* Action 2 */ r5 = (this.ChooseIdleTarget()); } ret = (NodeVal)System.Math.Max((int)r5, (int)ret); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(17, _liveHandle, r5, false, false); } #endif if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(3, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 33; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(3, _liveHandle, ret, false, false); } #endif break; case 17: ret = (this.SignalBehaviourOnScreen("Attack! (Retreat!)")); node = 33; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(4, _liveHandle, ret, false, false); } #endif break; case 18: do { v1 = this.IdleTarget; transform.position = Vector3.MoveTowards(transform.position, v1, 4f * Time.deltaTime); ret = (transform.position == v1)? NodeVal.Success : NodeVal.Running; if (ret == NodeVal.Running) { #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(5, _liveHandle, NodeVal.Running, true, false); } #endif yield return(null); } else { node = 33; break; } } while (true); #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(5, _liveHandle, ret, false, false); } #endif break; case 24: ret = (this.SignalBehaviourOnScreen("Idling")); node = 34; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(6, _liveHandle, ret, false, false); } #endif break; case 25: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(7, _liveHandle, NodeVal.Running, false, false); } #endif n25c = 26; node = 26; break; case 55: if (ret != NodeVal.Success) { if (++n25c > 27) { n25c = 26; node = 34; } else { node = n25c; } } else { n25c = 26; node = 34; } #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(7, _liveHandle, ret, false, false); } #endif break; case 26: #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(22, _liveHandle, NodeVal.Running, false, false); } #endif n26c = 28; node = 28; n26_1r = NodeVal.Success; break; case 56: n26_1r = (NodeVal)System.Math.Max((int)n26_1r, (int)ret); if (ret == NodeVal.Success && n26c < 29) { node = ++n26c; } else { n26c = 28; node = 55; ret = n26_1r; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(22, _liveHandle, ret, false, false); } #endif } break; case 27: v1 = this.IdleTarget; transform.position = Vector3.MoveTowards(transform.position, v1, 0.4f * Time.deltaTime); ret = (transform.position == v1)? NodeVal.Success : NodeVal.Running; node = 55; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(21, _liveHandle, ret, false, false); } #endif break; case 28: ret = ((transform.position - this.IdleTarget).sqrMagnitude < (0f))? NodeVal.Success : NodeVal.Fail; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(19, _liveHandle, ret, false, false); } #endif node = 56; break; case 29: ret = (this.ChooseIdleTarget()); node = 56; #if UNITY_EDITOR if (_live != null) { _live = _live.SetLiveValue(20, _liveHandle, ret, false, false); } #endif break; } } while (node >= 0); yield return(null); }