Exemple #1
0
 public override void Deserialize(Hashtable map)
 {
     triggerType = MapEx.getInt(map, "triggerType");
     hideSelf    = MapEx.getBool(map, "hideSelf");
     talkId      = MapEx.getInt(map, "talkId");
     npcCfg      = MapEx.getString(map, "npcCfg");
     boxCfg      = MapEx.getString(map, "boxCfg");
 }
Exemple #2
0
    public bool isUploaded(Hashtable item)
    {
        if (selectedServer == null)
        {
            return(false);
        }
        Hashtable m = MapEx.getMap(item, "upload");

        return(MapEx.getBool(m, selectedServer.key));
    }
Exemple #3
0
        public virtual void Deserialize(Hashtable map)
        {
            float x = float.Parse(map ["editorx"].ToString());
            float y = float.Parse(map ["editory"].ToString());

            editorPosition = new Vector2(x, y);
            id             = MapEx.getInt(map, "id");
            desc           = MapEx.getString(map, "desc");
            index          = MapEx.getInt(map, "index");
            canMultTimes   = MapEx.getBool(map, "canMultTimes");
        }
    public void onGetUpgradePkgMultMode(params object[] paras)
    {
        Hashtable d        = paras [0] as Hashtable;
        string    platform = paras [1] as string;
        string    oldMd5   = "";

        //
        if (EditorUtility.DisplayDialog("Alert", "Really want to upgrade all selected servers!!", "Okay", "Cancel"))
        {
            foreach (DictionaryEntry cell in servers)
            {
                Hashtable server = cell.Value as Hashtable;
                if (MapEx.getBool(server, "selected"))
                {
                    string verKey  = "";
                    string vetType = "1";
                    if (platform.Equals("ios"))
                    {
                        verKey  = "iosversion";
                        vetType = "1";
                    }
                    else if (platform.Equals("Android"))
                    {
                        verKey  = "androidversion";
                        vetType = "2";
                    }
                    else if (platform.Equals("win"))
                    {
                        verKey  = "winversion";
                        vetType = "3";
                    }
                    else if (platform.Equals("osx"))
                    {
                        verKey  = "osxversion";
                        vetType = "4";
                    }
                    oldMd5 = MapEx.getString(server, verKey);
                    string newMd5 = MapEx.getString(d, "md5");
                    if (!newMd5.Equals(oldMd5))
                    {
                        server [verKey]      = newMd5;
                        server ["pkgName"]   = MapEx.getString(d, "name");
                        server ["pkgRemark"] = MapEx.getString(d, "remark");
                        saveData(MapEx.getString(server, "idx"), newMd5, vetType);
                    }
                }
            }
        }
    }
Exemple #5
0
    void refreshSelectedCount()
    {
        int ret = 0;

        allSpriteCount = 0;
        selectedCount  = 0;
        for (int i = 0; i < mSpriteList.Count && i < (int)packerSize; i++)
        {
            allSpriteCount += 1;
            item            = mSpriteList [i] as Hashtable;
            if (MapEx.getBool(item, "selected"))
            {
                ret += 1;
            }
        }
        selectedCount = ret;
    }
    public void setUpgradePkgMutlMode(string platform)
    {
        bool canSetMd5 = false;

        foreach (DictionaryEntry cell in servers)
        {
            Hashtable server = cell.Value as Hashtable;
            if (MapEx.getBool(server, "selected"))
            {
                canSetMd5 = true;
                break;
            }
        }
        if (canSetMd5)
        {
            ECLUpgradeListProc.popup4Select((Callback)onGetUpgradePkgMultMode, platform);
        }
        else
        {
            Debug.LogError("Please select some servers!!");
        }
    }
