public static void Create(ScoreDataControl score) { var window = CreateInstance <CompletableScoreEditorWindow>(); window.score = score; window.ShowUtility(); }
public CompletableDataControl(Completable completable) { this.completable = completable; this.startDataControl = new MilestoneDataControl(completable.getStart()); this.endDataControl = new MilestoneDataControl(completable.getEnd()); this.progressDataControl = new ProgressDataControl(completable.getProgress()); this.scoreDataControl = new ScoreDataControl(completable.getScore()); }
public static void ScoreEditor(Rect rect, ScoreDataControl score) { var rects = DivideRect(rect, 3); score.setMethod((Completable.Score.ScoreMethod)EditorGUI.EnumPopup(rects[0], score.getMethod())); switch (score.getMethod()) { case Completable.Score.ScoreMethod.AVERAGE: case Completable.Score.ScoreMethod.SUM: rects[1].width += rects[2].width; if (GUI.Button(rects[1], "SubScores")) { CompletableScoreEditorWindow.Create(score); } break; case Completable.Score.ScoreMethod.SINGLE: EditorGUI.BeginChangeCheck(); var newType = (Completable.Score.ScoreType)EditorGUI.EnumPopup(rects[1], score.getType()); if (EditorGUI.EndChangeCheck()) { score.setType(newType); } string[] switchOn = null; switch (score.getType()) { case Completable.Score.ScoreType.VARIABLE: switchOn = Controller.Instance.VarFlagSummary.getVars(); break; case Completable.Score.ScoreType.COMPLETABLE: switchOn = Controller.Instance.IdentifierSummary.getIds <Completable>(); break; } EditorGUI.BeginChangeCheck(); var newSwitchOn = switchOn[EditorGUI.Popup(rects[2], Mathf.Max(0, Array.IndexOf(switchOn, score.getId())), switchOn)]; if (EditorGUI.EndChangeCheck() || score.getId() == null) { score.setId(newSwitchOn); } break; } }