BehaviourNode StrategicBehaviour()
    {
        var root = bt.CreateNode <SequenceNode>();

        root.children = new List <BehaviourNode>
        {
            bt.CreateNode <SetTarget>(),
            bt.CreateNode <OnlyOnce>(),
            bt.CreateNode <Announce>().Initialize("Commander 1: Enemy units spotted! Calling for backup from Sector 2!"),
            bt.CreateNode <SetSquadDestination>().Initialize(reinforcementGroup, reinforcementTarget),
        };
        return(root);
    }
    BehaviourNode StrategicBehaviour()
    {
        var root = bt.CreateNode <SelectorNode>();

        root.children = new List <BehaviourNode>
        {
            WinBehaviour(),
            AnnBehaviour(),
            RiflemanBehaviour(),
        };
        return(root);
    }
    BehaviourNode RiflemanBehaviour()
    {
        var root = bt.CreateNode <SelectorNode>();

        root.children = new List <BehaviourNode>
        {
            MoveSequence(),
            CoverSequence(),
            AttackSequence(),
        };
        return(root);
    }
    BehaviourNode StrategicBehaviour()
    {
        var root = bt.CreateNode <SelectorNode>();

        root.children = new List <BehaviourNode>
        {
            ChargeSequence(),
            RetreatSequence(),
            RiflemanBehaviour(),
        };
        return(root);
    }