示例#1
0
    static private void DrawSpecificSlideOptions()
    {
        switch (_selectedSlideTypeEnumVal)
        {
        case ESlideType.Slide:
            break;

        case ESlideType.VideoSlide:
            GUILayoutExtension.DrawHorizontalLine("Slide options");
            _video          = EditorGUILayout.ObjectField("Video  : ", _video, typeof(VideoClip), false) as VideoClip;
            _autoTransition = EditorGUILayout.Toggle("Auto Transition : ", _autoTransition);
            break;

        case ESlideType.TimedSlide:
            GUILayoutExtension.DrawHorizontalLine("Slide options");
            _timeBeforeFadeOut = EditorGUILayout.FloatField("Step duration : ", _timeBeforeFadeOut);
            break;

        default:
            break;
        }
    }
示例#2
0
    public static void OnGUI()
    {
        if (_slideController == null && GameObject.FindObjectOfType <SlideController>())
        {
            _slideController = GameObject.FindObjectOfType <SlideController>();
        }
        scrollPosition = GUILayout.BeginScrollView(scrollPosition, true, true);
        GUIStyle guiStyle = new GUIStyle();

        guiStyle.alignment = TextAnchor.MiddleCenter;

        EditorGUILayout.Space();
        _selectedSlideTypeEnumVal = (ESlideType)EditorGUILayout.EnumPopup("Select slide type : ", _selectedSlideTypeEnumVal);
        _slideName = EditorGUILayout.TextField("Slide GameObject name", _slideName);

        DrawSpecificSlideOptions();


        //CANVAS


        GUILayoutExtension.DrawHorizontalLine("More options");

        _addCanvas = EditorGUILayout.Toggle("Canvas : ", _addCanvas);
        if (_addCanvas)
        {
            _canvasRenderMode = (RenderMode)EditorGUILayout.EnumPopup("Canvas type : ", _canvasRenderMode);
            if (_canvasRenderMode == RenderMode.WorldSpace)
            {
                _deviceType             = (apperture.editor.DeviceType)EditorGUILayout.EnumPopup("Device type : ", _deviceType);
                _canvasSizeIfWorldSpace = apperture.editor.DeviceUtility.GetSize(_deviceType);
                EditorGUILayout.BeginHorizontal();
                var oldCol = GUI.contentColor;
                GUI.contentColor = Color.yellow;
                EditorGUILayout.LabelField("Width : " + _canvasSizeIfWorldSpace.x, GUILayout.MaxWidth(100f));
                EditorGUILayout.LabelField("Height : " + _canvasSizeIfWorldSpace.y, GUILayout.MaxWidth(100f));
                GUI.contentColor = oldCol;
                EditorGUILayout.EndHorizontal();
                _eventCamera = EditorGUILayout.ObjectField("Event Camera : ", _eventCamera, typeof(Camera), true) as Camera;
            }
            if (_canvasRenderMode == RenderMode.ScreenSpaceCamera)
            {
                _eventCamera         = EditorGUILayout.ObjectField("Event Camera : ", _eventCamera, typeof(Camera), true) as Camera;
                _canvasPlaneDistance = EditorGUILayout.FloatField("Plane distance : ", _canvasPlaneDistance);
            }

            EditorGUILayout.Space();


            //IMAGES

            GUILayoutExtension.DrawHorizontalLine("Image(s)");
            _addImg = EditorGUILayout.Toggle("Image", _addImg);

            if (_addImg)
            {
                _imgNb = Mathf.Clamp(EditorGUILayout.IntField("Number :", _imgNb), 0, 10);
                GUILayoutExtension.DrawHorizontalLine();
                EditorGUILayout.Space();
                EditorGUILayout.Space();

                for (int i = 0; i < _imgNb; i++)
                {
                    EditorGUILayout.LabelField("Image " + (i + 1).ToString(), guiStyle, new GUILayoutOption[] { });
                    EditorGUILayout.Space();

                    _imgNames[i]          = EditorGUILayout.TextField("Name :", _imgNames[i]);
                    _imgSprites[i]        = EditorGUILayout.ObjectField("Sprite : ", _imgSprites[i], typeof(Sprite), false) as Sprite;
                    _imgSetNativeSizes[i] = EditorGUILayout.Toggle("Native Size :", _imgSetNativeSizes[i]);
                    _imgAreFullScreen[i]  = EditorGUILayout.Toggle("FullScreen :", _imgAreFullScreen[i]);
                    if (_imgSetNativeSizes[i] == true)
                    {
                        _imgAreFullScreen[i] = false;
                    }
                    if (_imgAreFullScreen[i] != true)
                    {
                        _imgRectPositions[i] = (ERectPosition)EditorGUILayout.EnumPopup("Button Pos :", _imgRectPositions[i]);
                        _imgOffSets[i]       = EditorGUILayout.Vector2Field("Offset :", _imgOffSets[i]);
                    }

                    GUILayoutExtension.DrawHorizontalLine();
                    EditorGUILayout.Space();
                }
            }


            //BUTTONS


            GUILayoutExtension.DrawHorizontalLine("Button(s)");
            _addBtn = EditorGUILayout.Toggle("Button", _addBtn);


            if (_addBtn)
            {
                _btnNb = Mathf.Clamp(EditorGUILayout.IntField("Number : ", _btnNb), 0, 10);
                GUILayoutExtension.DrawHorizontalLine();
                EditorGUILayout.Space();
                EditorGUILayout.Space();

                for (int i = 0; i < _btnNb; i++)
                {
                    EditorGUILayout.LabelField("Button " + (i + 1).ToString(), guiStyle, new GUILayoutOption[] { });
                    EditorGUILayout.Space();

                    _btnNames[i]             = EditorGUILayout.TextField("Button Name :", _btnNames[i]);
                    _btnSprites[i]           = EditorGUILayout.ObjectField("Button Sprite :", _btnSprites[i], typeof(Sprite), false) as Sprite;
                    _btnSpritesAreNatives[i] = EditorGUILayout.Toggle("Set native :", _btnSpritesAreNatives[i]);
                    if (_btnSpritesAreNatives[i] == false)
                    {
                        _btnSpriteSizes[i] = EditorGUILayout.Vector2Field("Size :", _btnSpriteSizes[i]);
                    }
                    _btnRectPositions[i] = (ERectPosition)EditorGUILayout.EnumPopup("Button Pos :", _btnRectPositions[i]);
                    _btnOffSets[i]       = EditorGUILayout.Vector2Field("Offset :", _btnOffSets[i]);
                    _btnTextNames[i]     = EditorGUILayout.TextField("Text Name :", _btnTextNames[i]);
                    _btnTextText[i]      = EditorGUILayout.TextField("Text :", _btnTextText[i]);
                    _btnTextSizes[i]     = EditorGUILayout.IntField("Size :", _btnTextSizes[i]);
                    _btnTextFonts[i]     = (EFontStyle)EditorGUILayout.EnumPopup("Font Style :", _btnTextFonts[i]);
                    _btnColors[i]        = EditorGUILayout.ColorField("Color :", _btnColors[i]);

                    GUILayoutExtension.DrawHorizontalLine();
                    EditorGUILayout.Space();
                }
            }


            //TEXTS


            GUILayoutExtension.DrawHorizontalLine("Text(s)");
            _addTxt = EditorGUILayout.Toggle("Text", _addTxt);


            if (_addTxt)
            {
                _txtNb = Mathf.Clamp(EditorGUILayout.IntField("Number : ", _txtNb), 0, 10);
                GUILayoutExtension.DrawHorizontalLine();
                EditorGUILayout.Space();
                EditorGUILayout.Space();

                for (int i = 0; i < _txtNb; i++)
                {
                    EditorGUILayout.LabelField("Text " + (i + 1).ToString(), guiStyle, new GUILayoutOption[] { });
                    EditorGUILayout.Space();

                    _txtNames[i]         = EditorGUILayout.TextField("Text Name :", _txtNames[i]);
                    _txtTexts[i]         = EditorGUILayout.TextField("Text :", _txtTexts[i]);
                    _txtSizes[i]         = EditorGUILayout.IntField("Size :", _txtSizes[i]);
                    _txtFontStyles[i]    = (EFontStyle)EditorGUILayout.EnumPopup("Font Style :", _txtFontStyles[i]);
                    _txtColors[i]        = EditorGUILayout.ColorField("Color :", _txtColors[i]);
                    _txtBoxSizes[i]      = EditorGUILayout.Vector2Field("Taille :", _txtBoxSizes[i]);
                    _txtRectPositions[i] = (ERectPosition)EditorGUILayout.EnumPopup("Text Pos :", _txtRectPositions[i]);
                    _txtOffSets[i]       = EditorGUILayout.Vector2Field("Offset :", _txtOffSets[i]);

                    GUILayoutExtension.DrawHorizontalLine();
                    EditorGUILayout.Space();
                }
            }


            //PREFABS


            GUILayoutExtension.DrawHorizontalLine("Prefabs(s)");
            _addPrefab = EditorGUILayout.Toggle("Prefab", _addPrefab);

            if (_addPrefab)
            {
                _prefabNb = Mathf.Clamp(EditorGUILayout.IntField("Number : ", _prefabNb), 0, 10);
                GUILayoutExtension.DrawHorizontalLine();
                EditorGUILayout.Space();
                EditorGUILayout.Space();

                for (int i = 0; i < _prefabNb; i++)
                {
                    EditorGUILayout.LabelField("Prefab " + (i + 1).ToString(), guiStyle, new GUILayoutOption[] { });
                    EditorGUILayout.Space();

                    _prefabGameObjects[i] = EditorGUILayout.ObjectField("Prefab :", _prefabGameObjects[i], typeof(GameObject), false) as GameObject;

                    GUILayoutExtension.DrawHorizontalLine();
                    EditorGUILayout.Space();
                }
            }
        }

        EditorGUILayout.Space();
        GUILayoutExtension.DrawHorizontalLine();
        EditorGUILayout.Space();


        if (GUILayout.Button("Create step",
                             new GUILayoutOption[]
        {
            GUILayout.Height(50),
        }
                             ))
        {
            CreateStep(_selectedSlideTypeEnumVal);
        }


        GUILayout.EndScrollView();
    }