예제 #1
0
    protected override void EnemyStart()
    {
        weapon = new NormalCannon(this);

        Node root = new MemPriority
        (
           new Node[]
           {
                new MemSequence
                (
                        new Node[]
                        {
                            new TargetOnSight(fieldOfView),
                            new WillShoot(5.0f, 10.0f, 30),
                            new MemSequence
                            (
                                new Node[]
                                {
                                    new XAction<CastAttack>(),
                                    new XAction<Aim>(0.8f),
                                    new XAction<Shoot>()
                                }
                            )
                        }
                ),
                new MemProbabilistic
                (
                    new Node[]
                    {
                        new MemSequence
                        (
                            new Node[]
                            {
                                new WaitRandom(0.2f, 1.0f),
                                new XAction<RandomMovement>(5.0f)
                            }
                        ),
                        new MemSequence
                        (
                            new Node[]
                            {
                                new WaitRandom(0.7f, 2.0f)
                            }
                        ),
                    }
                ),
           }
        );

        behaviourTree = new BehaviourTree.Tree(root);
    }
예제 #2
0
    // Use this for initialization
    protected override void EnemyStart()
    {
        weapon = new NormalCannon(this);

        Node root = new Priority
        (
           new Node[]
           {
                new MemProbabilistic
                (
                    new Node[]
                    {
                        new MemSequence
                        (
                            new Node[]
                            {
                                //new ChangeColor(Color.blue),
                                new WaitRandom(0.2f, 1.0f),
                                new XAction<RandomMovement>(5.0f)
                            }
                        ),
                        new MemSequence
                        (
                            new Node[]
                            {
                                //new ChangeColor(Color.red),
                                new WaitRandom(0.7f, 3.0f)
                            }
                        ),
                        new MemSequence
                        (
                            new Node[]
                            {
                                new XAction<CastAttack>(),
                                new XAction<Aim>(0.8f),
                                new XAction<Shoot>()
                            }
                        ),
                    }
                ),
           }
        );
        behaviourTree = new BehaviourTree.Tree(root);
    }