예제 #1
0
        public void OnGUI()
        {
            TDE.InitGUIStyle();

            //if(!CheckIsPlaying()) return;
            if (window == null)
            {
                Init();
            }
            if (instance == null && !GetSpawnManager())
            {
                return;
            }

            Undo.RecordObject(this, "window");
            Undo.RecordObject(instance, "SpawnManager");

            //if(GUI.Button(new Rect(window.position.width-130, 5, 125, 25), "Save")) TDE.SetDirty();
            if (GUI.Button(new Rect(window.position.width - 130, 5, 125, 25), "Creep Editor"))
            {
                UnitCreepEditorWindow.Init();
            }
            //if(GUI.Button(new Rect(window.position.width-130, 35, 125, 25), "Generate")) instance.GenerateWave();

            if (!instance.endlessMode && !instance.genWaveOnStart)
            {
                string text = configureGenerator ? "Wave List" : "Configure";
                if (GUI.Button(new Rect(window.position.width - 130, 35, 125, 25), text))
                {
                    configureGenerator = !configureGenerator;
                }
            }
            else
            {
                configureGenerator = false;
            }


            float startX = 5; float startY = 5; width = 150;

            startY = DrawGeneralSetting(startX, startY) + 5;

            Rect visibleRect = new Rect(startX, startY, window.position.width - startX * 2, window.position.height - (startY + 5));
            Rect contentRect = new Rect(startX, startY, contentWidth - 20, contentHeight);

            GUI.color = new Color(.85f, .85f, .85f, 1f); GUI.Box(visibleRect, ""); GUI.color = white;

            scrollPos = GUI.BeginScrollView(visibleRect, scrollPos, contentRect);

            if (!instance.endlessMode && !instance.genWaveOnStart && !configureGenerator)
            {
                startY       = DrawWaveList(startX, startY + 5);
                contentWidth = (subWaveBlockWidth + 10) * maxSubWaveSize + 20;
            }
            else
            {
                startY       = DrawGeneratorParameter(startX, startY + 5);
                contentWidth = (RscDB.GetCount() + 5) * (genAttBlockWidth + 10) + 75;
            }

            contentHeight = startY - visibleRect.y - spaceY * 2;

            GUI.EndScrollView();


            if (GUI.changed)
            {
                EditorUtility.SetDirty(instance);
            }
            if (GUI.changed)
            {
                TDE.SetDirty();
            }
        }
예제 #2
0
        public void OnGUI()
        {
            TDE.InitGUIStyle();

            if (!CheckIsPlaying())
            {
                return;
            }
            if (window == null)
            {
                Init();
            }


            List <UnitTower> towerList = TowerDB.GetList();

            Undo.RecordObject(this, "window");
            Undo.RecordObject(TowerDB.GetDB(), "towerDB");
            if (towerList.Count > 0)
            {
                Undo.RecordObject(towerList[selectID], "tower");
            }


            if (GUI.Button(new Rect(Math.Max(260, window.position.width - 120), 5, 100, 25), "Save"))
            {
                TDE.SetDirty();
            }

            UnitTower newTower = null;

            TDE.Label(5, 7, 150, 17, "Add New Tower:", "Drag tower prefab to this slot to add it to the list");
            newTower = (UnitTower)EditorGUI.ObjectField(new Rect(115, 7, 150, 17), newTower, typeof(UnitTower), false);
            if (newTower != null)
            {
                Select(NewItem(newTower));
            }


            float startX = 5; float startY = 55;

            if (minimiseList)
            {
                if (GUI.Button(new Rect(startX, startY - 20, 30, 18), ">>"))
                {
                    minimiseList = false;
                }
            }
            else
            {
                if (GUI.Button(new Rect(startX, startY - 20, 30, 18), "<<"))
                {
                    minimiseList = true;
                }
            }

            Vector2 v2 = DrawTowerList(startX, startY, towerList);

            startX = v2.x + 25;

            if (towerList.Count == 0)
            {
                return;
            }


            Rect visibleRect = new Rect(startX, startY, window.position.width - startX, window.position.height - startY);
            Rect contentRect = new Rect(startX, startY, contentWidth, contentHeight);

            scrollPos = GUI.BeginScrollView(visibleRect, scrollPos, contentRect);

            v2            = DrawUnitConfigurator(startX, startY, towerList[selectID]);
            contentWidth  = v2.x - startX;
            contentHeight = v2.y - 55;

            GUI.EndScrollView();


            if (GUI.changed)
            {
                TDE.SetDirty();
            }
        }
예제 #3
0
        public void OnGUI()
        {
            TDE.InitGUIStyle();

            if (!CheckIsPlaying())
            {
                return;
            }
            if (window == null)
            {
                Init();
            }


            List <Ability> abilityList = AbilityDB.GetList();

            Undo.RecordObject(this, "window");
            Undo.RecordObject(AbilityDB.GetDB(), "abilityDB");


            if (GUI.Button(new Rect(Math.Max(260, window.position.width - 120), 5, 100, 25), "Save"))
            {
                TDE.SetDirty();
            }


            if (GUI.Button(new Rect(5, 5, 120, 25), "Create New"))
            {
                Select(NewItem());
            }
            if (abilityList.Count > 0 && GUI.Button(new Rect(130, 5, 100, 25), "Clone Selected"))
            {
                Select(NewItem(selectID));
            }


            float startX = 5; float startY = 55;

            if (minimiseList)
            {
                if (GUI.Button(new Rect(startX, startY - 20, 30, 18), ">>"))
                {
                    minimiseList = false;
                }
            }
            else
            {
                if (GUI.Button(new Rect(startX, startY - 20, 30, 18), "<<"))
                {
                    minimiseList = true;
                }
            }

            Vector2 v2 = DrawAbilityList(startX, startY, abilityList);

            startX = v2.x + 25;

            if (abilityList.Count == 0)
            {
                return;
            }


            Rect visibleRect = new Rect(startX, startY, window.position.width - startX, window.position.height - startY);
            Rect contentRect = new Rect(startX, startY, contentWidth, contentHeight);

            scrollPos = GUI.BeginScrollView(visibleRect, scrollPos, contentRect);

            v2            = DrawAbilityConfigurator(startX, startY, abilityList[selectID]);
            contentWidth  = v2.x - startX;
            contentHeight = v2.y - 55;

            GUI.EndScrollView();


            if (GUI.changed)
            {
                TDE.SetDirty();
            }
        }