public static InspectorButton <T> CreateSeparator()
            {
                var newButton = new InspectorButton <T>("", null);

                newButton.isSeparator = true;
                return(newButton);
            }
    public override void OnInspectorGUI()
    {
        _myScript = (DomainLogic)target;

        EditorGUILayout.BeginVertical("box");
        GUILayout.Space(5);

        GUILayout.Label("Database");
        GUILayout.Space(5);

        if (GUILayout.Button("Recreate Database"))
        {
            _action = InspectorButton.RecreateDataBase;
        }

        if (GUILayout.Button("Clean Up Users"))
        {
            _action = InspectorButton.CleanUpUsers;
        }

        GUILayout.Space(5);
        EditorGUILayout.EndVertical();

        //--------------------------------------------------------------------------------------------------------------------------------------------------------
        GUILayout.Space(20);    // CONFIRM
                                //--------------------------------------------------------------------------------------------------------------------------------------------------------

        if (_setupConfirm)
        {
            EditorGUILayout.BeginVertical("box");
            GUILayout.Space(5);

            EditorGUILayout.BeginHorizontal();

            GUILayout.FlexibleSpace();

            if (GUILayout.Button("Confirm", GUILayout.Width(percent.Find(_percent: 25, _of: Screen.width)), GUILayout.Height(50)))
            {
                ConfirmAccepted();
            }

            if (GUILayout.Button("Cancel", GUILayout.Width(percent.Find(_percent: 25, _of: Screen.width)), GUILayout.Height(50)))
            {
                _setupConfirm = false;
            }

            GUILayout.FlexibleSpace();

            EditorGUILayout.EndHorizontal();

            GUILayout.Space(5);
            EditorGUILayout.EndVertical();
        }

        // Show default inspector property editor
        DrawDefaultInspector();
    }
    public override void OnInspectorGUI()
    {
        _myScript = (MapGenerator)target;

        EditorGUILayout.BeginVertical("box");
        GUILayout.Space(5);

        GUILayout.Label("Database");
        GUILayout.Space(5);

        if (GUILayout.Button("Recreate Database"))
            _action = InspectorButton.RecreateDataBase;

        if (GUILayout.Button("Clean Up Users"))
            _action = InspectorButton.CleanUpUsers;

        GUILayout.Space(5);
        EditorGUILayout.EndVertical();

        //--------------------------------------------------------------------------------------------------------------------------------------------------------
        GUILayout.Space(10);    // MAP
                                //--------------------------------------------------------------------------------------------------------------------------------------------------------

        //--------------------------------------------------------------------------------------------------------------------------------------------------------
        GUILayout.Space(10);    // CREATE
                                //--------------------------------------------------------------------------------------------------------------------------------------------------------

        EditorGUILayout.BeginVertical("box");
        GUILayout.Space(5);

        GUILayout.Label("Map Creation");
        GUILayout.Space(5);

        if (GUILayout.Button("Generate Base Map", GUILayout.Width(UiUtils.GetPercent(Screen.width, 25)), GUILayout.Height(30)))
            _myScript.GenerateBaseMap(true);

        _myScript.NewGameObject = EditorGUILayout.ObjectField("Map :", _myScript.NewGameObject, typeof(GameObject), true) as GameObject;

        _myScript.MapName = EditorGUILayout.TextField("Name :", _myScript.MapName);
        _myScript.MapNumber = EditorGUILayout.IntField("Number :", _myScript.MapNumber);

        if (GUILayout.Button("Create Map"))
            _action = InspectorButton.CreateMap;

        GUILayout.Space(5);
        EditorGUILayout.EndVertical();

        //--------------------------------------------------------------------------------------------------------------------------------------------------------
        GUILayout.Space(10);    // UPDATE
        //--------------------------------------------------------------------------------------------------------------------------------------------------------

        EditorGUILayout.BeginVertical("box");
        GUILayout.Space(5);

        GUILayout.Label("Map Update");
        GUILayout.Space(5);

        //EditorGUILayout.BeginHorizontal();

        //if (GUILayout.Button("Get maps", GUILayout.Width(UiUtils.GetPercent(Screen.width, 25)), GUILayout.Height(30)))
        //    _myScript.GetMaps();

        //GUILayout.FlexibleSpace();

        //EditorGUILayout.EndHorizontal();

        // Map List
        if (_myScript.Maps != null)
        {
            EditorGUILayout.BeginVertical("box");

            foreach (var map in _myScript.Maps)
            {
                EditorGUILayout.BeginHorizontal();

                EditorGUILayout.BeginVertical();

                GUILayout.Label("Id:" + map.Id, GUILayout.Width(UiUtils.GetPercent(Screen.width, 10)));

                EditorGUILayout.BeginHorizontal();

                GUILayout.Label("Name :");
                map.Name = EditorGUILayout.TextField(map.Name);

                EditorGUILayout.EndHorizontal();

                EditorGUILayout.BeginHorizontal();

                GUILayout.Label("Number :");
                map.Number = EditorGUILayout.IntField(map.Number);

                EditorGUILayout.EndHorizontal();

                EditorGUILayout.EndVertical();

                GUILayout.Space(UiUtils.GetPercent(Screen.width, 5));

                EditorGUILayout.BeginVertical();

                if (GUILayout.Button("Generate Map", GUILayout.Width(UiUtils.GetPercent(Screen.width, 25))))
                {
                    _myScript.SetupCurrentMap(map.Id);
                    _myScript.CreateMap(true);
                }
                if (_myScript.CurrentMap != null && _myScript.CurrentMap.Id == map.Id)
                    if (GUILayout.Button("Update ?", GUILayout.Width(UiUtils.GetPercent(Screen.width, 25))))
                        _myScript.MapId = map.Id;

                EditorGUILayout.EndVertical();

                EditorGUILayout.EndHorizontal();
                GUILayout.Space(5);
            }

            EditorGUILayout.EndVertical();
        }

        GUILayout.Space(25);

        if (_myScript.CurrentMap != null && _myScript.MapId != 0)
        {

            EditorGUILayout.BeginVertical("box");
            GUILayout.Space(5);

            EditorGUILayout.BeginVertical("box");

            //--
            EditorGUILayout.BeginHorizontal();

            EditorGUILayout.BeginVertical();

            GUILayout.Label("Id:" + _myScript.CurrentMap.Id, GUILayout.Width(UiUtils.GetPercent(Screen.width, 10)));

            EditorGUILayout.BeginHorizontal();

            GUILayout.Label("Map :");
            _myScript.CurrentMap.GameObject = EditorGUILayout.ObjectField(_myScript.CurrentMap.GameObject, typeof(GameObject), true) as GameObject;

            EditorGUILayout.EndHorizontal();

            EditorGUILayout.BeginHorizontal();

            GUILayout.Label("Name :");
            _myScript.CurrentMap.Name = EditorGUILayout.TextField(_myScript.CurrentMap.Name);

            EditorGUILayout.EndHorizontal();

            EditorGUILayout.BeginHorizontal();

            GUILayout.Label("Number :");
            _myScript.CurrentMap.Number = EditorGUILayout.IntField(_myScript.CurrentMap.Number);

            EditorGUILayout.EndHorizontal();

            EditorGUILayout.EndVertical();

            GUILayout.Space(UiUtils.GetPercent(Screen.width, 5));

            if (GUILayout.Button("Update Map", GUILayout.Width(UiUtils.GetPercent(Screen.width, 25)), GUILayout.Height(50)))
                _action = InspectorButton.UpdateMap;

            EditorGUILayout.EndHorizontal();
            GUILayout.Space(5);

            //--

            EditorGUILayout.EndVertical();

            GUILayout.Space(5);
            EditorGUILayout.EndVertical();

        }

        GUILayout.Space(5);
        EditorGUILayout.EndVertical();

        //--------------------------------------------------------------------------------------------------------------------------------------------------------
        GUILayout.Space(20);    // CONFIRM
        //--------------------------------------------------------------------------------------------------------------------------------------------------------

        if (_setupConfirm)
        {
            EditorGUILayout.BeginVertical("box");
            GUILayout.Space(5);

            EditorGUILayout.BeginHorizontal();

            GUILayout.FlexibleSpace();

            if (GUILayout.Button("Confirm", GUILayout.Width(UiUtils.GetPercent(Screen.width, 25)), GUILayout.Height(50)))
                ConfirmAccepted();

            if (GUILayout.Button("Cancel", GUILayout.Width(UiUtils.GetPercent(Screen.width, 25)), GUILayout.Height(50)))
                _setupConfirm = false;

            GUILayout.FlexibleSpace();

            EditorGUILayout.EndHorizontal();
            GUILayout.Space(5);
            EditorGUILayout.BeginVertical();
        }
    }
