void Add(object obj) { ME_KillCharacter evt = (ME_KillCharacter)target; int id = (int)obj; if (!evt.charactersToKill.Contains(id)) { evt.charactersToKill.Add(id); } }
public override void OnGUI() { ME_KillCharacter evt = (ME_KillCharacter)target; EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("+", GUILayout.Width(25))) { GenericMenu CreateMenu = new GenericMenu(); int _i = 0; for (int i = 0; i < miss.Teams.Count; i++) { int _q = 0; for (int q = 0; q < miss.Teams[i].members.Count; q++) { _i = i; _q = q; CreateMenu.AddItem(new GUIContent("Team " + i + "/" + miss.Teams[_i].members[_q]._Name), false, Add, miss.Teams[_i].members[_q].id); } } CreateMenu.ShowAsContext(); } EditorGUILayout.EndHorizontal(); for (int i = 0; i < evt.charactersToKill.Count; i++) { Character chara = miss.FindCharacter(evt.charactersToKill[i]); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("X", GUILayout.Width(20))) { Undo.RegisterCompleteObjectUndo(miss, "Modify Condition"); evt.charactersToKill.RemoveAt(i); } GUILayout.Space(-45); EditorGUILayout.LabelField(chara._Name); GUILayout.FlexibleSpace(); EditorGUILayout.EndHorizontal(); } EditorGUILayout.Space(); base.OnGUI(); EditorGUILayout.Space(); }