public override void OnInspectorGUI()
        {
            DrawObject(Target);

            EditorGUILayout.LabelField("Resources");

            EditorGUI.indentLevel++;

            foreach (CGM.Resource res in resources)
            {
                EditorGUILayout.BeginHorizontal();


                if (res.CGME_Resource == null)
                {
                    EditorGUILayout.LabelField("Resource Null");
                    continue;
                }
                else
                {
                    EditorGUILayout.LabelField(res.CGME_Resource.CGType);
                }

                if (res.Resource_type == CGM.ResourceType.Number)
                {
                    CGME.ResourceNumber cgres = (CGME.ResourceNumber)res.CGME_Resource;
                    cgres.Value = EditorGUILayout.IntField(cgres.Value);
                    //cgres.SetValue(EditorGUILayout.IntField (cgres.Value));
                }
                else if (res.Resource_type == CGM.ResourceType.Text)
                {
                    CGME.ResourceText cgres = (CGME.ResourceText)res.CGME_Resource;
                    cgres.Value = EditorGUILayout.TextField(cgres.Value);
                }
                else if (res.Resource_type == CGM.ResourceType.Bool)
                {
                    CGME.ResourceBool cgres = (CGME.ResourceBool)res.CGME_Resource;
                    cgres.Value = EditorGUILayout.Toggle(cgres.Value);
                }
                else if (res.Resource_type == CGM.ResourceType.Action)
                {
                    CGME.ResourceAction cgres = (CGME.ResourceAction)res.CGME_Resource;
                    //cgres. = EditorGUILayout.TextArea.Field (cgres.Value);

                    //EditorGUILayout.LabelField (library.GetAction(cgres.ActionIndex).name);
                }


                EditorGUILayout.EndHorizontal();
            }
            EditorGUI.indentLevel--;

            //EditorGUILayout.LabelField("Level", myTarget.Level.ToString());
        }
Beispiel #2
0
        void Start()
        {
            if (CGME_resource is CGME.ResourceAction)
            {
                CGME.ResourceAction resource_action = (CGME.ResourceAction)CGME_resource;
                resource_action.Value = new CGME.ActionGroup();

                //CGME.Action action = FindObjectOfType<GameManager>().GetChildrenActions()[resource_action.ActionIndex].CGME_ActionRoot;
                CGME.Action action = FindObjectOfType <GameManager>().Actions[resource_action.ActionIndex].CGME_ActionRoot;

                //Debug.Log ("Getting " + action.CGType + " index is " + resource_action.ActionIndex);

                resource_action.Value.CopyFrom(action);
                ;
            }

            CGME_resource.AddListener(this);
        }
Beispiel #3
0
        //CGM.Library Target;


        public bool DisplayResource(CGME.Resource res)
        {
            EditorGUILayout.BeginHorizontal();
            {
                if (res is CGME.ResourceNumber)
                {
                    res.CGType = EditorGUILayout.TextField("Number Resource", res.CGType);
                }
                else if (res is CGME.ResourceText)
                {
                    res.CGType = EditorGUILayout.TextField("Text Resource", res.CGType);
                }
                else if (res is CGME.ResourceBool)
                {
                    res.CGType = EditorGUILayout.TextField("Boolean Resource", res.CGType);
                }
                else if (res is CGME.ResourceAction)
                {
                    CGME.ResourceAction res_action = res as CGME.ResourceAction;
                    int diff = res_action.ActionIndex;
                    res_action.ActionIndex = EditorGUILayout.Popup(
                        "Action",
                        res_action.ActionIndex,
                        action_string);
                    if (res_action.ActionIndex != diff)
                    {
                        res_action.Value = new CGME.ActionGroup();
                        res_action.Value.CopyFrom(actions[res_action.ActionIndex].CGME_ActionRoot);
                        res_action.CGType = res_action.Value.CGType;
                        Debug.Log("Copying " + actions[res_action.ActionIndex].CGME_ActionRoot.CGType);
                    }
                }

                if (GUILayout.Button("Delete " + res.CGType))
                {
                    Target.CGME_Lib.resourceLibrary.Remove(res);
                    return(true);
                }
            }
            EditorGUILayout.EndHorizontal();

            return(false);
        }
        void DrawResourceAction()
        {
            CGME.ResourceAction cgres = (CGME.ResourceAction)Target.CGME_Resource;

            //Target.Action_Object =  (CGM.Action)EditorGUILayout.ObjectField("Action",Target.Action_Object ,typeof(CGM.Action),true);

            //cgres.Phase = EditorGUILayout.Popup("Phase",cgres.Phase,phase_names.ToArray());

            int phase_index = GetPhaseIndex();

            phase_index = EditorGUILayout.Popup("Phase", phase_index, phase_names.ToArray());
            cgres.Phase = SetPhaseIndex(phase_index);

            //EditorGUILayout.BeginHorizontal();
            EditorGUILayout.BeginHorizontal();
            Target.RestrictParent = EditorGUILayout.Toggle("Restrict Parent", Target.RestrictParent);
            if (Target.RestrictParent)
            {
                Target.ParentType = EditorGUILayout.TextField("Parent Type", Target.ParentType);
            }
            EditorGUILayout.EndHorizontal();

            Target.Trigger = (CGM.InterfaceEvent)EditorGUILayout.EnumPopup("Trigger", Target.Trigger);
        }
Beispiel #5
0
 void RunAction(CGME.ResourceAction resact, CGME.Actor source)
 {
     resact.RunAction(source, source);
     Debug.Log("Running " + resact.Value.CGType);
 }