Exemple #7
0
    void OnGUI()
    {
        if (!ECLProjectSetting.isProjectExit(ECLProjectManager.self))
        {
            GUIStyle style = new GUIStyle();
            style.fontSize         = 20;
            style.normal.textColor = Color.yellow;
            GUILayout.Label("The scene is not ready, create it now?", style);
            if (GUILayout.Button("Show Project Manager"))
            {
                EditorWindow.GetWindow <ECLProjectManager> (false, "CoolapeProject", true);
            }
            Close();
            return;
        }

        if (ECLProjectManager.data.hotUpgradeServers.Count > 0)
        {
            ECLEditorUtl.BeginContents();
            {
                List <string> toolbarNames = new List <string> ();
                for (int i = 0; i < ECLProjectManager.data.hotUpgradeServers.Count; i++)
                {
                    HotUpgradeServerInfor dd = ECLProjectManager.data.hotUpgradeServers [i] as HotUpgradeServerInfor;
                    toolbarNames.Add(dd.name);
                }
                selectedServerIndex = GUILayout.Toolbar(selectedServerIndex, toolbarNames.ToArray());
                HotUpgradeServerInfor hsi = ECLProjectManager.data.hotUpgradeServers [selectedServerIndex] as HotUpgradeServerInfor;
                selectedServer = hsi;
//						ECLProjectSetting.cellServerInor (hsi, false);
                //===================================================
                GUILayout.BeginHorizontal();
                {
                    GUILayout.Label("Key:", ECLEditorUtl.width200);
                    GUILayout.TextField(selectedServer.key);
                }
                GUILayout.EndHorizontal();
                //===================================================
                GUILayout.BeginHorizontal();
                {
                    GUILayout.Label("Hot Upgrade Base Url:", ECLEditorUtl.width200);
                    GUILayout.TextField(selectedServer.hotUpgradeBaseUrl);
                }
                GUILayout.EndHorizontal();
                //===================================================
                GUILayout.BeginHorizontal();
                {
                    GUILayout.Label("Host 4 Upload Upgrade Package:", ECLEditorUtl.width200);
                    GUILayout.TextField(selectedServer.host4UploadUpgradePackage);
                }
                GUILayout.EndHorizontal();

                GUILayout.BeginHorizontal();
                {
                    GUILayout.Label("Port 4 Upload Upgrade Package:", ECLEditorUtl.width200);
                    EditorGUILayout.IntField(selectedServer.port4UploadUpgradePackage);
                }
                GUILayout.EndHorizontal();
            }
            ECLEditorUtl.EndContents();
        }

        if (selectedServer == null)
        {
            GUILayout.Label("Please select a server!");
            return;
        }

        EditorGUILayout.BeginHorizontal();
        {
            GUI.color = Color.green;
            if (GUILayout.Button("Refresh", GUILayout.Height(40f)))
            {
                setData();
            }
            GUI.color = Color.white;
            if (!isSelectMod)
            {
                if (GUILayout.Button("Save", GUILayout.Height(40f)))
                {
                    if (mList == null || mList.Count == 0)
                    {
                        Debug.LogWarning("Nothing need to save!");
                        return;
                    }
                    string str = JSON.JsonEncode(mList);
                    File.WriteAllText(Application.dataPath + "/" + cfgPath, str);
                }
            }
        }
        EditorGUILayout.EndHorizontal();

        ECLEditorUtl.BeginContents();
        {
            EditorGUILayout.BeginHorizontal();
            {
                EditorGUILayout.LabelField("Package Name", GUILayout.Width(160));
                EditorGUILayout.LabelField("MD5", GUILayout.Width(250));
                EditorGUILayout.LabelField("Exist?", GUILayout.Width(40));
                EditorGUILayout.LabelField("Upload?", GUILayout.Width(60));
                EditorGUILayout.LabelField("...", GUILayout.Width(60));
                EditorGUILayout.LabelField("Notes");
            }
            EditorGUILayout.EndHorizontal();
            if (mList == null)
            {
                return;
            }
            scrollPos = EditorGUILayout.BeginScrollView(scrollPos, GUILayout.Width(position.width), GUILayout.Height(position.height - 75));
            {
                for (int i = mList.Count - 1; i >= 0; i--)
                {
                    item = ListEx.getMap(mList, i);

                    EditorGUILayout.BeginHorizontal();
                    {
                        EditorGUILayout.TextField(MapEx.getString(item, "name"), GUILayout.Width(160));
                        EditorGUILayout.TextField(MapEx.getString(item, "md5"), GUILayout.Width(250));

                        if (!MapEx.getBool(item, "exist"))
                        {
                            GUI.color = Color.red;
                        }
                        EditorGUILayout.TextField(MapEx.getBool(item, "exist") ? "Yes" : "No", GUILayout.Width(40));
                        GUI.color = Color.white;
                        if (!isUploaded(item))
                        {
                            GUI.color = Color.red;
                        }
                        EditorGUILayout.TextField(isUploaded(item) ? "Yes" : "No", GUILayout.Width(60));
                        GUI.color = Color.white;
                        if (MapEx.getBool(item, "exist"))
                        {
                            GUI.enabled = true;
                        }
                        else
                        {
                            GUI.enabled = false;
                        }
                        GUI.color = Color.yellow;
                        if (isSelectMod)
                        {
                            if (GUILayout.Button("select", GUILayout.Width(60f)))
                            {
                                Close();
                                Utl.doCallback(onSelectedCallback, item, selectedCallbackParams);
                            }
                        }
                        else
                        {
                            if (GUILayout.Button("upload", GUILayout.Width(60f)))
                            {
                                if (EditorUtility.DisplayDialog("Alert", "Really want to upload the upgrade package?", "Okey", "cancel"))
                                {
                                    selectedPackageName = MapEx.getString(item, "name");
                                    uploadUpgradePackage(MapEx.getString(item, "name"));
                                }
                            }
                            if (GUILayout.Button("同步OSS", GUILayout.Width(60f)))
                            {
                                if (EditorUtility.DisplayDialog("Alert", "Really want to upload the upgrade package?", "Okey", "cancel"))
                                {
                                    uploadOss(MapEx.getString(item, "name"));
                                }
                            }
                        }

                        GUI.color       = Color.white;
                        GUI.enabled     = true;
                        item ["remark"] = EditorGUILayout.TextArea(MapEx.getString(item, "remark"));

                        GUILayout.Space(5);
                    }
                    EditorGUILayout.EndHorizontal();
                }
            }
            EditorGUILayout.EndScrollView();
        }
        ECLEditorUtl.EndContents();
    }
