예제 #1
0
        static void CreateProgressBar(MenuCommand menuCommand)
        {
            CheckForRayCaster();

            // Create a custom game object
            GameObject go = new GameObject("ProgressBar (M3D)");

            go.AddComponent <MText_UI_Slider>();
            MText_UI_Slider slider = go.GetComponent <MText_UI_Slider>();


            GameObject handle = GameObject.CreatePrimitive(PrimitiveType.Cube);

            handle.name = "Handle";
            handle.AddComponent <MText_UI_SliderHandle>();
            handle.GetComponent <MText_UI_SliderHandle>().slider = slider;
            handle.transform.SetParent(go.transform);
            handle.transform.localPosition = Vector3.zero;
            slider.handle        = handle.GetComponent <MText_UI_SliderHandle>();
            slider.handleGraphic = handle.GetComponent <Renderer>();
            handle.GetComponent <Renderer>().material = slider.unSelectedHandleMat;

            GameObject bg = GameObject.CreatePrimitive(PrimitiveType.Cube);

            bg.name = "Background";
            bg.transform.SetParent(go.transform);
            bg.transform.localPosition = Vector3.zero;
            bg.transform.localScale    = new Vector3(10, 0.25f, 0.25f);
            slider.background          = bg.transform;

            if (slider.progressBarPrefab)
            {
                GameObject progressBarGraphic = Instantiate(slider.progressBarPrefab);
                slider.progressBar = progressBarGraphic.transform;
                progressBarGraphic.transform.SetParent(go.transform);
                progressBarGraphic.transform.localPosition = new Vector3(-5, 0, 0);
                progressBarGraphic.transform.localScale    = new Vector3(5, 0.8f, 0.8f);
            }
            else
            {
                Debug.Log("No progress bar prefab found. Please create one and assign it to Progressbar field");
            }

            // Ensure it gets reparented if this was a context click (otherwise does nothing)
            GameObjectUtility.SetParentAndAlign(go, menuCommand.context as GameObject);
            // Register the creation in the undo system
            Undo.RegisterCreatedObjectUndo(go, "Create " + go.name);
            Selection.activeObject = go;
        }
예제 #2
0
        void OnEnable()
        {
            myTarget = (MText_UI_Slider)target;
            soTarget = new SerializedObject(target);

            autoFocusOnGameStart = soTarget.FindProperty("autoFocusOnGameStart");
            interactable         = soTarget.FindProperty("interactable");

            minValue       = soTarget.FindProperty("minValue");
            maxValue       = soTarget.FindProperty("maxValue");
            handle         = soTarget.FindProperty("handle");
            background     = soTarget.FindProperty("background");
            backgroundSize = soTarget.FindProperty("backgroundSize");

            keyControl = soTarget.FindProperty("keyControl");
            keyStep    = soTarget.FindProperty("keyStep");
            scrollUp   = soTarget.FindProperty("scrollUp");
            scrollDown = soTarget.FindProperty("scrollDown");

            onValueChanged  = soTarget.FindProperty("onValueChanged");
            sliderDragEnded = soTarget.FindProperty("sliderDragEnded");
            useEvents       = soTarget.FindProperty("useEvents");

            handleGraphic       = soTarget.FindProperty("handleGraphic");
            progressBar         = soTarget.FindProperty("progressBar");
            selectedHandleMat   = soTarget.FindProperty("selectedHandleMat");
            unSelectedHandleMat = soTarget.FindProperty("unSelectedHandleMat");
            clickedHandleMat    = soTarget.FindProperty("clickedHandleMat");
            disabledHandleMat   = soTarget.FindProperty("disabledHandleMat");

            useValueRangeEvents = soTarget.FindProperty("useValueRangeEvents");
            usePercentage       = soTarget.FindProperty("usePercentage");
            valueRangeEvents    = soTarget.FindProperty("valueRangeEvents");


            showKeyboardSettings   = myTarget.showKeyboardSettings;
            showVisualSettings     = myTarget.showVisualSettings;
            showEventsSettings     = myTarget.showEventsSettings;
            showValueRangeSettings = myTarget.showValueRangeSettings;
        }
예제 #3
0
        static void CreateSlider(MenuCommand menuCommand)
        {
            CheckForRayCaster();

            // Create a custom game object
            GameObject go = new GameObject("Slider (M3D)");

            go.AddComponent <MText_UI_Slider>();
            MText_UI_Slider slider = go.GetComponent <MText_UI_Slider>();


            GameObject handle = GameObject.CreatePrimitive(PrimitiveType.Cube);

            handle.name = "Handle";
            handle.AddComponent <MText_UI_SliderHandle>();
            handle.GetComponent <MText_UI_SliderHandle>().slider = slider;
            handle.transform.SetParent(go.transform);
            handle.transform.localPosition = Vector3.zero;
            slider.handle        = handle.GetComponent <MText_UI_SliderHandle>();
            slider.handleGraphic = handle.GetComponent <Renderer>();
            handle.GetComponent <Renderer>().material = slider.unSelectedHandleMat;

            GameObject bg = GameObject.CreatePrimitive(PrimitiveType.Cube);

            bg.name = "Background";
            bg.transform.SetParent(go.transform);
            bg.transform.localPosition = Vector3.zero;
            bg.transform.localScale    = new Vector3(10, 0.25f, 0.25f);
            slider.background          = bg.transform;

            // Ensure it gets reparented if this was a context click (otherwise does nothing)
            GameObjectUtility.SetParentAndAlign(go, menuCommand.context as GameObject);
            // Register the creation in the undo system
            Undo.RegisterCreatedObjectUndo(go, "Create " + go.name);
            Selection.activeObject = go;
        }