示例#1
0
    public static void OpenWindow(Level level)
    {
        m_oLevel = level;
        LevelDetailEditor myWindow = (LevelDetailEditor)EditorWindow.GetWindow(typeof(LevelDetailEditor), false, "关卡编辑", true);

        myWindow.Show();
    }
    public void LevelListDrawCallback(Rect rect, int index, bool isactive, bool isfocused)
    {
        const float GAP = 5;

        Level level = config.levels[index];

        rect.y++;

        Rect r = rect;

        r.width     = 16;
        r.height    = 18;
        level.valid = GUI.Toggle(r, level.valid, GUIContent.none);

        r.xMin        = r.xMax + GAP;
        r.xMax        = r.xMax + 200;
        GUI.enabled   = false;
        level.levelId = EditorGUI.IntField(r, "关卡Id", level.levelId);
        GUI.enabled   = true;

        r.xMin  = r.xMax + GAP;
        r.width = 100;
        if (GUI.Button(r, "选择保存路径"))
        {
            var path = SelectFolder();
            if (path != null)
            {
                level.levelPath = path;
            }
        }
        r.xMin  = r.xMax + GAP;
        r.width = 50;
        if (GUI.Button(r, "编辑"))
        {
            LevelDetailEditor.OpenWindow(level);
        }
        r.xMin          = r.xMax + GAP;
        r.width         = 200;
        level.levelGold = EditorGUI.IntField(r, "关卡奖励", level.levelGold);
        r.xMin          = r.xMax + GAP;
        r.xMax          = rect.xMax;
        level.levelName = GUI.TextField(r, level.levelName);
    }