Exemple #8
0
        public void doGenerateNodeState(Node node, ref Hashtable map)
        {
            if (MapEx.getBool(map, node) || node == node.behaviorTree.rootNode)
            {
                return;
            }
            map [node] = true;

            int    mainType = 14;
            string pubStr   = "";

            if (node.behaviorTree.rootNode.attr != null)
            {
                pubStr = mainType + "/" + ((MyRoot)(node.behaviorTree.rootNode.attr)).fubenID + "/";
            }
            else
            {
                pubStr = mainType + "/" + 0 + "/";
            }

            //Condition
            if (node.parents != null && node.parents.Count > 0)
            {
                node.condition = "{";
                if ((node.parents.Count == 1 && (node.parents [0]) is Root))
                {
                    node.condition += "{\"" + pubStr + node.index + "/" + 0 + "\"}";
                }
                else if (node.parents.Contains(node.behaviorTree.rootNode))
                {
                    node.condition += "{\"" + pubStr + node.index + "/" + 0 + "\",\"" + pubStr + node.index + "/" + 1 + "\"}";
                }
                else
                {
                    node.condition += "{\"" + pubStr + node.index + "/" + 1 + "\"}";
                }

                if (node is NodeTogether)
                {
                    Node parent = null;
                    for (int i = 0; i < node.parents.Count; i++)
                    {
                        parent = node.parents [i];
                        if (parent is  Root)
                        {
                        }
                        else if (parent is NodeBranch)
                        {
                            if (((NodeBranch)parent).inLeft(node))
                            {
                                node.condition += ",{\"" + pubStr + (-node.parents [i].index) + "/" + 1 + "\"}";
                            }
                            if (((NodeBranch)parent).inRight(node))
                            {
                                node.condition += ",{\"" + pubStr + (-node.parents [i].index) + "/" + 2 + "\"}";
                            }
                        }
                        else
                        {
                            node.condition += ",{\"" + pubStr + (-node.parents [i].index) + "/" + 1 + "\"}";
                        }
                    }
                }
                node.condition += "}";
            }
            else
            {
                node.condition = "{{\"" + pubStr + node.index + "/" + 0 + "\"}}";
            }
            //result
            if (node is NodeBranch)
            {
                NodeBranch branch = node as NodeBranch;
                node.result1 = getResultWithSubNodes(branch, branch.ChildrenLeft, branch.KillLeftNodes);
                node.result2 = getResultWithSubNodes(branch, branch.ChildrenRight, branch.KillRightNodes);
            }
            else
            {
                node.result1 = getResultWithSubNodes(node, node.Children, node.KillNodes);
                node.result2 = node.result1;
            }
        }
