void SetStringToObjectName(ref ev_details det) { objectItem = (s_object)EditorGUILayout.ObjectField(objectItem, typeof(s_object), true); if (GUILayout.Button("Set string to object")) { if (objectItem != null) { det.string0 = objectItem.name; } } }
public override void EnumChange(ref ev_details ev) { ev.eventType = (int)(MagnumFoudation.EVENT_TYPES)EditorGUILayout.EnumPopup((MagnumFoudation.EVENT_TYPES)ev.eventType); }
public override void DisplayCutsceneEditor(int eventType, ref ev_details ev, int i) { switch ((EVENT_TYPES)eventType) { default: base.DisplayCutsceneEditor(eventType, ref ev, i); break; #region CHECK FLAG case EVENT_TYPES.CHECK_FLAG: ev.logic = (int)(LOGIC_TYPE)EditorGUILayout.EnumPopup("Logic Type", (LOGIC_TYPE)ev.logic); switch ((LOGIC_TYPE)ev.logic) { default: base.DisplayCutsceneEditor(eventType, ref ev, i); break; case LOGIC_TYPE.NUM_OF_GEMS: EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("IF NUMBER OF GEMS =< "); ev.int0 = EditorGUILayout.IntField(ev.int0); EditorGUILayout.Space(); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("THEN JUMP TO "); ev.int1 = EditorGUILayout.IntField(ev.int1); EditorGUILayout.LabelField(" OR "); ev.string1 = EditorGUILayout.TextField(ev.string1); EditorGUILayout.EndHorizontal(); break; case LOGIC_TYPE.ITEM_OWNED: EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("IF "); EditorGUILayout.LabelField("ITEM "); ev.string0 = EditorGUILayout.TextField(ev.string0); EditorGUILayout.LabelField(" WITH TYPE "); ev.int0 = EditorGUILayout.IntField(ev.int0); EditorGUILayout.LabelField(" (" + (o_item.ITEM_TYPE)ev.int0 + ")"); EditorGUILayout.LabelField(" POSSESED."); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("THEN JUMP TO "); ev.int1 = EditorGUILayout.IntField(ev.int1); EditorGUILayout.EndHorizontal(); break; case LOGIC_TYPE.CHECK_CHARACTER: EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("IF CHARACTER IS "); ev.string0 = EditorGUILayout.TextField(ev.string0); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("THEN JUMP TO "); ev.int1 = EditorGUILayout.IntField(ev.int1); EditorGUILayout.EndHorizontal(); break; case LOGIC_TYPE.CHECK_CHARACTER_NOT: EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("IF CHARACTER IS NOT"); ev.string0 = EditorGUILayout.TextField(ev.string0); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("THEN JUMP TO "); ev.int1 = EditorGUILayout.IntField(ev.int1); EditorGUILayout.LabelField(" OR "); ev.string1 = EditorGUILayout.TextField(ev.string1); EditorGUILayout.EndHorizontal(); break; case LOGIC_TYPE.CHECK_UTILITY_RETURN_NUM: EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("IF UITILITY "); SetStringToObjectName(ref ev); EditorGUILayout.LabelField(ev.string0); EditorGUILayout.LabelField(" RETURN NUMBER IS "); ev.int0 = EditorGUILayout.IntField(ev.int0); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("THEN JUMP TO "); ev.int1 = EditorGUILayout.IntField(ev.int1); EditorGUILayout.LabelField(" OR "); ev.string1 = EditorGUILayout.TextField(ev.string1); EditorGUILayout.EndHorizontal(); break; case LOGIC_TYPE.VAR_NOT_EQUAL: EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("IF "); ev.string0 = EditorGUILayout.TextField(ev.string0); EditorGUILayout.LabelField(" != "); ev.int0 = EditorGUILayout.IntField(ev.int0); EditorGUILayout.Space(); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("THEN JUMP TO LABEL"); ev.string1 = EditorGUILayout.TextField(ev.string1); EditorGUILayout.EndHorizontal(); break; } break; #endregion #region CREATE OBJECT case EVENT_TYPES.CREATE_OBJECT: EditorGUILayout.LabelField("Object type:"); ev.string0 = EditorGUILayout.TextField(ev.string0); EditorGUILayout.LabelField("Object name: " + ev.string1); ev.string1 = EditorGUILayout.TextField(ev.string1); EditorGUILayout.Space(); EditorGUILayout.LabelField("Object position:"); EditorGUILayout.BeginHorizontal(); ev.float0 = EditorGUILayout.FloatField(ev.float0); ev.float1 = EditorGUILayout.FloatField(ev.float1); EditorGUILayout.EndHorizontal(); break; #endregion #region DELETE OBJECT case EVENT_TYPES.DELETE_OBJECT: EditorGUILayout.LabelField("Object type: " + ev.string0); EditorGUILayout.LabelField("Object name: " + ev.string1); EditorGUILayout.Space(); EditorGUILayout.LabelField("Object position:"); EditorGUILayout.BeginHorizontal(); ev.float0 = EditorGUILayout.FloatField(ev.float0); ev.float1 = EditorGUILayout.FloatField(ev.float1); EditorGUILayout.EndHorizontal(); break; #endregion #region SET OBJECT COLLISION SIZE case EVENT_TYPES.SET_OBJ_COLLISION: EditorGUILayout.LabelField("Name:"); ev.string0 = EditorGUILayout.TextField(ev.string0); EditorGUILayout.BeginHorizontal(); ev.float0 = EditorGUILayout.FloatField(ev.float0); ev.float1 = EditorGUILayout.FloatField(ev.float1); EditorGUILayout.EndHorizontal(); break; #endregion #region DISPLAY CHARACTER HEALTH case EVENT_TYPES.DISPLAY_CHARACTER_HEALTH: leng = EditorGUILayout.IntField(leng); if (GUILayout.Button("New list")) { ev.stringList = new string[leng]; objlist = new s_object[leng]; } if (ev.stringList != null || ev.stringList.Length > 0) { if (objlist == null) { objlist = new s_object[leng]; } for (int o = 0; o < ev.stringList.Length; o++) { objlist[o] = (o_character)EditorGUILayout.ObjectField(objlist[o], typeof(o_character), true); if (objlist[o] != null) { ev.stringList[o] = objlist[o].name; } } for (int o = 0; o < ev.stringList.Length; o++) { EditorGUILayout.LabelField(ev.stringList[o]); } } //There will be one GUI for the top (near main character health) and one in the bottom (boss health) ev.boolean1 = EditorGUILayout.Toggle("Top?", ev.boolean1); // ev.boolean = EditorGUILayout.Toggle("Show?", ev.boolean); break; #endregion #region WAIT case EVENT_TYPES.WAIT: ev.float0 = EditorGUILayout.FloatField("Length: ", ev.float0); break; #endregion #region SET_HEALTH case EVENT_TYPES.SET_HEALTH: selectedCharacter = (o_character)EditorGUILayout.ObjectField(selectedCharacter, typeof(o_character), true); if (selectedCharacter != null) { ev.string0 = selectedCharacter.name; } ev.float0 = EditorGUILayout.FloatField("Set health to: ", ev.float0); break; #endregion #region CHOICE case EVENT_TYPES.CHOICE: ev.string0 = EditorGUILayout.TextField("Question label:", ev.string0); /* * leng = EditorGUILayout.IntField(leng); * if (GUILayout.Button("New list")) * { * ev.stringList = new string[leng]; * ev.intList = new int[leng]; * } * if (ev.stringList != null) * { * //EditorGUILayout.BeginScrollView(scrollview2); * for (int o = 0; o < ev.stringList.Length; o++) * { * ev.stringList[o] = EditorGUILayout.TextField("Name of choice" + o + " :", ev.stringList[o]); * ev.intList[o] = EditorGUILayout.IntField("Event position to jump to: ", ev.intList[o]); * EditorGUILayout.Space(); * } * //EditorGUILayout.EndScrollView(); * * for (int o = 0; o < ev.stringList.Length; o++) * { * EditorGUILayout.LabelField(ev.stringList[o]); * EditorGUILayout.LabelField("" + ev.intList[o]); * } * } */ break; #endregion #region ADD CHOICE case EVENT_TYPES.ADD_CHOICE_OPTION: ev.string0 = EditorGUILayout.TextField("Name of choice: ", ev.string0); ev.int0 = EditorGUILayout.IntField("Event position to jump to: ", ev.int0); ev.string1 = EditorGUILayout.TextField("or label name: ", ev.string1); break; #endregion #region SHOW_TEXT case EVENT_TYPES.SHOW_TEXT: ev.float0 = EditorGUILayout.FloatField(ev.float0); ev.string0 = EditorGUILayout.TextArea(ev.string0); break; #endregion } }
public override string DisplayCode(int eventType, ev_details d) { string str = ""; switch ((EVENT_TYPES)d.eventType) { default: return(base.DisplayCode(eventType, d)); case EVENT_TYPES.CHECK_FLAG: switch ((LOGIC_TYPE)d.logic) { default: return(base.DisplayCode(eventType, d)); case LOGIC_TYPE.NUM_OF_GEMS: str = " JIGG " + d.int1; break; case LOGIC_TYPE.CHECK_UTILITY_RETURN_NUM: str = " If utility '" + d.string0 + "' number is equal, jump to point " + d.int1; break; case LOGIC_TYPE.CHECK_CHARACTER: str = " If chracter is " + d.string0 + "jump to label " + d.int1; break; case LOGIC_TYPE.CHECK_CHARACTER_NOT: str = " If chracter is not " + d.string0 + "jump to label " + d.int1; break; } break; case EVENT_TYPES.DEPOSSES: str = " Deposess character."; break; case EVENT_TYPES.CHANGE_SCENE: if (d.boolean) { str = " Allow deposses"; } else { str = " Disallow deposses"; } break; case EVENT_TYPES.UTILITY_INITIALIZE: str = " Initialize utility '" + d.string0 + "'"; break; case EVENT_TYPES.SET_UTILITY_FLAG: str = " Set utility '" + d.string0 + "' flag to " + d.int0; break; case EVENT_TYPES.UTILITY_CHECK: str = " Check if utility '" + d.string0 + "' event state is " + d.int0; break; case EVENT_TYPES.ADD_CHOICE_OPTION: str = " Add choice '" + d.string0 + "' that jumps to line " + d.int0; break; case EVENT_TYPES.CHOICE: str = " Present Choices"; break; } return(str); }