string[] NodeToString() { MoveSet set = _fighter.moveSet; List <string> r = new List <string>(); foreach (Node n in set.nodes) { r.Add(_fighter.moves[n.moveId].name); } return(r.ToArray()); }
private void OnGUI() { MoveSet set = _fighter.moveSet; EditorGUILayout.LabelField("Moves"); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Add Set")) { if (set.nodes.FindAll((Node n) => n.moveId == selectedMove).Count <= 0) { Node n = new Node(); n.moveId = selectedMove; set.nodes.Add(n); } } selectedMove = EditorGUILayout.Popup(selectedMove, _fighter.GetMoveList()); EditorGUILayout.EndHorizontal(); EditorGUILayout.LabelField("MoveSets"); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Remove")) { set.nodes.RemoveAt(selectedNode); selectedNode = -1; } selectedNode = EditorGUILayout.Popup(selectedNode, NodeToString()); EditorGUILayout.EndHorizontal(); EditorGUILayout.LabelField("Set"); if (selectedNode >= 0 && selectedNode < set.nodes.Count) { DrawNode(set.nodes[selectedNode]); } if (GUI.changed) { EditorUtility.SetDirty(_fighter); } }