コード例 #1
0
ファイル: ScheduleAI.cs プロジェクト: FabianKramm/simulation
        protected override IBehaviorTreeNode createBehaviorTree()
        {
            BehaviorTreeBuilder builder = new BehaviorTreeBuilder();

            return(AIExtensions.WithFightingAI(
                       builder
                       .Sequence()

                       .End()
                       .Build(),
                       Entity
                       ));
        }
コード例 #2
0
ファイル: FollowAI.cs プロジェクト: FabianKramm/simulation
        protected override IBehaviorTreeNode createBehaviorTree()
        {
            BehaviorTreeBuilder builder = new BehaviorTreeBuilder();

            return(AIExtensions.WithFightingAI(
                       builder
                       .Sequence()
                       .LongRunningResultCached(() => new WaitTask(Entity, TimeSpan.FromMilliseconds(200)))
                       .LongRunningResultCached(() => new FollowTask(Entity, targetID, tillDistance, teleportDistance))
                       .End()
                       .Build(),
                       Entity
                       ));
        }
コード例 #3
0
        protected override IBehaviorTreeNode createBehaviorTree()
        {
            BehaviorTreeBuilder builder = new BehaviorTreeBuilder();

            return(AIExtensions.WithFightingAI(
                       builder
                       .Sequence()
                       .LongRunningResultCached(() => new WaitTask(Entity, TimeSpan.FromMilliseconds(1000)))
                       .LongRunningResultCached(() => new WanderTask(Entity, BlockStartPosition, BlockRadius))
                       .End()
                       .Build(),
                       Entity
                       ));
        }
コード例 #4
0
ファイル: GuardAI.cs プロジェクト: FabianKramm/simulation
        protected override IBehaviorTreeNode createBehaviorTree()
        {
            BehaviorTreeBuilder builder = new BehaviorTreeBuilder();

            return(AIExtensions.WithFightingAI(
                       builder
                       .Sequence()
                       .LongRunningResultCached(() => new GoToTask(Entity, BlockGuardPosition))
                       .SingleStep((GameTime gameTime) => {
                Entity.Direction = LookDirection;

                return BehaviourTreeStatus.Success;
            })
                       .End()
                       .Build(),
                       Entity
                       ));
        }