public LogicGateEnum logicGateToEnum(LogicGate logicGate) { LogicGateEnum logicGateEnum = new LogicGateEnum(); logicGateEnum.objectCondition = logicGate.objectCondition.enumID(); logicGateEnum.objectConditionOption = logicGate.objectConditionOption; logicGateEnum.condition = logicGate.condition.enumID(); logicGateEnum.conditionOption = logicGate.conditionOption; logicGateEnum.action = logicGate.action.enumID(); logicGateEnum.actionOption = logicGate.actionOption; logicGateEnum.objectAction = logicGate.objectAction.enumID(); logicGateEnum.objectActionOption = logicGate.objectActionOption; return(logicGateEnum); }
private LogicGateEnum LogicGateEnumChange(ObjectE objectCondition, int objectConditionOption, ConditionE condition, int conditionOption, ActionE action, int actionOption, ObjectE objectAction, int objectActionOption) { LogicGateEnum logicGate = new LogicGateEnum(); logicGate.objectCondition = objectCondition; logicGate.objectConditionOption = objectConditionOption; logicGate.condition = condition; logicGate.conditionOption = conditionOption; logicGate.action = action; logicGate.actionOption = actionOption; logicGate.objectAction = objectAction; logicGate.objectActionOption = objectActionOption; return(logicGate); }
public LogicGate EnumToLogicGate(LogicGateEnum logicGateEnum) { LogicGate logicGate = new LogicGate(); var objects = GetComponents <MonoBehaviour>().OfType <IObject>(); var conditions = GetComponents <MonoBehaviour>().OfType <ICondition>(); var actions = GetComponents <MonoBehaviour>().OfType <IAction>(); foreach (IObject obj in objects) { if (logicGateEnum.objectCondition == obj.enumID()) { logicGate.objectCondition = obj; } if (logicGateEnum.objectAction == obj.enumID()) { logicGate.objectAction = obj; } } foreach (ICondition cond in conditions) { if (logicGateEnum.condition == cond.enumID()) { logicGate.condition = cond; } } foreach (IAction act in actions) { if (logicGateEnum.action == act.enumID()) { logicGate.action = act; } } logicGate.objectConditionOption = logicGateEnum.objectConditionOption; logicGate.conditionOption = logicGateEnum.conditionOption; logicGate.actionOption = logicGateEnum.actionOption; logicGate.objectActionOption = logicGateEnum.objectActionOption; return(logicGate); }
private void Awake() { enumDictionary.Add(ObjectE.Self, NoneE.None);//pair enums with other enums for lookups to change option dropdown enumDictionary.Add(ObjectE.Enemy, ObjectOptionE.Automaton); enumDictionary.Add(ObjectE.Allied, ObjectOptionE.Automaton); enumDictionary.Add(ConditionE.Always, NoneE.None); enumDictionary.Add(ConditionE.LessThanHealth, PercentE.ZeroPct); enumDictionary.Add(ConditionE.MoreThanHealth, PercentE.ZeroPct); enumDictionary.Add(ConditionE.LessThanSpecial, PercentE.ZeroPct); enumDictionary.Add(ConditionE.MoreThanSpecial, PercentE.ZeroPct); enumDictionary.Add(ActionE.Move, NoneE.None); enumDictionary.Add(ActionE.Primary, PrimaryTypeE.Gun); enumDictionary.Add(ActionE.Secondary, SecondaryTypeE.Rocket); enumDictionary.Add(ActionE.Special, SpecialTypeE.Lightning); playerSelect = gameObject.GetComponent <PlayerSelect>(); objectConditionDropdown0.onValueChanged.AddListener(delegate { DropdownValueChanged(); }); objectConditionOptionDropdown0.onValueChanged.AddListener(delegate { DropdownValueChanged(); }); objectConditionDropdown1.onValueChanged.AddListener(delegate { DropdownValueChanged(); }); objectConditionOptionDropdown1.onValueChanged.AddListener(delegate { DropdownValueChanged(); }); objectConditionDropdown2.onValueChanged.AddListener(delegate { DropdownValueChanged(); }); objectConditionOptionDropdown2.onValueChanged.AddListener(delegate { DropdownValueChanged(); }); conditionDropdown0.onValueChanged.AddListener(delegate { DropdownValueChanged(); }); conditionOptionDropdown0.onValueChanged.AddListener(delegate { DropdownValueChanged(); }); conditionDropdown1.onValueChanged.AddListener(delegate { DropdownValueChanged(); }); conditionOptionDropdown1.onValueChanged.AddListener(delegate { DropdownValueChanged(); }); conditionDropdown2.onValueChanged.AddListener(delegate { DropdownValueChanged(); }); conditionOptionDropdown2.onValueChanged.AddListener(delegate { DropdownValueChanged(); }); actionDropdown0.onValueChanged.AddListener(delegate { DropdownValueChanged(); }); actionOptionDropdown0.onValueChanged.AddListener(delegate { DropdownValueChanged(); }); actionDropdown1.onValueChanged.AddListener(delegate { DropdownValueChanged(); }); actionOptionDropdown1.onValueChanged.AddListener(delegate { DropdownValueChanged(); }); actionDropdown2.onValueChanged.AddListener(delegate { DropdownValueChanged(); }); actionOptionDropdown2.onValueChanged.AddListener(delegate { DropdownValueChanged(); }); objectActionDropdown0.onValueChanged.AddListener(delegate { DropdownValueChanged(); }); objectActionOptionDropdown0.onValueChanged.AddListener(delegate { DropdownValueChanged(); }); objectActionDropdown1.onValueChanged.AddListener(delegate { DropdownValueChanged(); }); objectActionOptionDropdown1.onValueChanged.AddListener(delegate { DropdownValueChanged(); }); objectActionDropdown2.onValueChanged.AddListener(delegate { DropdownValueChanged(); }); objectActionOptionDropdown2.onValueChanged.AddListener(delegate { DropdownValueChanged(); }); EnumDropdown(objectConditionDropdown0, ObjectE.Enemy); EnumDropdown(objectConditionDropdown1, ObjectE.Enemy); EnumDropdown(objectConditionDropdown2, ObjectE.Enemy); EnumDropdown(conditionDropdown0, ConditionE.Always); EnumDropdown(conditionDropdown1, ConditionE.Always); EnumDropdown(conditionDropdown2, ConditionE.Always); EnumDropdown(actionDropdown0, ActionE.Move); EnumDropdown(actionDropdown1, ActionE.Move); EnumDropdown(actionDropdown2, ActionE.Move); EnumDropdown(objectActionDropdown0, ObjectE.Enemy); EnumDropdown(objectActionDropdown1, ObjectE.Enemy); EnumDropdown(objectActionDropdown2, ObjectE.Enemy); defaultLogicMatrixEnum[0] = LogicGateEnumChange((ObjectE)objectConditionDropdown0.value, objectConditionOptionDropdown0.value, (ConditionE)conditionDropdown0.value, conditionOptionDropdown0.value, (ActionE)actionDropdown0.value, actionDropdown0.value, ObjectE.Enemy, (int)ObjectOptionE.Nearest); defaultLogicMatrixEnum[1] = LogicGateEnumChange((ObjectE)objectConditionDropdown1.value, objectConditionOptionDropdown1.value, (ConditionE)conditionDropdown1.value, conditionOptionDropdown1.value, (ActionE)actionDropdown1.value, actionDropdown1.value, ObjectE.Enemy, (int)ObjectOptionE.Base); defaultLogicMatrixEnum[2] = LogicGateEnumChange((ObjectE)objectConditionDropdown2.value, objectConditionOptionDropdown2.value, (ConditionE)conditionDropdown2.value, conditionOptionDropdown2.value, (ActionE)actionDropdown2.value, actionDropdown2.value, ObjectE.Enemy, (int)ObjectOptionE.Base); defaultLogicMatrixEnum[3] = LogicGateEnumChange((ObjectE)objectConditionDropdown2.value, objectConditionOptionDropdown2.value, (ConditionE)conditionDropdown2.value, conditionOptionDropdown2.value, (ActionE)actionDropdown2.value, actionDropdown2.value, ObjectE.Enemy, (int)ObjectOptionE.Base); logicMatrixEnum[0] = new LogicGateEnum(); logicMatrixEnum[0] = defaultLogicMatrixEnum[0]; logicMatrixEnum[1] = new LogicGateEnum(); logicMatrixEnum[1] = defaultLogicMatrixEnum[1]; logicMatrixEnum[2] = new LogicGateEnum(); logicMatrixEnum[2] = defaultLogicMatrixEnum[2]; logicMatrixEnum[3] = new LogicGateEnum(); logicMatrixEnum[3] = defaultLogicMatrixEnum[3]; SetDropdowns(logicMatrixEnum); Apply(); }