コード例 #1
0
        public static void Create(ScoreDataControl score)
        {
            var window = CreateInstance <CompletableScoreEditorWindow>();

            window.score = score;
            window.ShowUtility();
        }
コード例 #2
0
 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());
 }
コード例 #3
0
        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;
            }
        }