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); }
public TypeToggle(ComposedBehavior behavior, bool toggle) { _name = behavior.Name; _toggle = toggle; _composedBehavior = behavior; _isRaw = false; }
public TypeToggle(string name, bool toggle) { _name = name; _toggle = toggle; _composedBehavior = default; _isRaw = true; }
private static ITreeComponent CreateITreeComponentFromComposed(Core core, ComposedBehavior composed) { if (composed.ComposedType == TreeComponentType.Selector) { return(CreateSelectorFromComposed(core, composed)); } else { return(CreateSequenceFromComposed(core, composed)); } }
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]); } } }
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); }
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"); }