Example #1
0
    private List <T_OpItem> GetListByMode(E_LevelOp inMode)
    {
        switch (inMode)
        {
        case E_LevelOp.Lightening:
            return(m_ToolsData.m_LighteningMod);

        case E_LevelOp.PVS:
            return(m_ToolsData.m_PVSMod);

        case E_LevelOp.Navmesh:
            return(m_ToolsData.m_NavMeshMod);

        default:
            Debug.LogError("LevelTools.OnGUI - invalid operation mode");
            return(null);
        }
        ;
    }
Example #2
0
    // Implement your own editor GUI here.
    void OnGUI()
    {
        if (m_ValidScene == false)
        {
            return;
        }

        if (m_ToolsData == null)
        {
            m_Mode = (E_LevelOp)GUILayout.Toolbar((int)m_Mode, LevelOperationNames, "LargeButton");
            VizualizeEmptyDialog();
            return;
        }

        bool orig_gui_enabled = GUI.enabled;

        GUI.enabled = (m_ToolsData.m_ActiveOperation == E_LevelOp.None);

        m_Mode = (E_LevelOp)GUILayout.Toolbar((int)m_Mode, LevelOperationNames, "LargeButton");

        GUI.changed = false;

        VizualizeList(GetListByMode(m_Mode));

        /*
         * switch(m_Mode)
         * {
         *  case E_LevelOp.Lightening:
         *      VizualizeList(ref m_ToolsData.m_LighteningMod);
         *      break;
         *  case E_LevelOp.PVS:
         *      VizualizeList(ref m_ToolsData.m_PVSMod);
         *      break;
         *  case E_LevelOp.Navmesh:
         *      VizualizeList(ref m_ToolsData.m_NavMeshMod);
         *      break;
         *  default:
         *      Debug.LogError("LevelTools.OnGUI - invalid operation mode");
         *      break;
         * };
         */
        if (GUI.changed == true)
        {
            //Debug.Log("Gui change ...");
            EditorUtility.SetDirty(m_ToolsData);
        }

        GUILayout.FlexibleSpace();

        EditorGUILayout.BeginHorizontal();
        GUILayout.FlexibleSpace();

        if (GUILayout.Button("Clear", GUILayout.Width(100)) == true)
        {
            GetListByMode(m_Mode).Clear();
            EditorUtility.SetDirty(m_ToolsData);
        }

        GUILayout.Space(50);

        // Do actual selected operation
        if (GUILayout.Button("DoIt", GUILayout.Width(100)) == true)
        {
            DoIt(GetListByMode(m_Mode), m_ToolsData.m_BackupDtata);
            m_ToolsData.m_ActiveOperation = m_Mode;
        }

        GUI.enabled = !GUI.enabled;
        if (GUILayout.Button("Back", GUILayout.Width(100)) == true)
        {
            BackDoIt(m_ToolsData.m_BackupDtata);
            m_ToolsData.m_BackupDtata.Clear();
            m_ToolsData.m_ActiveOperation = E_LevelOp.None;
        }
        EditorGUILayout.EndHorizontal();

        GUI.enabled = orig_gui_enabled;
    }