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"); }
public bool isUploaded(Hashtable item) { if (selectedServer == null) { return(false); } Hashtable m = MapEx.getMap(item, "upload"); return(MapEx.getBool(m, selectedServer.key)); }
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); } } } } }
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!!"); } }
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(); }
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; } }
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(); }
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(); }