public void Reinitialize() { //TODO: Change to runner extension Runner = BehaviorTreeFile.LoadFromJSON(this); if (spliceNewIntoTree) { SpliceIntoRunner(); } TreeElementUtility.TreeToList(Runner, treeList); var treeQuery = treeList.AsEnumerable(); TreeSubject = new Subject <BehaviorTreeElement>(); TreeSubject.Subscribe(xr => { var logEntry = new BehaviorLogEntry( loggerName: BehaviorLogger.Name, logType: LogType.Log, timestamp: DateTime.Now, message: "Ticked!", behaviorID: xr.ID, newState: xr.CurrentState, ticknum: xr.NumberOfTicksReceived.Value, context: this, state: xr); BehaviorLogger.Raw(logEntry); Debug.Log("xr debug initialize"); }).AddTo(this); initialized = true; }
public void Initialize() { ChildrenDrawers = new Dictionary <int, BehaviorLogDrawer>(); LogStream = ObservableBehaviorLogger.Listener .Where(x => x.BehaviorID == BehaviorID && x.LoggerName == ManagerName) .Do(x => { Entry = x; if (Entry.State.HasChildren) { foreach (var child in Entry.State.Children) { if (!ChildrenDrawers.ContainsKey(child.ID)) { float y = (child.Depth + 1) * (BoxSize.y + Style.margin.top); ChildrenDrawers.Add(child.ID, new BehaviorLogDrawer(ManagerName, child.ID, BoxSize, Style) { Parent = this, DrawHere = new Rect(Style.margin.left, y, BoxSize.x, BoxSize.y) }); } } } }); Initialized = true; }
public void Reinitialize() { //TODO: Change to runner extension Runner = BehaviorTreeFile.LoadFromJSON(this); if (spliceNewIntoTree) { SpliceIntoRunner(); } List <BehaviorTreeElement> treeList = new List <BehaviorTreeElement>(); TreeElementUtility.TreeToList(Runner, treeList); var treeQuery = from el in treeList select el; TreeStream = treeQuery .ToObservable() .Do(xr => { xr.ObserveEveryValueChanged(x => x.NumberOfTicksReceived) .Do(x => { var logEntry = new BehaviorLogEntry( loggerName: BehaviorLogger.Name, logType: LogType.Log, timestamp: DateTime.Now, message: "Ticked!", behaviorID: xr.ID, newState: xr.CurrentState, ticknum: xr.NumberOfTicksReceived.Value, context: this, state: xr); BehaviorLogger.Raw(logEntry); }) .Subscribe() .AddTo(this); }); TreeStream.Subscribe().AddTo(this); initialized = true; }