void OnEnable()
        {
            Target = (CGM.Resource)target;

            game = FindObjectOfType <CGM.Game>();
            if (game == null)
            {
                Debug.LogWarning("No Game component found");
                return;
            }

            manager = FindObjectOfType <CGM.GameManager>();
            if (manager == null)
            {
                Debug.LogWarning("No GameManager component found");
                return;
            }

            library = manager.CGME_Lib;

            phase_names.Clear();
            phase_names.Add("Any");
            phase_names.AddRange(game.GetPhases());
            res_string = "resource";

            if (library.resourceLibrary.Count == 0)
            {
                return;
            }

            if (Target.CGME_Resource == null)
            {
                Target.CGME_Resource = CGME.CGFactory.CreateCGInstance(library.GetResource(0).GetType().FullName) as CGME.Resource;
            }
        }
        protected override void OnEnable()
        {
            base.OnEnable();

            manager      = FindObjectOfType <CGM.GameManager>();
            action_names = manager.GetActionTypes();

            phase_target = (CGM.Phase)target;
        }
        void OnEnable()
        {
            manager_lib = FindObjectOfType <CGM.GameManager>();
            resources   = manager_lib.CGME_Lib.ResourceTypes();

            if (resources == null)
            {
                Debug.LogWarning("resources not set");
            }

            active_resources = new bool[resources.Length];
        }
        // DISPLAY ACTION MODIFY RESOURCE ------------------------------------


        void DisplayBody(CGME.ActionModifyResource action)
        {
            CGM.GameManager lib = GameObject.FindObjectOfType <CGM.GameManager>();

            EditorGUI.indentLevel++;
            {
                EditorGUILayout.BeginHorizontal();
                {
                    //action.Target         = (CGME.ModifyParameter)EditorGUILayout.EnumPopup("Target",action.Target);
                    //action.Target_Resource = EditorGUILayout.Popup("Resource Type",action.Target_Resource, lib.CGME_Lib.ResourceTypes());
                    action.Target          = (CGME.ResourceSource)Display.EnumPopup(Target, "Target", action.Target);
                    action.Target_Resource = Display.Popup(Target, "Resource Type", action.Target_Resource, lib.CGME_Lib.ResourceTypes());
                }
                EditorGUILayout.EndHorizontal();

                //action.Operation  = (CGME.ModifyOperation)EditorGUILayout.EnumPopup("Operation",action.Operation);
                action.Operation = (CGME.ModifyOperation)Display.EnumPopup(Target, "Operation", action.Operation);


                EditorGUILayout.BeginHorizontal();
                {
                    //action.Param1         = (CGME.ModifyParameter)EditorGUILayout.EnumPopup("Resource 1",action.Param1);
                    action.Param1 = (CGME.ResourceSource)Display.EnumPopup(Target, "Resource 1", action.Param1);
                    if (action.Param1 == CGME.ResourceSource.FixedValue)
                    {
                        CGME.Resource test = lib.CGME_Lib.GetResource(action.Target_Resource);
                        if (test is CGME.ResourceBool)
                        {
                            //action.BoolMod = EditorGUILayout.Toggle("Boolean",action.BoolMod);
                            action.BoolMod = Display.Toggle(Target, "Boolean", action.BoolMod);
                        }
                        else if (test is CGME.ResourceNumber)
                        {
                            action.NumberMod = Display.IntField(Target, "Number", action.NumberMod);
                        }
                        else if (test is CGME.ResourceText)
                        {
                            action.TextMod = Display.TextField(Target, "Text", action.TextMod);
                        }
                    }
                    else
                    {
                        action.Operation_Resource = Display.Popup(Target, "Resource Type", action.Operation_Resource, lib.CGME_Lib.ResourceTypes());
                    }
                }
                EditorGUILayout.EndHorizontal();
            }
            EditorGUI.indentLevel--;
        }
        public override void DrawAsInspector()
        {
            base.DrawAsInspector();

            CGME.ActionConditionCompareResource act = (action as CGME.ActionConditionCompareResource);
            CGM.GameManager lib = GameObject.FindObjectOfType <CGM.GameManager>();

            EditorGUILayout.BeginHorizontal();
            {
                act.Target          = (CGME.ResourceSource)Display.EnumPopup(this, "Target", act.Target);
                act.Target_Resource = Display.Popup(this, "Resource Type", act.Target_Resource, lib.CGME_Lib.ResourceTypes());
            }
            EditorGUILayout.EndHorizontal();

            act.Operation = (CGME.CompareOperation)Display.EnumPopup(this, "Operation", act.Operation);


            EditorGUILayout.BeginHorizontal();
            {
                act.Param1 = (CGME.ResourceSource)Display.EnumPopup(this, "Resource 1", act.Param1);
                if (act.Param1 == CGME.ResourceSource.FixedValue)
                {
                    CGME.Resource test = lib.CGME_Lib.GetResource(act.Target_Resource);
                    if (test is CGME.ResourceBool)
                    {
                        act.BoolMod = Display.Toggle(this, "Boolean", act.BoolMod);
                    }
                    else if (test is CGME.ResourceNumber)
                    {
                        act.NumberMod = Display.IntField(this, "Number", act.NumberMod);
                    }
                    else if (test is CGME.ResourceText)
                    {
                        act.TextMod = Display.TextField(this, "Text", act.TextMod);
                    }
                }
                else
                {
                    act.Operation_Resource = Display.Popup(this, "Resource Type", act.Operation_Resource, lib.CGME_Lib.ResourceTypes());
                }
            }
            EditorGUILayout.EndHorizontal();
        }
Beispiel #6
0
        void OnEnable()
        {
            Target = (CGM.GameManager)target;

            res_choice = 0;

            game     = FindObjectOfType <CGM.Game>();
            phases   = game.GetPhases();
            res_type = Display.ResourceTypes[res_choice];

            //actions = Target.GetChildrenActions();
            //action_string = new string[actions.Length];
            actions       = Target.Actions.ToArray();
            action_string = new string[actions.Length];

            int i = 0;

            foreach (CGM.ActionWrapper act in actions)
            {
                action_string[i++] = act.CGME_ActionRoot.CGType;
            }
        }