Beispiel #4
0
    public override void OnInspectorGUI()
    {
        DrawDefaultInspector();

        EditorGUILayout.BeginVertical("box");
        GUILayout.Space(5);

        GUILayout.Label("Database");
        GUILayout.Space(5);

        if (GUILayout.Button("Recreate User Table"))
        {
            _action = InspectorButton.RecreateUserTable;
        }

        if (GUILayout.Button("Recreate Story Table"))
        {
            _action = InspectorButton.RecreateStoryTable;
        }

        if (GUILayout.Button("Recreate Page Table"))
        {
            _action = InspectorButton.RecreatePageTable;
        }

        if (GUILayout.Button("Recreate Element Table"))
        {
            _action = InspectorButton.RecreateElementTable;
        }

        GUILayout.Space(5);
        GUILayout.Label("Write Data");
        GUILayout.Space(5);

        //if (GUILayout.Button("Write Categories Data"))
        //    _action = InspectorButton.WriteCategoriesData;

        //if (GUILayout.Button("Update Categories Questions"))
        //    _action = InspectorButton.UpdateCategoriesQuestions;

        GUILayout.Space(5);

        //if (GUILayout.Button("Write Default Data"))
        //    _action = InspectorButton.WriteDefaultData;

        GUILayout.Space(5);
        EditorGUILayout.EndVertical();

        //--------------------------------------------------------------------------------------------------------------------------------------------------------
        GUILayout.Space(20);    // CONFIRM
        //--------------------------------------------------------------------------------------------------------------------------------------------------------

        if (_setupConfirm)
        {
            EditorGUILayout.BeginVertical("box");
            GUILayout.Space(5);

            EditorGUILayout.BeginHorizontal();

            GUILayout.FlexibleSpace();

            if (GUILayout.Button("Confirm", GUILayout.Width(UsefullUtils.GetPercent(Screen.width, 25)), GUILayout.Height(50)))
            {
                ConfirmAccepted();
            }

            if (GUILayout.Button("Cancel", GUILayout.Width(UsefullUtils.GetPercent(Screen.width, 25)), GUILayout.Height(50)))
            {
                _setupConfirm = false;
            }

            GUILayout.FlexibleSpace();

            EditorGUILayout.EndHorizontal();
            GUILayout.Space(5);
            EditorGUILayout.EndVertical();
        }
    }
    public override void OnInspectorGUI()
    {
        InspectorButton b = (InspectorButton)target;

        if (b.commonTargets == null)
        {
            b.commonTargets = new System.Collections.Generic.List <GameObject>();
        }

        if (b.pastTargets == null)
        {
            b.pastTargets = new System.Collections.Generic.List <GameObject>();
        }

        if (b.presentTargets == null)
        {
            b.presentTargets = new System.Collections.Generic.List <GameObject>();
        }

        /*
         * if (b.IsMain)
         * {
         *  EditorGUILayout.HelpBox("This object timeline is currently MAIN.", MessageType.Info);
         *  if (GUILayout.Button("Set the other timeline object to MAIN"))
         *  {
         *      b.IsMain = false;
         *      b.otherTimelineRef.IsMain = true;
         *  }
         * }
         * else
         * {
         *  EditorGUILayout.HelpBox("This object timeline is NOT MAIN", MessageType.Error);
         *  if (GUILayout.Button("Set this timeline object to MAIN"))
         *  {
         *      b.IsMain = true;
         *      b.otherTimelineRef.IsMain = false;
         *  }
         * }
         */

        b.areTargetsCommon = EditorGUILayout.Toggle("Uses common targets: ", b.areTargetsCommon);
        b.occupyTile       = EditorGUILayout.Toggle("Occupies Tile", b.occupyTile);
        EditorGUILayout.Separator();

        if (b.areTargetsCommon)
        {
            int count = Mathf.Max(0, EditorGUILayout.DelayedIntField("Common Targets", b.commonTargets.Count));
            //EditorGUILayout.TextArea("Nejaky to text: " + count);

            while (count < b.commonTargets.Count)
            {
                b.commonTargets.RemoveAt(b.commonTargets.Count - 1);
            }
            while (count > b.commonTargets.Count)
            {
                b.commonTargets.Add(null);
            }

            for (int i = 0; i < b.commonTargets.Count; i++)
            {
#pragma warning disable CS0618 // Type or member is obsolete
                b.commonTargets[i] = (GameObject)EditorGUILayout.ObjectField("Target " + i, b.commonTargets[i], typeof(GameObject));
#pragma warning restore CS0618 // Type or member is obsolete
            }

            EditorGUILayout.Separator();
            b.presentMaterial        = (Material)EditorGUILayout.ObjectField("Present Material", b.presentMaterial, typeof(Material));
            b.isPresentActive        = EditorGUILayout.Toggle("Is Present Active", b.isPresentActive);
            b.alternativeMeshPresent = (GameObject)EditorGUILayout.ObjectField("Alternative PRESENT mesh", b.alternativeMeshPresent, typeof(GameObject));


            EditorGUILayout.Separator();
            b.pastMaterial        = (Material)EditorGUILayout.ObjectField("Past Material", b.pastMaterial, typeof(Material));
            b.isPastActive        = EditorGUILayout.Toggle("Is Past Active", b.isPastActive);
            b.alternativeMeshPast = (GameObject)EditorGUILayout.ObjectField("Alternative PAST mesh", b.alternativeMeshPast, typeof(GameObject));
        }
        else
        {
            b.presentMaterial        = (Material)EditorGUILayout.ObjectField("Present Material", b.presentMaterial, typeof(Material));
            b.isPresentActive        = EditorGUILayout.Toggle("Is Present Active", b.isPresentActive);
            b.alternativeMeshPresent = (GameObject)EditorGUILayout.ObjectField("Alternative PRESENT mesh", b.alternativeMeshPresent, typeof(GameObject));


            int count = Mathf.Max(0, EditorGUILayout.DelayedIntField("Present Targets", b.presentTargets.Count));
            while (count < b.presentTargets.Count)
            {
                b.presentTargets.RemoveAt(b.presentTargets.Count - 1);
            }
            while (count > b.presentTargets.Count)
            {
                b.presentTargets.Add(null);
            }

            for (int i = 0; i < b.presentTargets.Count; i++)
            {
#pragma warning disable CS0618 // Type or member is obsolete
                b.presentTargets[i] = (GameObject)EditorGUILayout.ObjectField("Target " + i, b.presentTargets[i], typeof(GameObject));
#pragma warning restore CS0618 // Type or member is obsolete
            }

            EditorGUILayout.Space();

            b.pastMaterial        = (Material)EditorGUILayout.ObjectField("Past Material", b.pastMaterial, typeof(Material));
            b.isPastActive        = EditorGUILayout.Toggle("Is Past Active", b.isPastActive);
            b.alternativeMeshPast = (GameObject)EditorGUILayout.ObjectField("Alternative PAST mesh", b.alternativeMeshPast, typeof(GameObject));


            int countPast = Mathf.Max(0, EditorGUILayout.DelayedIntField("Past Targets", b.pastTargets.Count));
            while (countPast < b.pastTargets.Count)
            {
                b.pastTargets.RemoveAt(b.pastTargets.Count - 1);
            }
            while (countPast > b.pastTargets.Count)
            {
                b.pastTargets.Add(null);
            }

            for (int i = 0; i < b.pastTargets.Count; i++)
            {
#pragma warning disable CS0618 // Type or member is obsolete
                b.pastTargets[i] = (GameObject)EditorGUILayout.ObjectField("Target " + i, b.pastTargets[i], typeof(GameObject));
#pragma warning restore CS0618 // Type or member is obsolete
            }
        }
    }
