Exemple #1
0
    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);
    }
Exemple #2
0
    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);
    }
Exemple #3
0
    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);
    }
Exemple #4
0
    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();
    }