Exemple #9
0
    void OnGUI()
    {
        GUILayout.Space(5);
        ECLEditorUtl.BeginContents();
        {
            EditorGUILayout.BeginHorizontal();
            {
                if (GUILayout.Button("Sprites Borrow Infor File", ECLEditorUtl.width150))
                {
                    string _mSpritesBorrowInforFile = EditorUtility.OpenFilePanel("Select Infor File", Application.dataPath + "/KOK/xRes/spriteBorrow", "json");
                    if (!mSpritesBorrowInforFile.Equals(_mSpritesBorrowInforFile))
                    {
                        mSpritesBorrowInforFile = _mSpritesBorrowInforFile;
                        initData();
                    }
                }
                if (GUILayout.Button("Refresh", ECLEditorUtl.width80))
                {
                    initData();
                }
                GUILayout.TextField(mSpritesBorrowInforFile);
            }
            EditorGUILayout.EndHorizontal();
            GUILayout.Space(5);
            EditorGUILayout.BeginHorizontal();
            {
                packerSize = (PackerSize)EditorGUILayout.EnumPopup("", packerSize);
                GUI.color  = Color.yellow;
                if (GUILayout.Button("Packer View"))
                {
                    isShowParckerView = true;
                    currSelectSprite  = null;
                }
                GUI.color = Color.white;
            }
            EditorGUILayout.EndHorizontal();
        }
        ECLEditorUtl.EndContents();
        GUILayout.Space(5);

        EditorGUILayout.BeginHorizontal();
        {
            EditorGUILayout.BeginVertical();
            {
                bool _isSelectedAll = EditorGUILayout.ToggleLeft("All", isSelectedAll, ECLEditorUtl.width150);
                if (isSelectedAll != _isSelectedAll)
                {
                    isSelectedAll = _isSelectedAll;
                    for (int i = 0; i < mSpriteList.Count && i < (int)packerSize; i++)
                    {
                        item = mSpriteList [i] as Hashtable;
                        item ["selected"] = isSelectedAll;
                    }
                    refreshSelectedCount();
                }
                scrollPos = EditorGUILayout.BeginScrollView(scrollPos, ECLEditorUtl.width150);
                {
                    rect.y = 0;
                    ECLEditorUtl.BeginContents();
                    {
//						GUILayout.Space (10);
                        for (int i = 0; i < mSpriteList.Count && i < (int)packerSize; i++)
                        {
                            item = mSpriteList [i] as Hashtable;
                            bool selected = GUI.Toggle(new Rect(5, rect.y, 50, cellSize + 30), MapEx.getBool(item, "selected"), (i + 1).ToString());
                            if (selected != MapEx.getBool(item, "selected"))
                            {
                                item ["selected"] = selected;
                                refreshSelectedCount();
                            }
                            showCellSprite(item);
                        }
                    }
                    ECLEditorUtl.EndContents();
                }
                EditorGUILayout.EndScrollView();
            }
            EditorGUILayout.EndVertical();
            //=========================================
            //=========================================
            EditorGUILayout.BeginVertical();
            {
                GUILayout.Label(PStr.b().a("Selected: ").a(selectedCount).a("/").a(allSpriteCount).e());
                scrollPos2 = EditorGUILayout.BeginScrollView(scrollPos2, GUILayout.Width(position.width - 150));
                {
                    ECLEditorUtl.BeginContents();
                    {
                        if (isShowParckerView)
                        {
                            showPackerView();
                        }
                        else
                        {
                            showSpriteInfor();
                        }
                    }
                    ECLEditorUtl.EndContents();
                }
                EditorGUILayout.EndScrollView();
            }
            EditorGUILayout.EndVertical();
        }
        EditorGUILayout.EndHorizontal();
    }