Beispiel #6
0
    public override void OnInspectorGUI()
    {
        if (_script == null)
        {
            _script = (SqLiteController)target;
        }

        GUILayout.Space(10);

        EditorGUILayout.BeginVertical();

        GUILayout.Space(5);

        if (GUILayout.Button("Recreate Database"))
        {
            _action = InspectorButton.RecreateDataBase;
        }

        GUILayout.Space(10);

        if (GUILayout.Button("Clean Up Users"))
        {
            _action = InspectorButton.CleanUpUsers;
        }

        GUILayout.Space(5);

        EditorGUILayout.EndVertical();

        //--------------------------------------------------------------------------------------------------------------------------------------------------------
        GUILayout.Space(20);    // CONFIRM
        //--------------------------------------------------------------------------------------------------------------------------------------------------------

        if (_setupConfirm)
        {
            EditorGUILayout.BeginVertical("box");
            GUILayout.Space(5);

            EditorGUILayout.BeginHorizontal();

            GUILayout.FlexibleSpace();

            if (GUILayout.Button("Confirm", GUILayout.Width(style_base.GetPercent(Screen.width, 25)), GUILayout.Height(50)))
            {
                ConfirmAccepted();
            }

            if (GUILayout.Button("Cancel", GUILayout.Width(style_base.GetPercent(Screen.width, 25)), GUILayout.Height(50)))
            {
                _setupConfirm = false;
            }

            GUILayout.FlexibleSpace();

            EditorGUILayout.EndHorizontal();
            GUILayout.Space(5);
            EditorGUILayout.BeginVertical();
        }

        // Show default inspector property editor
        DrawDefaultInspector();
    }