/// <summary>
        /// Load prefs
        /// </summary>
        // -----------------------------------------------------------------------------------------------
        protected void loadPrefs()
        {
            MonoScript script     = MonoScript.FromScriptableObject(this);
            string     scriptpath = AssetDatabase.GetAssetPath(script);
            string     sopath     = Path.GetDirectoryName(scriptpath) + "/" + Path.GetFileNameWithoutExtension(scriptpath) + "Prefs.asset";

            BuildAssetBundlesWindowPrefs prefs = AssetDatabase.LoadAssetAtPath <BuildAssetBundlesWindowPrefs>(sopath);

            if (prefs)
            {
                this.m_buildPlatforms = prefs.buildPlatforms;
                this.m_encryptionInfo = prefs.encryptionInfo;
            }
        }
        /// <summary>
        /// Save prefs
        /// </summary>
        // -----------------------------------------------------------------------------------------------
        protected virtual void savePrefs()
        {
            MonoScript script     = MonoScript.FromScriptableObject(this);
            string     scriptpath = AssetDatabase.GetAssetPath(script);
            string     sopath     = Path.GetDirectoryName(scriptpath) + "/" + Path.GetFileNameWithoutExtension(scriptpath) + "Prefs.asset";

            BuildAssetBundlesWindowPrefs prefs = AssetDatabase.LoadAssetAtPath <BuildAssetBundlesWindowPrefs>(sopath);

            if (!prefs)
            {
                prefs = CreateInstance <BuildAssetBundlesWindowPrefs>();
                AssetDatabase.CreateAsset(prefs, sopath);
            }

            // save
            {
                prefs.buildPlatforms = this.m_buildPlatforms;
                prefs.encryptionInfo = this.m_encryptionInfo;

                AssetDatabase.SaveAssets();
                AssetDatabase.Refresh();
            }
        }