private void Generate() { GradientAlphaKey [] alphaKey; GradientColorKey[] colorKey; Gradient gradient = null; GameObject gob = null; for (int i = 0; i < sprites.Count; i++) { if (prefabs[i] == null || sprites[i] == null || tools[i] == null) { Debug.LogError("Null reference found at index " + i); continue; } gob = prefabs[i].gameObject; gradient = new Gradient(); colorKey = new GradientColorKey[2]; colorKey[0].color = color; colorKey[0].time = 0.0f; colorKey[1].color = color; colorKey[1].time = 1.0f; alphaKey = new GradientAlphaKey[2]; alphaKey[0].alpha = 1.0f; alphaKey[0].time = 0.0f; alphaKey[1].alpha = 1.0f; alphaKey[1].time = 1.0f; gradient.SetKeys(colorKey, alphaKey); gob.GetComponent <ToolContent>().gradientColor = gradient; gob.GetComponent <Image>().sprite = sprites[i]; GameObject savedPrefab = CommonUtil.SaveAsPrefab(paths[i] + sprites[i].name + ".prefab", gob, false); tools[i].contents.Add(savedPrefab.transform); } DirtyUtil.MarkSceneDirty(); }
public override void OnInspectorGUI() { SerializedObject attrib = new SerializedObject(target); VideoManager vm = (VideoManager)target; attrib.Update(); EditorGUILayout.Separator(); #if !(UNITY_5 || UNITY_2017 || UNITY_2018_0 || UNITY_2018_1 || UNITY_2018_2) //Unity 2018.3 or higher EditorGUILayout.BeginHorizontal(); GUI.backgroundColor = Colors.cyanColor; EditorGUILayout.Separator(); EditorGUILayout.Separator(); if (PrefabUtility.GetPrefabParent(vm.gameObject) != null) { if (GUILayout.Button("Apply", GUILayout.Width(70), GUILayout.Height(30), GUILayout.ExpandWidth(false))) { PrefabUtility.ApplyPrefabInstance(vm.gameObject, InteractionMode.AutomatedAction); } } GUI.backgroundColor = Colors.whiteColor; EditorGUILayout.EndHorizontal(); #endif EditorGUILayout.Separator(); EditorGUILayout.LabelField("Read Me", EditorStyles.boldLabel); EditorGUILayout.HelpBox("For Mobile platforms we recommend to use Video of codec H.264 or VP8 , and compress your video.\n\nRead Manual.pdf in the Docs folder on how to convert video codec \n\nBefore you add the url , please make sure that it's valid and works correctly.\n\n" + "When you use dropbox url , make sure to update url end 'dl=0' to 'dl=1' to make it downloadable file\n", MessageType.Info); EditorGUILayout.Separator(); EditorGUILayout.HelpBox("Click on 'Add New Video Clip' to create new Video Clip item", MessageType.None); EditorGUILayout.HelpBox("Click on 'Remove' to remove the Video Clip item", MessageType.None); EditorGUILayout.HelpBox("Use 'Type' drop down list to select the type of the Video Clip item", MessageType.None); EditorGUILayout.HelpBox("Optional - You can enable and use the Responsive component to scale the gameoject as you want", MessageType.Info); EditorGUILayout.HelpBox("Important - Click on Apply button that located on the top to save your changes", MessageType.Info); EditorGUILayout.Separator(); GUILayout.BeginHorizontal(); GUI.backgroundColor = Colors.greenColor; if (GUILayout.Button("Add New Video Clip", GUILayout.Width(130), GUILayout.Height(20))) { vm.videoClips.Add(new VideoManager.MyVideoClip()); } GUI.backgroundColor = Colors.paleGreen; if (GUILayout.Button("More Assets", GUILayout.Width(110), GUILayout.Height(20))) { Application.OpenURL(Links.indieStudioStoreURL); } if (GUILayout.Button("Contact US", GUILayout.Width(110), GUILayout.Height(20))) { Application.OpenURL(Links.indieStudioContactUsURL); } GUI.backgroundColor = Colors.whiteColor; GUILayout.EndHorizontal(); EditorGUILayout.Separator(); vm.showContents = EditorGUILayout.Foldout(vm.showContents, "Video Clips"); if (vm.showContents) { for (int i = 0; i < vm.videoClips.Count; i++) { EditorGUILayout.BeginHorizontal(); GUILayout.Space(10); EditorGUILayout.BeginVertical(); EditorGUILayout.Separator(); GUI.backgroundColor = Colors.redColor; if (GUILayout.Button("Remove", GUILayout.Width(70), GUILayout.Height(20))) { bool isOk = EditorUtility.DisplayDialog("Confirm Message", "Are you sure that you want to remove the selected item ?", "yes", "no"); if (isOk) { vm.videoClips.RemoveAt(i); return; } } GUI.backgroundColor = Colors.whiteColor; EditorGUILayout.Separator(); if (vm.videoClips [i].type == VideoManager.MyVideoClip.Type.BUILT_IN) { vm.videoClips [i].clip = EditorGUILayout.ObjectField("Video Clip", vm.videoClips [i].clip, typeof(VideoClip), true) as VideoClip; } else if (vm.videoClips [i].type == VideoManager.MyVideoClip.Type.URL) { vm.videoClips [i].url = EditorGUILayout.TextField("URL", vm.videoClips [i].url); } vm.videoClips [i].type = (VideoManager.MyVideoClip.Type)EditorGUILayout.EnumPopup("Type", vm.videoClips [i].type); EditorGUILayout.Separator(); EditorGUILayout.BeginHorizontal(); EditorGUI.BeginDisabledGroup(i == vm.videoClips.Count - 1); if (GUILayout.Button("▼", GUILayout.Width(22), GUILayout.Height(22))) { MoveDown(i, vm); } EditorGUI.EndDisabledGroup(); EditorGUI.BeginDisabledGroup(i - 1 < 0); if (GUILayout.Button("▲", GUILayout.Width(22), GUILayout.Height(22))) { MoveUp(i, vm); } EditorGUI.EndDisabledGroup(); EditorGUILayout.EndHorizontal(); EditorGUILayout.Separator(); GUILayout.Box("", GUILayout.ExpandWidth(true), GUILayout.Height(2)); EditorGUILayout.EndVertical(); EditorGUILayout.EndHorizontal(); } } EditorGUILayout.Separator(); EditorGUILayout.PropertyField(attrib.FindProperty("audioSource"), true); EditorGUILayout.PropertyField(attrib.FindProperty("videoRawImage"), true); EditorGUILayout.PropertyField(attrib.FindProperty("soundLevelSlider"), true); EditorGUILayout.PropertyField(attrib.FindProperty("videoSlider"), true); EditorGUILayout.PropertyField(attrib.FindProperty("videoClipNumber"), true); EditorGUILayout.PropertyField(attrib.FindProperty("videoTimeText"), true); EditorGUILayout.PropertyField(attrib.FindProperty("soundVolumeIcons"), true); EditorGUILayout.PropertyField(attrib.FindProperty("loopIcons"), true); EditorGUILayout.PropertyField(attrib.FindProperty("shuffleIcons"), true); EditorGUILayout.PropertyField(attrib.FindProperty("playIcon"), true); EditorGUILayout.PropertyField(attrib.FindProperty("pauseIcon"), true); EditorGUILayout.PropertyField(attrib.FindProperty("loopButtonImage"), true); EditorGUILayout.PropertyField(attrib.FindProperty("shuffleButtonImage"), true); EditorGUILayout.PropertyField(attrib.FindProperty("soundButtonImage"), true); EditorGUILayout.PropertyField(attrib.FindProperty("playButtonImage"), true); EditorGUILayout.PropertyField(attrib.FindProperty("loadingPanel"), true); EditorGUILayout.PropertyField(attrib.FindProperty("playOnStart"), true); EditorGUILayout.PropertyField(attrib.FindProperty("fullScreen"), true); EditorGUILayout.PropertyField(attrib.FindProperty("allowControls"), true); EditorGUILayout.PropertyField(attrib.FindProperty("aspectRatio"), true); EditorGUILayout.PropertyField(attrib.FindProperty("videoEndReachedEvent"), true); attrib.ApplyModifiedProperties(); if (GUI.changed) { DirtyUtil.MarkSceneDirty(); } }
public override void OnInspectorGUI() { if (Application.isPlaying) { return; } IndieStudio.DrawingAndColoring.Logic.Tool tool = (IndieStudio.DrawingAndColoring.Logic.Tool)target; //get the target EditorGUILayout.Separator(); #if !(UNITY_5 || UNITY_2017 || UNITY_2018_0 || UNITY_2018_1 || UNITY_2018_2) //Unity 2018.3 or higher EditorGUILayout.BeginHorizontal(); GUI.backgroundColor = Colors.cyanColor; EditorGUILayout.Separator(); if (PrefabUtility.GetPrefabParent(tool.gameObject) != null) { if (GUILayout.Button("Apply", GUILayout.Width(70), GUILayout.Height(30), GUILayout.ExpandWidth(false))) { PrefabUtility.ApplyPrefabInstance(tool.gameObject, InteractionMode.AutomatedAction); } } GUI.backgroundColor = Colors.whiteColor; EditorGUILayout.EndHorizontal(); #endif EditorGUILayout.Separator(); EditorGUILayout.HelpBox("The tool GameObject must be breakable from Prefab instance", MessageType.Info); EditorGUILayout.Separator(); //tool.selectedContentIndex = EditorGUILayout.IntField ("Selected Content's Index", tool.selectedContentIndex); //EditorGUILayout.Separator (); tool.feature = (IndieStudio.DrawingAndColoring.Logic.Tool.ToolFeature)EditorGUILayout.EnumPopup("Feature", tool.feature); if (tool.feature == IndieStudio.DrawingAndColoring.Logic.Tool.ToolFeature.Line) { if (!tool.repeatedTexture) { tool.drawMaterial = EditorGUILayout.ObjectField("Line Material", tool.drawMaterial, typeof(Material), true) as Material; } tool.lineThicknessFactor = EditorGUILayout.Slider("Line Thickness Factor", tool.lineThicknessFactor, 0.1f, 10); tool.lineTextureMode = (LineTextureMode)EditorGUILayout.EnumPopup("Line Texture Mode", tool.lineTextureMode); tool.createPaintLines = EditorGUILayout.Toggle("Create Paint Lines", tool.createPaintLines); tool.roundedEdges = EditorGUILayout.Toggle("Rounded Edges", tool.roundedEdges); } tool.useAsToolContent = EditorGUILayout.Toggle("Use As Content", tool.useAsToolContent); tool.useAsCursor = EditorGUILayout.Toggle("Use As Cursor", tool.useAsCursor); tool.enableContentsShadow = EditorGUILayout.Toggle("Enable Contents Shadow", tool.enableContentsShadow); tool.repeatedTexture = EditorGUILayout.Toggle("Repeated Texture", tool.repeatedTexture); tool.sliderContentsCellSize = EditorGUILayout.Vector2Field("Slider Contents Cell Size", tool.sliderContentsCellSize); tool.sliderContentsSpacing = EditorGUILayout.Vector2Field("Slider Contents Spacing", tool.sliderContentsSpacing); tool.contentRotation = EditorGUILayout.Slider("Content Rotation", tool.contentRotation, 0, 360); tool.cursorRotation = EditorGUILayout.Slider("Cursor Rotation", tool.cursorRotation, 0, 360); if (tool.feature != IndieStudio.DrawingAndColoring.Logic.Tool.ToolFeature.Hand) { //tool.showContents = EditorGUILayout.Foldout (tool.showContents, "Contents"); //if (tool.showContents) { GUILayout.BeginHorizontal(); GUI.backgroundColor = Colors.greenColor; if (GUILayout.Button("Add New Content", GUILayout.Width(120), GUILayout.Height(20))) { tool.contents.Add(null); } GUI.backgroundColor = Colors.redColor; if (tool.contents.Count != 0) { if (GUILayout.Button("Remove All", GUILayout.Width(120), GUILayout.Height(20))) { bool isOk = EditorUtility.DisplayDialog("Confirm Message", "Are you sure that you want to remove all contents ?", "yes", "no"); if (isOk) { tool.contents.Clear(); } } } GUI.backgroundColor = Colors.whiteColor; GUI.backgroundColor = Colors.yellowColor; if (GUILayout.Button("More Assets", GUILayout.Width(120), GUILayout.Height(20))) { Application.OpenURL(Links.indieStudioStoreURL); } GUI.backgroundColor = Colors.whiteColor; GUILayout.EndHorizontal(); EditorGUILayout.Separator(); for (int i = 0; i < tool.contents.Count; i++) { EditorGUILayout.Foldout(true, "Content[" + i + "]"); EditorGUILayout.BeginHorizontal(); GUILayout.Space(10); EditorGUILayout.BeginVertical(); EditorGUILayout.Separator(); EditorGUILayout.BeginHorizontal(); //EditorGUILayout.Separator(); GUI.backgroundColor = Colors.redColor; if (GUILayout.Button("Remove", GUILayout.Width(70), GUILayout.Height(20))) { bool isOk = EditorUtility.DisplayDialog("Confirm Message", "Are you sure that you want to remove the selected content ?", "yes", "no"); if (isOk) { tool.contents.RemoveAt(i); break; } } GUI.backgroundColor = Colors.whiteColor; EditorGUILayout.EndHorizontal(); tool.contents [i] = EditorGUILayout.ObjectField("Element " + i, tool.contents [i], typeof(Transform), true) as Transform; EditorGUILayout.BeginHorizontal(); EditorGUI.BeginDisabledGroup(i == tool.contents.Count - 1); if (GUILayout.Button("▼", GUILayout.Width(22), GUILayout.Height(22))) { MoveDown(i, tool); } EditorGUI.EndDisabledGroup(); EditorGUI.BeginDisabledGroup(i - 1 < 0); if (GUILayout.Button("▲", GUILayout.Width(22), GUILayout.Height(22))) { MoveUp(i, tool); } EditorGUI.EndDisabledGroup(); EditorGUILayout.EndHorizontal(); EditorGUILayout.Separator(); GUILayout.Box("", GUILayout.ExpandWidth(true), GUILayout.Height(2)); EditorGUILayout.EndVertical(); EditorGUILayout.EndHorizontal(); } //} } //Audioclip effect for Fill and Stamp features if (tool.feature == IndieStudio.DrawingAndColoring.Logic.Tool.ToolFeature.Fill || tool.feature == IndieStudio.DrawingAndColoring.Logic.Tool.ToolFeature.Stamp) { tool.audioClip = EditorGUILayout.ObjectField("Audio Clip", tool.audioClip, typeof(AudioClip), true) as AudioClip; } if (GUI.changed) { DirtyUtil.MarkSceneDirty(); } }
public override void OnInspectorGUI() { ShapesManager shapesManager = (ShapesManager)target; //get the target EditorGUILayout.Separator(); EditorGUILayout.Separator(); EditorGUILayout.HelpBox("Follow the instructions below on how to add new shape", MessageType.Info); EditorGUILayout.Separator(); showInstructions = EditorGUILayout.Foldout(showInstructions, "Instructions"); EditorGUILayout.Separator(); if (showInstructions) { EditorGUILayout.HelpBox("- Click on 'Add New Shape' button to add new Shape", MessageType.None); EditorGUILayout.HelpBox("- Click on 'Remove Last Shape' button to remove the lastest shape in the list", MessageType.None); EditorGUILayout.HelpBox("- Click on 'Apply' button that located at the top to save your changes ", MessageType.None); } EditorGUILayout.Separator(); GUILayout.BeginHorizontal(); if (GUILayout.Button("Review Numbers Tracing", GUILayout.Width(180), GUILayout.Height(25))) { Application.OpenURL("https://www.assetstore.unity3d.com/en/#!/search/page=1/sortby=popularity/query=publisher:9268"); } GUI.backgroundColor = greenColor; if (GUILayout.Button("More Assets", GUILayout.Width(110), GUILayout.Height(25))) { Application.OpenURL("https://www.assetstore.unity3d.com/en/#!/search/page=1/sortby=popularity/query=publisher:9268"); } GUI.backgroundColor = whiteColor; GUILayout.EndHorizontal(); EditorGUILayout.Separator(); GUILayout.BeginHorizontal(); GUI.backgroundColor = greenColor; if (GUILayout.Button("Add New Shape", GUILayout.Width(110), GUILayout.Height(20))) { shapesManager.shapes.Add(new ShapesManager.Shape()); } GUI.backgroundColor = redColor; if (GUILayout.Button("Remove Last Shape", GUILayout.Width(150), GUILayout.Height(20))) { if (shapesManager.shapes.Count != 0) { shapesManager.shapes.RemoveAt(shapesManager.shapes.Count - 1); } } GUI.backgroundColor = whiteColor; GUILayout.EndHorizontal(); EditorGUILayout.Separator(); for (int i = 0; i < shapesManager.shapes.Count; i++) { shapesManager.shapes [i].showContents = EditorGUILayout.Foldout(shapesManager.shapes [i].showContents, "Shape[" + i + "]"); if (shapesManager.shapes [i].showContents) { EditorGUILayout.Separator(); shapesManager.shapes [i].gamePrefab = EditorGUILayout.ObjectField("Game Prefab", shapesManager.shapes [i].gamePrefab, typeof(GameObject), true) as GameObject; EditorGUILayout.Separator(); GUILayout.Box("", GUILayout.ExpandWidth(true), GUILayout.Height(2)); } } if (GUI.changed) { DirtyUtil.MarkSceneDirty(); } }
public override void OnInspectorGUI() { if (Application.isPlaying) { return; } #if !(UNITY_ANDROID || UNITY_IPHONE) EditorGUILayout.Separator(); EditorGUILayout.HelpBox("You need to switch to mobile platform (Android or IOS) to setup Ads", MessageType.Warning); return; #endif AdsManager attrib = (AdsManager)target; //get the target if (Packages == null) { selectedPackage = 0; System.Array packagesEnum = System.Enum.GetValues(typeof(AdPackage.Package)); if (packagesEnum.Length == 0) { return; } Packages = new string[packagesEnum.Length]; for (int i = 0; i < packagesEnum.Length; i++) { Packages [i] = packagesEnum.GetValue(i).ToString(); } } EditorGUILayout.Separator(); #if !(UNITY_5 || UNITY_2017 || UNITY_2018_0 || UNITY_2018_1 || UNITY_2018_2) //Unity 2018.3 or higher EditorGUILayout.BeginHorizontal(); GUI.backgroundColor = Colors.cyanColor; EditorGUILayout.Separator(); if (PrefabUtility.GetPrefabParent(attrib.gameObject) != null) { if (GUILayout.Button("Apply", GUILayout.Width(70), GUILayout.Height(30), GUILayout.ExpandWidth(false))) { PrefabUtility.ApplyPrefabInstance(attrib.gameObject, InteractionMode.AutomatedAction); } } GUI.backgroundColor = Colors.whiteColor; EditorGUILayout.EndHorizontal(); #endif EditorGUILayout.Separator(); selectedPackage = GUILayout.Toolbar(selectedPackage, Packages); EditorGUILayout.Separator(); for (int i = 0; i < attrib.adPackages.Count; i++) { if (selectedPackage != i) { continue; } ShowInstruction(attrib.adPackages [i].package); EditorGUILayout.Separator(); EditorGUILayout.BeginHorizontal(); GUI.backgroundColor = Colors.greenColor; if (GUILayout.Button("Download " + labels [selectedPackage], GUILayout.Width(200), GUILayout.Height(20))) { Application.OpenURL(downloadURlS [i]); } GUI.backgroundColor = Colors.whiteColor; GUI.backgroundColor = Colors.cyanColor; if (GUILayout.Button("More Details About " + Packages [selectedPackage], GUILayout.Width(220), GUILayout.Height(20))) { Application.OpenURL(moreDetails [i]); } GUI.backgroundColor = Colors.whiteColor; EditorGUILayout.EndHorizontal(); EditorGUILayout.Separator(); attrib.adPackages [i].isEnabled = EditorGUILayout.Toggle("Enable " + Packages [selectedPackage] + " ADS", attrib.adPackages [i].isEnabled); EditorGUILayout.Separator(); EditorGUILayout.BeginHorizontal(); GUILayout.Label("Event"); GUILayout.Space(40); GUILayout.Label("Ad Type"); GUILayout.Space(20); GUILayout.Label("Ad Position"); GUILayout.Label("Active"); EditorGUILayout.EndHorizontal(); EditorGUILayout.Separator(); foreach (AdPackage.AdEvent adEvent in attrib.adPackages[i].adEvents) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.EnumPopup(adEvent.evt); EditorGUI.BeginDisabledGroup(attrib.adPackages [i].package == AdPackage.Package.UNITY); adEvent.type = (AdPackage.AdEvent.Type)EditorGUILayout.EnumPopup(adEvent.type); if (adEvent.type == AdPackage.AdEvent.Type.BANNER && attrib.adPackages [i].package == AdPackage.Package.CHARTBOOST) { adEvent.type = AdPackage.AdEvent.Type.INTERSTITIAL; } EditorGUI.EndDisabledGroup(); EditorGUI.BeginDisabledGroup(adEvent.type != AdPackage.AdEvent.Type.BANNER || attrib.adPackages [i].package == AdPackage.Package.CHARTBOOST || attrib.adPackages [i].package == AdPackage.Package.UNITY); #if GOOGLE_MOBILE_ADS adEvent.adPostion = (GoogleMobileAds.Api.AdPosition)EditorGUILayout.EnumPopup(adEvent.adPostion); #else EditorGUILayout.EnumPopup(undefined); #endif EditorGUI.EndDisabledGroup(); adEvent.isEnabled = EditorGUILayout.Toggle(adEvent.isEnabled); EditorGUILayout.EndHorizontal(); } } EditorGUILayout.Separator(); if (GUI.changed) { DirtyUtil.MarkSceneDirty(); } }
public override void OnInspectorGUI() { if (Application.isPlaying) { return; } AdsManager attrib = (AdsManager)target; //get the target if (Packages == null) { selectedPackage = 0; System.Array packagesEnum = System.Enum.GetValues(typeof(AdPackage.Package)); if (packagesEnum.Length == 0) { return; } Packages = new string[packagesEnum.Length]; for (int i = 0; i < packagesEnum.Length; i++) { Packages [i] = packagesEnum.GetValue(i).ToString(); } } EditorGUILayout.Separator(); selectedPackage = GUILayout.Toolbar(selectedPackage, Packages); EditorGUILayout.Separator(); for (int i = 0; i < attrib.adPackages.Count; i++) { if (selectedPackage != i) { continue; } ShowInstruction(attrib.adPackages [i].package); EditorGUILayout.Separator(); EditorGUILayout.BeginHorizontal(); if (attrib.adPackages [i].package != AdPackage.Package.UNITY) { GUI.backgroundColor = Colors.greenColor; if (GUILayout.Button("Download " + Packages [selectedPackage], GUILayout.Width(180), GUILayout.Height(20))) { Application.OpenURL(downloadURlS [i]); } GUI.backgroundColor = Colors.whiteColor; } GUI.backgroundColor = Colors.greenColor; if (GUILayout.Button("More Details About " + Packages [selectedPackage], GUILayout.Width(220), GUILayout.Height(20))) { Application.OpenURL(moreDetails [i]); } GUI.backgroundColor = Colors.whiteColor; EditorGUILayout.EndHorizontal(); EditorGUILayout.Separator(); attrib.adPackages [i].isEnabled = EditorGUILayout.Toggle("Enable " + Packages [selectedPackage] + " ADS", attrib.adPackages [i].isEnabled); EditorGUILayout.Separator(); EditorGUILayout.BeginHorizontal(); GUILayout.Label("Event"); GUILayout.Space(40); GUILayout.Label("Ad Type"); GUILayout.Space(20); GUILayout.Label("Ad Position"); GUILayout.Label("Active"); EditorGUILayout.EndHorizontal(); EditorGUILayout.Separator(); foreach (AdPackage.AdEvent adEvent in attrib.adPackages[i].adEvents) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.EnumPopup(adEvent.evt); EditorGUI.BeginDisabledGroup(attrib.adPackages [i].package == AdPackage.Package.UNITY); adEvent.type = (AdPackage.AdEvent.Type)EditorGUILayout.EnumPopup(adEvent.type); if (adEvent.type == AdPackage.AdEvent.Type.BANNER && attrib.adPackages [i].package == AdPackage.Package.CHARTBOOST) { adEvent.type = AdPackage.AdEvent.Type.INTERSTITIAL; } EditorGUI.EndDisabledGroup(); EditorGUI.BeginDisabledGroup(adEvent.type != AdPackage.AdEvent.Type.BANNER || attrib.adPackages [i].package == AdPackage.Package.CHARTBOOST || attrib.adPackages [i].package == AdPackage.Package.UNITY); //adEvent.adPostion = (GoogleMobileAds.Api.AdPosition)EditorGUILayout.EnumPopup (adEvent.adPostion); EditorGUI.EndDisabledGroup(); adEvent.isEnabled = EditorGUILayout.Toggle(adEvent.isEnabled); EditorGUILayout.EndHorizontal(); } } EditorGUILayout.Separator(); if (GUI.changed) { DirtyUtil.MarkSceneDirty(); } }
public override void OnInspectorGUI() { ShapesManager shapesManager = (ShapesManager)target;//get the target EditorGUILayout.Separator(); #if !(UNITY_5 || UNITY_2017 || UNITY_2018_0 || UNITY_2018_1 || UNITY_2018_2) //Unity 2018.3 or higher EditorGUILayout.BeginHorizontal(); GUI.backgroundColor = Colors.cyanColor; EditorGUILayout.Separator(); if (PrefabUtility.GetPrefabParent(shapesManager.gameObject) != null) { if (GUILayout.Button("Apply", GUILayout.Width(70), GUILayout.Height(30), GUILayout.ExpandWidth(false))) { PrefabUtility.ApplyPrefabInstance(shapesManager.gameObject, InteractionMode.AutomatedAction); } } GUI.backgroundColor = Colors.whiteColor; EditorGUILayout.EndHorizontal(); #endif EditorGUILayout.Separator(); EditorGUILayout.HelpBox("Follow the instructions below on how to add new shape's prefab", MessageType.Info); EditorGUILayout.Separator(); showInstructions = EditorGUILayout.Foldout(showInstructions, "Instructions"); EditorGUILayout.Separator(); if (showInstructions) { EditorGUILayout.HelpBox("- Click on 'Add New Shape' button to add new Shape", MessageType.None); EditorGUILayout.HelpBox("- Click on 'Remove Last Shape' button to remove the lastest shape in the list", MessageType.None); EditorGUILayout.HelpBox("- Click on ShapesManager 'Apply' button that located at the top to save your changes ", MessageType.None); } EditorGUILayout.Separator(); GUILayout.BeginHorizontal(); GUI.backgroundColor = Colors.greenColor; if (GUILayout.Button("Add New Shape", GUILayout.Width(110), GUILayout.Height(20))) { shapesManager.shapes.Add(new ShapesManager.Shape()); } GUI.backgroundColor = Colors.yellowColor; if (GUILayout.Button("More Assets", GUILayout.Width(110), GUILayout.Height(20))) { Application.OpenURL("https://www.assetstore.unity3d.com/en/#!/search/page=1/sortby=popularity/query=publisher:9268"); } GUI.backgroundColor = Colors.whiteColor; GUILayout.EndHorizontal(); EditorGUILayout.Separator(); for (int i = 0; i < shapesManager.shapes.Count; i++) { shapesManager.shapes[i].showContents = EditorGUILayout.Foldout(shapesManager.shapes[i].showContents, "Shape[" + i + "]"); if (shapesManager.shapes[i].showContents) { EditorGUILayout.Separator(); EditorGUILayout.BeginHorizontal(); //EditorGUILayout.Separator(); GUI.backgroundColor = Colors.redColor; if (GUILayout.Button("Remove", GUILayout.Width(70), GUILayout.Height(20))) { bool isOk = EditorUtility.DisplayDialog("Confirm Message", "Are you sure that you want to remove the selected shape ?", "yes", "no"); if (isOk) { shapesManager.shapes.RemoveAt(i); return; } } GUI.backgroundColor = Colors.whiteColor; EditorGUILayout.EndHorizontal(); EditorGUILayout.Separator(); //Shape prefab shapesManager.shapes[i].gamePrefab = EditorGUILayout.ObjectField("Shape Prefab", shapesManager.shapes[i].gamePrefab, typeof(GameObject), true) as GameObject; if (shapesManager.shapes[i].gamePrefab != null) { previewSprite = null; if (shapesManager.shapes[i].gamePrefab.GetComponent <Image>() != null) { previewSprite = shapesManager.shapes[i].gamePrefab.GetComponent <Image>().sprite; } EditorGUILayout.Separator(); EditorGUILayout.LabelField("Shape Prefab Preview"); EditorGUILayout.ObjectField("", previewSprite, typeof(Sprite), false); } EditorGUILayout.BeginHorizontal(); EditorGUI.BeginDisabledGroup(i == shapesManager.shapes.Count - 1); if (GUILayout.Button("▼", GUILayout.Width(22), GUILayout.Height(22))) { MoveDown(i, shapesManager); } EditorGUI.EndDisabledGroup(); EditorGUI.BeginDisabledGroup(i - 1 < 0); if (GUILayout.Button("▲", GUILayout.Width(22), GUILayout.Height(22))) { MoveUp(i, shapesManager); } EditorGUI.EndDisabledGroup(); EditorGUILayout.EndHorizontal(); EditorGUILayout.Separator(); GUILayout.Box("", GUILayout.ExpandWidth(true), GUILayout.Height(2)); } EditorGUILayout.Separator(); } if (GUI.changed) { DirtyUtil.MarkSceneDirty(); } }
public override void OnInspectorGUI() { ShapesManager shapesManager = (ShapesManager)target; //get the target EditorGUILayout.Separator(); EditorGUILayout.Separator(); EditorGUILayout.HelpBox("Follow the instructions below on how to add new shape", MessageType.Info); EditorGUILayout.Separator(); showInstructions = EditorGUILayout.Foldout(showInstructions, "Instructions"); EditorGUILayout.Separator(); if (showInstructions) { EditorGUILayout.HelpBox("- Click on 'Add New Shape' button to add new Shape", MessageType.None); EditorGUILayout.HelpBox("- Click on 'Remove Last Shape' button to remove the lastest shape in the list", MessageType.None); EditorGUILayout.HelpBox("- Click on 'Apply' button that located at the top to save your changes ", MessageType.None); } EditorGUILayout.Separator(); shapesManager.shapeLabel = EditorGUILayout.TextField("Shape Label", shapesManager.shapeLabel); shapesManager.shapePrefix = EditorGUILayout.TextField("Shape Prefix", shapesManager.shapePrefix); shapesManager.sceneName = EditorGUILayout.TextField("Scene Name", shapesManager.sceneName); EditorGUILayout.Separator(); GUILayout.BeginHorizontal(); GUI.backgroundColor = greenColor; if (GUILayout.Button("Add New Shape", GUILayout.Width(110), GUILayout.Height(20))) { shapesManager.shapes.Add(new ShapesManager.Shape()); } GUI.backgroundColor = redColor; if (GUILayout.Button("Remove Last Shape", GUILayout.Width(150), GUILayout.Height(20))) { if (shapesManager.shapes.Count != 0) { shapesManager.shapes.RemoveAt(shapesManager.shapes.Count - 1); } } GUI.backgroundColor = whiteColor; GUILayout.EndHorizontal(); EditorGUILayout.Separator(); for (int i = 0; i < shapesManager.shapes.Count; i++) { shapesManager.shapes [i].showContents = EditorGUILayout.Foldout(shapesManager.shapes [i].showContents, "Shape[" + i + "]"); if (shapesManager.shapes [i].showContents) { EditorGUILayout.Separator(); shapesManager.shapes [i].gamePrefab = EditorGUILayout.ObjectField("Game Prefab", shapesManager.shapes [i].gamePrefab, typeof(GameObject), true) as GameObject; shapesManager.shapes [i].picture = EditorGUILayout.ObjectField("Picture", shapesManager.shapes [i].picture, typeof(Sprite), true) as Sprite; EditorGUILayout.Separator(); GUILayout.Box("", GUILayout.ExpandWidth(true), GUILayout.Height(2)); } } if (GUI.changed) { DirtyUtil.MarkSceneDirty(); } }
public override void OnInspectorGUI() { if (Application.isPlaying) { return; } IndieStudio.DrawingAndColoring.Logic.Tool tool = (IndieStudio.DrawingAndColoring.Logic.Tool)target; //get the target EditorGUILayout.Separator(); EditorGUILayout.HelpBox("The tool GameObject must be breakable from Prefab instance", MessageType.Info); EditorGUILayout.Separator(); GUILayout.BeginHorizontal(); if (GUILayout.Button("Review Drawing & Coloring Extra", GUILayout.Width(230), GUILayout.Height(22))) { Application.OpenURL(Links.packageURL); } GUI.backgroundColor = Colors.greenColor; if (GUILayout.Button("More Assets", GUILayout.Width(120), GUILayout.Height(22))) { Application.OpenURL(Links.indieStudioStoreURL); } GUI.backgroundColor = Colors.whiteColor; GUILayout.EndHorizontal(); EditorGUILayout.Separator(); tool.selectedContentIndex = EditorGUILayout.IntField("Selected Content's Index", tool.selectedContentIndex); EditorGUILayout.Separator(); tool.feature = (IndieStudio.DrawingAndColoring.Logic.Tool.ToolFeature)EditorGUILayout.EnumPopup("Feature", tool.feature); if (tool.feature == IndieStudio.DrawingAndColoring.Logic.Tool.ToolFeature.Line) { if (!tool.repeatedTexture) { tool.drawMaterial = EditorGUILayout.ObjectField("Line Material", tool.drawMaterial, typeof(Material), true) as Material; } tool.lineThicknessFactor = EditorGUILayout.Slider("Line Thickness Factor", tool.lineThicknessFactor, 0.1f, 10); tool.lineTextureMode = (LineTextureMode)EditorGUILayout.EnumPopup("Line Texture Mode", tool.lineTextureMode); tool.createPaintLines = EditorGUILayout.Toggle("Create Paint Lines", tool.createPaintLines); tool.roundedEdges = EditorGUILayout.Toggle("Rounded Edges", tool.roundedEdges); } tool.useAsToolContent = EditorGUILayout.Toggle("Use As Content", tool.useAsToolContent); tool.useAsCursor = EditorGUILayout.Toggle("Use As Cursor", tool.useAsCursor); tool.enableContentsShadow = EditorGUILayout.Toggle("Enable Contents Shadow", tool.enableContentsShadow); tool.repeatedTexture = EditorGUILayout.Toggle("Repeated Texture", tool.repeatedTexture); tool.sliderContentsCellSize = EditorGUILayout.Vector2Field("Slider Contents Cell Size", tool.sliderContentsCellSize); tool.sliderContentsSpacing = EditorGUILayout.Vector2Field("Slider Contents Spacing", tool.sliderContentsSpacing); tool.contentRotation = EditorGUILayout.Slider("Content Rotation", tool.contentRotation, 0, 360); tool.cursorRotation = EditorGUILayout.Slider("Cursor Rotation", tool.cursorRotation, 0, 360); if (tool.feature != IndieStudio.DrawingAndColoring.Logic.Tool.ToolFeature.Hand) { tool.showContents = EditorGUILayout.Foldout(tool.showContents, "Contents"); if (tool.showContents) { GUILayout.BeginHorizontal(); GUI.backgroundColor = Colors.greenColor; if (GUILayout.Button("Add New Content", GUILayout.Width(110), GUILayout.Height(20))) { tool.contents.Add(null); } GUI.backgroundColor = Colors.redColor; if (GUILayout.Button("Remove Last Content", GUILayout.Width(150), GUILayout.Height(20))) { if (tool.contents.Count != 0) { tool.contents.RemoveAt(tool.contents.Count - 1); } } GUI.backgroundColor = Colors.whiteColor; GUILayout.EndHorizontal(); EditorGUILayout.Separator(); for (int i = 0; i < tool.contents.Count; i++) { tool.contents [i] = EditorGUILayout.ObjectField("Element " + i, tool.contents [i], typeof(Transform), true) as Transform; } } } //Audioclip effect for Fill and Stamp features if (tool.feature == IndieStudio.DrawingAndColoring.Logic.Tool.ToolFeature.Fill || tool.feature == IndieStudio.DrawingAndColoring.Logic.Tool.ToolFeature.Stamp) { tool.audioClip = EditorGUILayout.ObjectField("Audio Clip", tool.audioClip, typeof(AudioClip), true) as AudioClip; } if (GUI.changed) { DirtyUtil.MarkSceneDirty(); } }