示例#1
0
        public void Init(object parentContainer)
        {
            ParentContainer = parentContainer;
            Current         = this;

            m_func = sceneView => OnSceneGUI();
            SceneView.duringSceneGui += m_func;
        }
示例#2
0
        public void OnGUI(float width)
        {
            if (!RoomInitialized)
            {
                return;
            }
            Current = this;

            // how many levels does the room have
            using (new GUILayout.HorizontalScope())
            {
                var levels = EditorGUILayout.IntField("Levels", Count);
                if (GUILayout.Button("+", GUILayout.Width(50)))
                {
                    levels++;
                }
                if (GUILayout.Button("-", GUILayout.Width(50)))
                {
                    levels--;
                }
                ChangeLevelCount(levels);

                GUILayout.Space(15.0f);
                if (GUILayout.Button("^", GUILayout.Width(25)))
                {
                    MoveLevelUp();
                }
                if (GUILayout.Button("v", GUILayout.Width(25)))
                {
                    MoveLevelDown();
                }
                if (GUILayout.Button("x", GUILayout.Width(25)))
                {
                    DeleteLevel();
                }
            }

            using (new GUILayout.HorizontalScope())
            {
                EditorGUILayout.LabelField($"Current Platform {CurrentLevel}", GUILayout.Width(125.0f));
                for (var i = 0; i < Count; ++i)
                {
                    if (ActivityButton(CurrentLevel == i, i.ToString()))
                    {
                        SetCurrentLevel(i);
                    }
                }
            }
        }
示例#3
0
        void OnSceneGUI()
        {
            Current = this;

            var e = Event.current;

            if (e.shift && e.type == EventType.ScrollWheel)
            {
                e.Use();
                if (e.delta.y >= 1)
                {
                    SetCurrentLevel(CurrentLevel + 1);
                }
                else if (e.delta.y <= -1)
                {
                    SetCurrentLevel(CurrentLevel - 1);
                }
                Repaint();
            }
        }
示例#4
0
 public void Terminate()
 {
     Current = null;
     SceneView.duringSceneGui -= m_func;
 }