Beispiel #1
0
    private static GameUpdaterStyle getInstance()
    {
        if (instance == null)
        {
            // Instancial
            instance = new GameUpdaterStyle();
            GameUpdaterStyleSet styleSet = (GameUpdaterStyleSet)AssetDatabase.LoadAssetAtPath("Assets/Plugins/GameUpdater/GameUpdaterStyleSet.asset", typeof(GameUpdaterStyleSet));
            foreach (GUIStyle style in styleSet.styles)
            {
                if (instance.styleDict.ContainsKey(style.name))
                {
                    Debug.LogError("Duplicated GUIStyle " + style.name);
                }
                else
                {
                    instance.styleDict.Add(style.name, style);
                }
            }

            foreach (Texture2D icon in styleSet.icons)
            {
                if (instance.iconDict.ContainsKey(icon.name))
                {
                    Debug.LogError("Duplicated icon " + icon.name);
                }
                else
                {
                    instance.iconDict.Add(icon.name, icon);
                }
            }
        }

        return(instance);
    }
Beispiel #2
0
    public override void OnInspectorGUI()
    {
        if (bundle == null)
        {
            return;
        }

        EditorGUILayout.BeginVertical();

        /*
         * GUILayout.Label("文件大小:", GameUpdaterStyle.GetStyle("Title"));
         * GUILayout.Label(Mathf.CeilToInt(bundle.size / 1024f) + " KB");
         *
         * GUILayout.Label("文件MD5:", GameUpdaterStyle.GetStyle("Title"));
         * GUILayout.Label(bundle.md5.ToString());
         * */

        GUILayout.Label("Include Resource", GameUpdaterStyle.GetStyle("Title"));
        foreach (var path in bundle.include)
        {
            GUILayout.Label(path);
        }

        GUILayout.FlexibleSpace();

        GUILayout.Label("Dependency Resource", GameUpdaterStyle.GetStyle("Title"));
        //EditorGUILayout.BeginVertical();
        foreach (var path in bundle.dependency)
        {
            GUILayout.Label(path);
        }
        EditorGUILayout.EndVertical();
    }
Beispiel #3
0
 void OnGUI()
 {
     EditorGUILayout.BeginHorizontal(EditorStyles.toolbar, GUILayout.ExpandWidth(true));
     {
         Rect createRect = GUILayoutUtility.GetRect(new GUIContent("Version Manager"), EditorStyles.toolbarButton, GUILayout.ExpandWidth(true));
         if (GUI.Button(createRect, "Version Manager", EditorStyles.toolbarDropDown))
         {
             viewState = ViewState.Package;
         }
         Rect listRect = GUILayoutUtility.GetRect(new GUIContent("AssetBundle List"), EditorStyles.toolbarButton, GUILayout.ExpandWidth(true));
         if (GUI.Button(listRect, "AssetBundle List", EditorStyles.toolbarDropDown))
         {
             viewState = ViewState.List;
         }
     }
     EditorGUILayout.EndHorizontal();
     if (viewState == ViewState.List)
     {
         EditorGUILayout.BeginVertical();
         {
             foreach (var bundle in bm.bundles)
             {
                 var  selected = bundle == lastSelection ? true : false;
                 Rect itemRect =
                     EditorGUILayout.BeginHorizontal(selected
                         ? GameUpdaterStyle.GetStyle("SelectItem")
                         : GameUpdaterStyle.GetStyle("UnselectItem"));
                 EditorGUILayout.LabelField(bundle.name);
                 EditorGUILayout.EndHorizontal();
                 ProcessSelection(itemRect, bundle);
             }
         }
         EditorGUILayout.EndVertical();
     }
     else if (viewState == ViewState.Package)
     {
         EditorGUILayout.BeginVertical();
         {
             Config.versionFileName    = EditorGUILayout.TextField("Version File Name", Config.versionFileName);
             Config.password           = EditorGUILayout.TextField("Bundle Encrypt Key", Config.password);
             Config.bundleRelativePath = EditorGUILayout.TextField("Bundle Output Folder", Config.bundleRelativePath);
             copyToStreamingAssets     = EditorGUILayout.Toggle("Package In App", copyToStreamingAssets);
             Config.platform           = (TargetPlatform)EditorGUILayout.EnumPopup("Target Platform", Config.platform, GUILayout.MaxWidth(300));
         }
         EditorGUILayout.EndVertical();
         EditorGUILayout.BeginHorizontal();
         bool isHorizontalBlockActive = true;
         GUILayout.FlexibleSpace();
         if (GUILayout.Button("Create New Version", GUILayout.MaxWidth(150)))
         {
             bm.BuildAll();
             bm.CopyAll(copyToStreamingAssets);
             vm.CreateVersionFile(bm.bundles, copyToStreamingAssets);
             isHorizontalBlockActive = false;
         }
         GUILayout.FlexibleSpace();
         if (isHorizontalBlockActive)
         {
             EditorGUILayout.EndHorizontal();
         }
     }
 }