Beispiel #1
0
        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();
        }
Beispiel #2
0
    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();
        }
    }
Beispiel #3
0
        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();
            }
        }
Beispiel #6
0
    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();
        }
    }
Beispiel #9
0
        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();
            }
        }