@@ -35,35 +35,41 @@ public ParallelRunner(string name, int depth, int id)
3535 public override IEnumerator Tick ( WaitForSeconds delayStart = null )
3636 {
3737 //Initialize and start tick
38- base . Tick ( delayStart ) . ToObservable ( ) . Subscribe ( xb => Debug . Log ( "Subscribed to ParallelRunner at start (base.tick()" ) ) ;
39- CurrentState = ( BehaviorState . Running ) ;
38+ base . Tick ( ) . ToObservable ( )
39+ //.Do(_ => BehaviorLogger.Log("Subscribed to ParallelRunner at start (base.tick()"))
40+ . Subscribe ( ) ;
41+ CurrentState = BehaviorState . Running ;
42+
4043 if ( Children == null || Children . Count == 0 )
4144 {
4245 Debug . LogWarning ( "Children Null in parallel runner" ) ;
43- CurrentState = ( BehaviorState . Fail ) ;
46+ CurrentState = BehaviorState . Fail ;
4447 yield break ;
4548 }
4649
4750 foreach ( var ch in Children )
4851 {
49- ( ( BehaviorTreeElement ) ch ) . Tick ( ) . ToObservable ( ) . Subscribe ( _ =>
50- {
51- Debug . Log ( "parallel? Num Succeed: " + NumberOfSuccesses . Value ) ;
52- Debug . Log ( "parallel? Num Fail: " + NumberOfFailures . Value ) ;
53- if ( NumberOfFailures . Value >= NumberOfFailuresBeforeFail && NumberOfFailuresBeforeFail > 0 )
52+ ( ( BehaviorTreeElement ) ch ) . Tick ( )
53+ . ToObservable ( )
54+ . Do ( _ =>
5455 {
55- CurrentState = BehaviorState . Fail ;
56- return ;
57- }
56+ //BehaviorLogger.Log(Name + ": Num Succeed: " + NumberOfSuccesses.Value);
57+ //BehaviorLogger.Log(Name + ": Num Fail: " + NumberOfFailures.Value);
58+ if ( NumberOfFailures . Value >= NumberOfFailuresBeforeFail && NumberOfFailuresBeforeFail > 0 )
59+ {
60+ CurrentState = BehaviorState . Fail ;
61+ return ;
62+ }
5863
59- if ( NumberOfSuccesses . Value >= NumberOfSuccessBeforeSucceed && NumberOfSuccessBeforeSucceed > 0 )
60- {
61- CurrentState = BehaviorState . Success ;
62- return ;
63- }
64- } ) ;
64+ if ( NumberOfSuccesses . Value >= NumberOfSuccessBeforeSucceed && NumberOfSuccessBeforeSucceed > 0 )
65+ {
66+ CurrentState = BehaviorState . Success ;
67+ return ;
68+ }
69+ } )
70+ . Subscribe ( ) . AddTo ( Disposables ) ;
6571 }
66- CurrentState = BehaviorState . Success ;
72+ if ( CurrentState == BehaviorState . Running ) CurrentState = BehaviorState . Success ;
6773 }
6874
6975 public override void Initialize ( )
@@ -78,7 +84,7 @@ public override void Initialize()
7884 //TODO: will be changed to an actual debugger instead of just unity logs. Issue #3
7985 ch . ObserveEveryValueChanged ( x => x . CurrentState ) . Subscribe ( x =>
8086 {
81- BehaviorLogger . Warning ( ElementType + " state changed: " + x ) ;
87+ // BehaviorLogger.Warning(ElementType + " state changed: " + x);
8288 if ( x == BehaviorState . Fail )
8389 {
8490 NumberOfFailures . SetValueAndForceNotify ( NumberOfFailures . Value + 1 ) ;
0 commit comments