protected override AIOneRunStatus InternalRun() { var random = new System.Random(213); //todo var foragingKnowledgeBox = OwningBot.GetKnowledgeBox <ForagingKnowledgeBox>(); var foragingArea = foragingKnowledgeBox.ForagingArea; foragingKnowledgeBox.SearchStartPoint = foragingArea.RandomPointInRectalngle(random); return(AIOneRunStatus.Succeded); }
protected override void InternalStart() { _navigationComponent = OwningBot.GetComponent <MyStaticTargetNavigationComponentOC>(); var box = OwningBot.GetKnowledgeBox <NavigationKnowledgeBox>(this); _navigationComponent.Initialize(new NavigationOrder() { SucceessDistance = box.SuccessDistance, Target = box.PositionTarget }); }
protected override AITask InternalBuildStory() { var navigationChildren = new List <AITask>(); foreach (var point in _navigationPoints) { var newTask = new NavigateToAiTask(); OwningBot.AddKnowledgeBox(new NavigationKnowledgeBox() { PositionTarget = point, SuccessDistance = _successDistance }, newTask); navigationChildren.Add(newTask); } return(new SequenceTask(navigationChildren)); }