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; } }
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(); }