Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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));
        }