Exemple #10
0
    bool packTextures(int maxSize, bool unityPacking)     //, ref ArrayList outSprites, ref Rect[] rects)
    {
        if (packTex != null)
        {
            DestroyImmediate(packTex, true);
            packTex = null;
        }

        refreshSelectedCount();
        if (selectedCount == 0)
        {
            Debug.LogError("Please select some sprites, that need packe");
            return(false);
        }

        packSprites.Clear();
        List <Texture2D> listTexs = new List <Texture2D> ();

        for (int i = 0; i < mSpriteList.Count; i++)
        {
            Hashtable m = mSpriteList [i] as Hashtable;
            if (MapEx.getBool(m, "selected"))
            {
                Hashtable d    = MapEx.getMap(m, "data");
                string    name = MapEx.getString(d, "name");
                string    path = MapEx.getString(d, "path");
                Texture2D tex  = ECLEditorUtl.getObjectByPath(path) as Texture2D;
                listTexs.Add(tex);
                packSprites.Add(m);
            }
        }
        if (sortSprite != SortSprite.none)
        {
            if (sortSprite == SortSprite.SortArea)
            {
                packSprites.Sort(CompareSprite);
            }
            else
            {
                packSprites.Sort(CompareSprite2);
            }
            listTexs.Clear();
            for (int i = 0; i < packSprites.Count; i++)
            {
                Hashtable d    = MapEx.getMap(packSprites [i], "data");
                string    path = MapEx.getString(d, "path");
                setTextureReadable("Assets/" + path, TextureImporterFormat.RGBA32, TextureImporterCompression.Uncompressed, true);
                Texture2D tex = ECLEditorUtl.getObjectByPath(path) as Texture2D;
                listTexs.Add(tex);
            }
        }

//		for (int i = 0; i < listTexs.Count; i++) {
//			setTextureReadable (listTexs [i] as Texture, TextureImporterFormat.RGBA32, TextureImporterCompression.Uncompressed, true);
//		}
        packTex = new Texture2D(1, 1, TextureFormat.ARGB32, false);

        if (unityPacking)
        {
            packRects = packTex.PackTextures(listTexs.ToArray(), NGUISettings.atlasPadding, maxSize);
        }
        else
        {
            packRects = UITexturePacker.PackTextures(packTex, listTexs.ToArray(), 4, 4, NGUISettings.atlasPadding, maxSize);
        }
        _empty = new Texture2D(packTex.width, packTex.height, TextureFormat.ARGB32, false);
        bool ret = true;

        for (int i = 0; i < listTexs.Count; ++i)
        {
            Rect rect = NGUIMath.ConvertToPixels(packRects [i], packTex.width, packTex.height, true);
            packRects [i] = rect;

            // Apparently Unity can take the liberty of destroying temporary textures without any warning
            if (listTexs [i] == null)
            {
                Debug.LogWarning("Apparently Unity can take the liberty of destroying temporary textures without any warning");
                ret = false;
                break;
            }

            // Make sure that we don't shrink the textures
            if (Mathf.RoundToInt(rect.width) != listTexs [i].width)
            {
                Debug.LogError(rect.width + "====" + listTexs [i].width);
                Debug.LogWarning("Make sure that we don't shrink the textures=" + listTexs [i].name);
                ret = false;
                break;
            }
        }

//		for (int i = 0; i < listTexs.Count; i++) {
//			setTextureReadable (listTexs [i] as Texture, TextureImporterFormat.Automatic, false);
//		}
        return(ret);
    }
    void OnGUI()
    {
        if (!ECLProjectSetting.isProjectExit(ECLProjectManager.self))
        {
            GUIStyle style = new GUIStyle();
            style.fontSize         = 20;
            style.normal.textColor = Color.yellow;
            GUILayout.Label("The scene is not ready, create it now?", style);
            if (GUILayout.Button("Show Project Manager"))
            {
                EditorWindow.GetWindow <ECLProjectManager> (false, "CoolapeProject", true);
            }
            Close();
            return;
        }

        if (ECLProjectManager.data.hotUpgradeServers.Count <= 0)
        {
            GUI.color = Color.red;
            GUILayout.Label("There is no server");
            GUI.color = Color.white;
            return;
        }
        if (ECLProjectManager.data.hotUpgradeServers.Count > 0)
        {
            ECLEditorUtl.BeginContents();
            {
                List <string> toolbarNames = new List <string> ();
                for (int i = 0; i < ECLProjectManager.data.hotUpgradeServers.Count; i++)
                {
                    HotUpgradeServerInfor dd = ECLProjectManager.data.hotUpgradeServers [i] as HotUpgradeServerInfor;
                    toolbarNames.Add(dd.name);
                }
                int index = GUILayout.Toolbar(selectedServerIndex, toolbarNames.ToArray());
                HotUpgradeServerInfor hsi = ECLProjectManager.data.hotUpgradeServers [index] as HotUpgradeServerInfor;
                selectedServer = hsi;

                if (selectedServerIndex != index)
                {
                    selectedServerIndex = index;
                    refreshData();
                }
                //===================================================
                GUILayout.BeginHorizontal();
                {
                    GUILayout.Label("Key:", ECLEditorUtl.width200);
                    GUILayout.TextField(selectedServer.key);
                }
                GUILayout.EndHorizontal();
                //===================================================
                GUILayout.BeginHorizontal();
                {
                    GUILayout.Label("URL of get server list:", ECLEditorUtl.width200);
                    GUILayout.TextField(selectedServer.getServerListUrl);
                }
                GUILayout.EndHorizontal();
                //===================================================
                GUILayout.BeginHorizontal();
                {
                    GUILayout.Label("URL of set upgrade pkg md5:", ECLEditorUtl.width200);
                    GUILayout.TextField(selectedServer.setServerPkgMd5Url);
                }
                GUILayout.EndHorizontal();
            }
            ECLEditorUtl.EndContents();
        }

        GUI.color = Color.green;
        if (GUILayout.Button("Refresh"))
        {
            refreshData();
        }
        GUI.color = Color.white;
        if (servers == null || servers.Count == 0)
        {
            return;
        }
        GUILayout.Space(5);
        EditorGUILayout.BeginHorizontal();
        {
            if (GUILayout.Button("All", GUILayout.Width(30)))
            {
                isSelectAll = !isSelectAll;
                foreach (DictionaryEntry cell in servers)
                {
                    server = (Hashtable)(cell.Value);
                    server ["selected"] = isSelectAll;
                }
            }
            EditorGUILayout.LabelField("SID", GUILayout.Width(80));
            EditorGUILayout.LabelField("SName", GUILayout.Width(100));
            GUI.color = Color.yellow;
#if UNITY_ANDROID
            EditorGUILayout.LabelField("UpgradeMd5Ver(Android)", GUILayout.Width(250));
#elif UNITY_IPHONE || UNITY_IOS
            EditorGUILayout.LabelField("UpgradeMd5Ver(ios)", GUILayout.Width(250));
#elif UNITY_STANDALONE_WIN
            EditorGUILayout.LabelField("UpgradeMd5Ver(win)", GUILayout.Width(250));
#elif UNITY_STANDALONE_OSX
            EditorGUILayout.LabelField("UpgradeMd5Ver(osx)", GUILayout.Width(250));
#elif UNITY_WEBGL
            EditorGUILayout.LabelField("UpgradeMd5Ver(webgl)", GUILayout.Width(250));
#endif
            EditorGUILayout.LabelField("UpgradePkg Name", GUILayout.Width(160));
            EditorGUILayout.LabelField("UpgradePkg Mark", GUILayout.Width(250));
            GUI.color = Color.white;
#if UNITY_ANDROID
            if (GUILayout.Button("Select Md5(Android)"))
            {
                setUpgradePkgMutlMode("Android");
            }
#elif UNITY_IPHONE || UNITY_IOS
            if (GUILayout.Button("Select Md5(ios)"))
            {
                setUpgradePkgMutlMode("ios");
            }
#elif UNITY_STANDALONE_WIN
            if (GUILayout.Button("Select Md5(win)"))
            {
                setUpgradePkgMutlMode("win");
            }
#elif UNITY_STANDALONE_OSX
            if (GUILayout.Button("Select Md5(osx)"))
            {
                setUpgradePkgMutlMode("osx");
            }
#elif UNITY_WEBGL
            if (GUILayout.Button("Select Md5(webgl)"))
            {
                setUpgradePkgMutlMode("webgl");
            }
#endif
        }
        EditorGUILayout.EndHorizontal();
        GUILayout.Space(5);
        ECLEditorUtl.BeginContents();
        {
            scrollPos = EditorGUILayout.BeginScrollView(scrollPos, GUILayout.Width(position.width), GUILayout.Height(position.height - 50));
            {
                foreach (DictionaryEntry cell in servers)
                {
                    server = (Hashtable)(cell.Value);
                    EditorGUILayout.BeginHorizontal();
                    {
                        server ["selected"] = EditorGUILayout.Toggle(MapEx.getBool(server, "selected"), GUILayout.Width(30));
                        if (MapEx.getBool(server, "selected"))
                        {
                            GUI.color = Color.cyan;
                        }
                        else
                        {
                            GUI.color = Color.white;
                        }
                        EditorGUILayout.TextField(MapEx.getString(server, "idx"), GUILayout.Width(80));
                        EditorGUILayout.TextField(MapEx.getString(server, "servername"), GUILayout.Width(100));
                        GUI.color = Color.yellow;
#if UNITY_ANDROID
                        EditorGUILayout.TextField(MapEx.getString(server, "androidversion"), GUILayout.Width(250));
#elif UNITY_IPHONE || UNITY_IOS
                        EditorGUILayout.TextField(MapEx.getString(server, "iosversion"), GUILayout.Width(250));
#elif UNITY_STANDALONE_WIN
                        EditorGUILayout.TextField(MapEx.getString(server, "winversion"), GUILayout.Width(250));
#elif UNITY_STANDALONE_OSX
                        EditorGUILayout.TextField(MapEx.getString(server, "osxversion"), GUILayout.Width(250));
#elif UNITY_WEBGL
                        EditorGUILayout.TextField(MapEx.getString(server, "webglversion"), GUILayout.Width(250));
#endif
                        EditorGUILayout.TextField(MapEx.getString(server, "pkgName"), GUILayout.Width(160));
                        EditorGUILayout.TextArea(MapEx.getString(server, "pkgRemark"), GUILayout.Width(250));
                        GUI.color = Color.white;
#if UNITY_ANDROID
                        if (GUILayout.Button("Select Md5(Android)"))
                        {
                            ECLUpgradeListProc.popup4Select((Callback)onGetUpgradePkg, ListEx.builder().Add(cell.Key).Add("Android").ToList());
                        }
#elif UNITY_IPHONE || UNITY_IOS
                        if (GUILayout.Button("Select Md5(ios)"))
                        {
                            ECLUpgradeListProc.popup4Select((Callback)onGetUpgradePkg, ListEx.builder().Add(cell.Key).Add("ios").ToList());
                        }
#elif UNITY_STANDALONE_WIN
                        if (GUILayout.Button("Select Md5(win)"))
                        {
                            ECLUpgradeListProc.popup4Select((Callback)onGetUpgradePkg, ListEx.builder().Add(cell.Key).Add("win").ToList());
                        }
#elif UNITY_STANDALONE_OSX
                        if (GUILayout.Button("Select Md5(osx)"))
                        {
                            ECLUpgradeListProc.popup4Select((Callback)onGetUpgradePkg, ListEx.builder().Add(cell.Key).Add("osx").ToList());
                        }
#elif UNITY_WEBGL
                        if (GUILayout.Button("Select Md5(webgl)"))
                        {
                            ECLUpgradeListProc.popup4Select((Callback)onGetUpgradePkg, ListEx.builder().Add(cell.Key).Add("wegbl").ToList());
                        }
#endif
                    }
                    EditorGUILayout.EndHorizontal();
                }
            }
            EditorGUILayout.EndScrollView();
        }
        ECLEditorUtl.EndContents();
    }