Esempio n. 1
0
        private static TreeSelector CreateSelectorFromComposed(Core core,
                                                               ComposedBehavior target)
        {
            TreeSelector            selector;
            List <ModularBehaviour> modularBehaviours;

            modularBehaviours = new List <ModularBehaviour>();
            selector          = new TreeSelector(true, target.Weight);

            if (target.IsRandomSelector)
            {
                foreach (Type t in GetAllTypesIn(target))
                {
                    Debug.Log("Adding \"" + t.Name + " from \"" + target.Name + "\"");
                    selector.AddNewOption(GetModularBehaviourInCore(core, t));
                }
            }
            else
            {
                foreach (Type t in GetAllTypesIn(target))
                {
                    ModularBehaviour behaviour = GetModularBehaviourInCore(core, t);
                    selector.AddNewOption(behaviour);
                }
            }

            return(selector);
        }
Esempio n. 2
0
 public TypeToggle(ComposedBehavior behavior, bool toggle)
 {
     _name             = behavior.Name;
     _toggle           = toggle;
     _composedBehavior = behavior;
     _isRaw            = false;
 }
Esempio n. 3
0
 public TypeToggle(string name, bool toggle)
 {
     _name             = name;
     _toggle           = toggle;
     _composedBehavior = default;
     _isRaw            = true;
 }
Esempio n. 4
0
 private static ITreeComponent CreateITreeComponentFromComposed(Core core,
                                                                ComposedBehavior composed)
 {
     if (composed.ComposedType == TreeComponentType.Selector)
     {
         return(CreateSelectorFromComposed(core, composed));
     }
     else
     {
         return(CreateSequenceFromComposed(core, composed));
     }
 }
Esempio n. 5
0
        private static IEnumerable <Type> GetAllTypesIn(ComposedBehavior composed)
        {
            for (int i = 0; i < composed.SelectedBehaviours.Length; i++)
            {
                TypeToggle toggle       = composed.SelectedBehaviours[i];
                Type[]     profileTypes = toggle.GetAllChildTypes();

                // Go through all the types
                for (int j = 0; j < profileTypes.Length; j++)
                {
                    yield return(profileTypes[j]);
                }
            }
        }
Esempio n. 6
0
        private static TreeSequence CreateSequenceFromComposed(Core core,
                                                               ComposedBehavior target)
        {
            TreeSequence sequence;

            sequence = new TreeSequence(target.Weight);

            sequence.SetName(target.Name);

            foreach (Type t in GetAllTypesIn(target))
            {
                sequence.AddNew(GetModularBehaviourInCore(core, t));
            }
            return(sequence);
        }
Esempio n. 7
0
        static TreeFactory()
        {
            _shooterBasic =
                GetComposedBehaviour(BASICS_PATH + "ShooterBasics");
            _brawlerBasic =
                GetComposedBehaviour(BASICS_PATH + "BrawlerBasics");
            _tankBasic =
                GetComposedBehaviour(BASICS_PATH + "TankBasics");

            _shooterDefault =
                GetComposedBehaviour(DEFAULTS_PATH + "ShooterSelector");
            _brawlerDefault =
                GetComposedBehaviour(DEFAULTS_PATH + "BrawlerSelector");
            _tankDefault =
                GetComposedBehaviour(DEFAULTS_PATH + "TankSelector");

            _shooterSpecial =
                GetComposedBehaviour(SPECIALS_PATH + "ShieldedDeathRay");
            _brawlerSpecial =
                GetComposedBehaviour(SPECIALS_PATH + "ShieldedWhirlwind");
            _tankSpecial =
                GetComposedBehaviour(SPECIALS_PATH + "PenetrableHealingZone");
        }
 private void OnEnable()
 {
     _profile = target as ComposedBehavior;
     _profile.UpdateToggles();
     _selectorCreator = serializedObject.FindProperty("_isRandomSelector");
 }