public static string zone(long data) { List <string> strs = new List <string>(); for (long filter = 0x1L; filter <= (0x1L << 32); filter <<= 1) { string str = ""; long s = filter & data; if (s != 0) { if ((s & 0x60) != 0) { str += GameStringManager.get_unsafe(1081); data &= ~0x600000; } else if ((s & 0xffff) != 0) { str += GameStringManager.get_unsafe(102); } else if ((s & 0xffff0000) != 0) { str += GameStringManager.get_unsafe(103); s >>= 16; } if ((s & 0x1f) != 0) { str += GameStringManager.get_unsafe(1002); } else if ((s & 0xff00) != 0) { s >>= 8; if ((s & 0x1f) != 0) { str += GameStringManager.get_unsafe(1003); } else if ((s & 0x20) != 0) { str += GameStringManager.get_unsafe(1008); } else if ((s & 0xc0) != 0) { str += GameStringManager.get_unsafe(1009); } } int seq = 1; for (int i = 0x1; i < 0x100; i <<= 1) { if ((s & i) != 0) { break; } ++seq; } str += "(" + seq.ToString() + ")"; strs.Add(str); } } return(String.Join(", ", strs.ToArray())); }
public void StocMessage_ErrorMsg(BinaryReader r) { int msg = r.ReadByte(); int code = 0; switch (msg) { case 1: r.ReadByte(); r.ReadByte(); r.ReadByte(); code = r.ReadInt32(); switch (code) { case 0: RMSshow_onlyYes("", GameStringManager.get_unsafe(1403), null); break; case 1: RMSshow_onlyYes("", GameStringManager.get_unsafe(1404), null); break; case 2: RMSshow_onlyYes("", GameStringManager.get_unsafe(1405), null); break; } break; case 2: r.ReadByte(); r.ReadByte(); r.ReadByte(); code = r.ReadInt32(); switch (code) { case 1: RMSshow_onlyYes("", GameStringManager.get_unsafe(1406), null); break; default: RMSshow_onlyYes("", InterString.Get("卡组非法,请检查:[?]", YGOSharp.CardsManager.Get(code).Name), null); break; } break; case 3: RMSshow_onlyYes("", InterString.Get("更换副卡组失败,请检查卡片张数是否一致。"), null); break; case 4: RMSshow_none(InterString.Get("你输入的版本号和服务器不一致。")); break; default: break; } }
public static void CtosMessage_JoinGame(string psw, string version) { deckStrings.Clear(); Package message = new Package(); message.Fuction = (int)CtosMessage.JoinGame; Config.ClientVersion = (uint)GameStringManager.helper_stringToInt(version); message.Data.writer.Write((Int16)Config.ClientVersion); message.Data.writer.Write((byte)204); message.Data.writer.Write((byte)204); message.Data.writer.Write((Int32)0); message.Data.writer.WriteUnicode(psw, 20); Send(message); }
public static string mainType(long a) { string r = ""; bool passFirst = false; for (int i = 0; i < 3; i++) { if ((a & (1 << i)) > 0) { if (passFirst) { r += fen; } r += GameStringManager.get_unsafe(1050 + i); passFirst = true; } } return(r); }
public static string LinkMarker(YGOSharp.Card data) { string LinkMarker = "\n" + GameStringManager.get_unsafe(1374) + ":"; if (data.HasLinkMarker(CardLinkMarker.TopLeft)) { LinkMarker += " [\u2196]"; //↖ } if (data.HasLinkMarker(CardLinkMarker.Top)) { LinkMarker += " [\u2191]"; //↑ } if (data.HasLinkMarker(CardLinkMarker.TopRight)) { LinkMarker += " [\u2197]"; //↗ } if (data.HasLinkMarker(CardLinkMarker.Left)) { LinkMarker += " [\u2190]"; //← } if (data.HasLinkMarker(CardLinkMarker.Right)) { LinkMarker += " [\u2192]"; //→ } if (data.HasLinkMarker(CardLinkMarker.BottomLeft)) { LinkMarker += " [\u2199]"; //↙ } if (data.HasLinkMarker(CardLinkMarker.Bottom)) { LinkMarker += " [\u2193]"; //↓ } if (data.HasLinkMarker(CardLinkMarker.BottomRight)) { LinkMarker += " [\u2198]"; //↘ } return(LinkMarker); }
public static string secondType(long a) { string r = ""; bool passFirst = false; for (int i = 4; i < 27; i++) { if ((a & (1 << i)) > 0) { if (passFirst) { r += fen; } r += GameStringManager.get_unsafe(1050 + i); passFirst = true; } } if (r == "") { r += GameStringManager.get_unsafe(1054); } return(r); }
public void StocMessage_ErrorMsg(BinaryReader r) { int msg = r.ReadByte(); int code = 0; switch (msg) { case 1: r.ReadByte(); r.ReadByte(); r.ReadByte(); code = r.ReadInt32(); switch (code) { case 0: RMSshow_onlyYes("", GameStringManager.get_unsafe(1403), null); break; case 1: RMSshow_onlyYes("", GameStringManager.get_unsafe(1404), null); break; case 2: RMSshow_onlyYes("", GameStringManager.get_unsafe(1405), null); break; } break; case 2: r.ReadByte(); r.ReadByte(); r.ReadByte(); code = r.ReadInt32(); int flag = code >> 28; code = code & 0xFFFFFFF; switch (flag) { case 1: // DECKERROR_LFLIST RMSshow_onlyYes("", InterString.Get("卡组非法,请检查:[?]", YGOSharp.CardsManager.Get(code).Name) + "\r\n" + InterString.Get("(数量不符合禁限卡表)"), null); break; case 2: // DECKERROR_OCGONLY RMSshow_onlyYes("", InterString.Get("卡组非法,请检查:[?]", YGOSharp.CardsManager.Get(code).Name) + "\r\n" + InterString.Get("(OCG独有卡,不能在当前设置使用)"), null); break; case 3: // DECKERROR_TCGONLY RMSshow_onlyYes("", InterString.Get("卡组非法,请检查:[?]", YGOSharp.CardsManager.Get(code).Name) + "\r\n" + InterString.Get("(TCG独有卡,不能在当前设置使用)"), null); break; case 4: // DECKERROR_UNKNOWNCARD if (code < 100000000) { RMSshow_onlyYes("", InterString.Get("卡组非法,请检查:[?]", YGOSharp.CardsManager.Get(code).Name) + "\r\n" + InterString.Get("(服务器无法识别此卡,可能是服务器未更新)"), null); } else { RMSshow_onlyYes("", InterString.Get("卡组非法,请检查:[?]", YGOSharp.CardsManager.Get(code).Name) + "\r\n" + InterString.Get("(服务器无法识别此卡,可能是服务器不支持先行卡或此先行卡已正式更新)"), null); } break; case 5: // DECKERROR_CARDCOUNT RMSshow_onlyYes("", InterString.Get("卡组非法,请检查:[?]", YGOSharp.CardsManager.Get(code).Name) + "\r\n" + InterString.Get("(数量过多)"), null); break; case 6: // DECKERROR_MAINCOUNT RMSshow_onlyYes("", InterString.Get("主卡组数量应为40-60张"), null); break; case 7: // DECKERROR_EXTRACOUNT RMSshow_onlyYes("", InterString.Get("额外卡组数量应为0-15张"), null); break; case 8: // DECKERROR_SIDECOUNT RMSshow_onlyYes("", InterString.Get("副卡组数量应为0-15"), null); break; default: RMSshow_onlyYes("", GameStringManager.get_unsafe(1406), null); break; } break; case 3: RMSshow_onlyYes("", InterString.Get("更换副卡组失败,请检查卡片张数是否一致。"), null); break; case 4: r.ReadByte(); r.ReadByte(); r.ReadByte(); code = r.ReadInt32(); //string hexOutput = "0x"+String.Format("{0:X}", code); //Program.I().selectServer.set_version(hexOutput); //RMSshow_none(InterString.Get("你输入的版本号和服务器不一致,[7CFC00]YGOPro2已经智能切换版本号[-],请重新连接。")); break; default: break; } }
void initialize() { go(1, () => { UIHelper.iniFaces(); initializeALLcameras(); fixALLcamerasPreFrame(); backGroundPic = new BackGroundPic(); servants.Add(backGroundPic); backGroundPic.fixScreenProblem(); }); go(300, () => { InterString.initialize("config/translation.conf"); GameTextureManager.initialize(); Config.initialize("config/config.conf"); if (!Directory.Exists("expansions")) { try { Directory.CreateDirectory("expansions"); } catch { } } var fileInfos = new FileInfo[0]; if (Directory.Exists("expansions")) { fileInfos = (new DirectoryInfo("expansions")).GetFiles(); foreach (FileInfo file in fileInfos) { if (file.Name.ToLower().EndsWith(".ypk")) { GameZipManager.Zips.Add(new Ionic.Zip.ZipFile("expansions/" + file.Name)); } if (file.Name.ToLower().EndsWith(".conf")) { GameStringManager.initialize("expansions/" + file.Name); } if (file.Name.ToLower().EndsWith(".cdb")) { YGOSharp.CardsManager.initialize("expansions/" + file.Name); } } } if (Directory.Exists("cdb")) { fileInfos = (new DirectoryInfo("cdb")).GetFiles(); foreach (FileInfo file in fileInfos) { if (file.Name.ToLower().EndsWith(".conf")) { GameStringManager.initialize("cdb/" + file.Name); } if (file.Name.ToLower().EndsWith(".cdb")) { YGOSharp.CardsManager.initialize("cdb/" + file.Name); } } } if (Directory.Exists("diy")) { fileInfos = (new DirectoryInfo("diy")).GetFiles(); foreach (FileInfo file in fileInfos) { if (file.Name.ToLower().EndsWith(".conf")) { GameStringManager.initialize("diy/" + file.Name); } if (file.Name.ToLower().EndsWith(".cdb")) { YGOSharp.CardsManager.initialize("diy/" + file.Name); } } } if (Directory.Exists("data")) { fileInfos = (new DirectoryInfo("data")).GetFiles(); foreach (FileInfo file in fileInfos) { if (file.Name.ToLower().EndsWith(".zip")) { GameZipManager.Zips.Add(new Ionic.Zip.ZipFile("data/" + file.Name)); } } } foreach (ZipFile zip in GameZipManager.Zips) { if (zip.Name.ToLower().EndsWith("script.zip")) { continue; } foreach (string file in zip.EntryFileNames) { if (file.ToLower().EndsWith(".conf")) { MemoryStream ms = new MemoryStream(); ZipEntry e = zip[file]; e.Extract(ms); GameStringManager.initializeContent(Encoding.UTF8.GetString(ms.ToArray())); } if (file.ToLower().EndsWith(".cdb")) { ZipEntry e = zip[file]; string tempfile = Path.Combine(Path.GetTempPath(), file); e.Extract(Path.GetTempPath(), ExtractExistingFileAction.OverwriteSilently); YGOSharp.CardsManager.initialize(tempfile); File.Delete(tempfile); } } } GameStringManager.initialize("config/strings.conf"); YGOSharp.BanlistManager.initialize("config/lflist.conf"); if (Directory.Exists("pack")) { fileInfos = (new DirectoryInfo("pack")).GetFiles(); foreach (FileInfo file in fileInfos) { if (file.Name.ToLower().EndsWith(".db")) { YGOSharp.PacksManager.initialize("pack/" + file.Name); } } YGOSharp.PacksManager.initializeSec(); } initializeALLservants(); loadResources(); }); }
public void StocMessage_ErrorMsg(BinaryReader r) { int msg = r.ReadByte(); int code = 0; switch (msg) { case 1: r.ReadByte(); r.ReadByte(); r.ReadByte(); code = r.ReadInt32(); switch (code) { case 0: RMSshow_onlyYes("", GameStringManager.get_unsafe(1403), null); break; case 1: RMSshow_onlyYes("", GameStringManager.get_unsafe(1404), null); break; case 2: RMSshow_onlyYes("", GameStringManager.get_unsafe(1405), null); break; } break; case 2: r.ReadByte(); r.ReadByte(); r.ReadByte(); code = r.ReadInt32(); switch (code) { case 1: RMSshow_onlyYes("", GameStringManager.get_unsafe(1406), null); break; default: RMSshow_onlyYes("", InterString.Get("卡组非法,请检查:[?]", YGOSharp.CardsManager.Get(code).Name), null); break; } break; case 3: RMSshow_onlyYes("", InterString.Get("更换副卡组失败,请检查卡片张数是否一致。"), null); break; case 4: r.ReadByte(); r.ReadByte(); r.ReadByte(); code = r.ReadInt32(); string hexOutput = "0x" + String.Format("{0:X}", code); Program.I().selectServer.set_version(hexOutput); RMSshow_none(InterString.Get("你输入的版本号和服务器不一致,[7CFC00]YGOPro2已经智能切换版本号[-],请重新链接。")); break; default: break; } }
void initialize() { go(1, () => { UIHelper.iniFaces(); initializeALLcameras(); fixALLcamerasPreFrame(); backGroundPic = new BackGroundPic(); servants.Add(backGroundPic); backGroundPic.fixScreenProblem(); }); go(300, () => { Config.initialize("Assets/essential/config/config.conf"); localSha = new ShaCache(); try { UpdateClient("Assets/essential/cdb/", cdbID); UpdateClient("Assets/essential/config/", configID); } catch { // TODO: I would like to log to the chat log but that doesn't get initalized till initializeALLservants // book.add("Auto Update Failed...\nCheck your network connection and relaunch the game..."); } InterString.initialize("Assets/essential/config/translation.conf"); InterString.initialize("Assets/essential/config" + AppLanguage.LanguageDir() + "/translation.conf"); //System Language GameTextureManager.initialize(); GameStringManager.initialize("Assets/essential/config/strings.conf"); if (File.Exists("Assets/essential/config/strings.conf")) { GameStringManager.initialize("Assets/essential/config/strings.conf"); } if (File.Exists("expansions/strings.conf")) { GameStringManager.initialize("expansions/strings.conf"); } YGOSharp.BanlistManager.initialize("Assets/essential/config/lflist.conf"); if (File.Exists("expansions/lflist.conf")) { YGOSharp.BanlistManager.initialize("expansions/lflist.conf"); } FileInfo[] fileInfos; if (Directory.Exists("expansions")) { fileInfos = (new DirectoryInfo("expansions")).GetFiles().Where(x => x.Extension == ".cdb").OrderBy(x => x.Name).ToArray(); if (Directory.Exists("expansions" + AppLanguage.LanguageDir())) { fileInfos = (new DirectoryInfo("expansions" + AppLanguage.LanguageDir())).GetFiles().Where(x => x.Extension == ".cdb").OrderBy(x => x.Name).ToArray(); } for (int i = 0; i < fileInfos.Length; i++) { if (fileInfos[i].Name.Length > 4) { if (fileInfos[i].Name.Substring(fileInfos[i].Name.Length - 4, 4) == ".cdb") { YGOSharp.CardsManager.initialize("expansions/" + fileInfos[i].Name); YGOSharp.CardsManager.initialize("expansions" + AppLanguage.LanguageDir() + "/" + fileInfos[i].Name); } } } } fileInfos = (new DirectoryInfo("Assets/essential/cdb")).GetFiles().OrderByDescending(x => x.Name).ToArray(); for (int i = 0; i < fileInfos.Length; i++) { if (fileInfos[i].Name.Length > 4) { if (fileInfos[i].Name.Substring(fileInfos[i].Name.Length - 4, 4) == ".cdb") { YGOSharp.CardsManager.initialize("Assets/essential/cdb/" + fileInfos[i].Name); YGOSharp.CardsManager.initialize("Assets/essential/cdb" + AppLanguage.LanguageDir() + "/" + fileInfos[i].Name);//System Language } } } fileInfos = (new DirectoryInfo("Assets/essential/pack")).GetFiles(); fileInfos = (new DirectoryInfo("Assets/essential/pack" + AppLanguage.LanguageDir())).GetFiles(); for (int i = 0; i < fileInfos.Length; i++) { if (fileInfos[i].Name.Length > 3) { if (fileInfos[i].Name.Substring(fileInfos[i].Name.Length - 3, 3) == ".db") { YGOSharp.PacksManager.initialize("Assets/essential/pack/" + fileInfos[i].Name); YGOSharp.PacksManager.initialize("Assets/essential/pack" + AppLanguage.LanguageDir() + "/" + fileInfos[i].Name); } } } YGOSharp.PacksManager.initializeSec(); initializeALLservants(); loadResources(); }); }
void initialize() { #if !UNITY_EDITOR && UNITY_STANDALONE_OSX //Mac string GamePaths = Application.streamingAssetsPath; // .app/Contents/Resources/Data/StreamingAssets/ Environment.CurrentDirectory = GamePaths; System.IO.Directory.SetCurrentDirectory(GamePaths); #endif go(1, () => { GAME_VERSION = PRO_VERSION() + "-fix2"; UIHelper.iniFaces(); initializeALLcameras(); fixALLcamerasPreFrame(); backGroundPic = new BackGroundPic(); servants.Add(backGroundPic); backGroundPic.fixScreenProblem(); }); go(300, () => { InterString.initialize("config/translation.conf"); GameTextureManager.initialize(); Config.initialize("config/config.conf"); if (File.Exists("config/strings.conf")) { GameStringManager.initialize("config/strings.conf"); } //if (File.Exists("config" + AppLanguage.LanguageDir() + "/strings.conf")) //{ // GameStringManager.initialize("config" + AppLanguage.LanguageDir() + "/strings.conf"); //} if (File.Exists("cdb/strings.conf")) { GameStringManager.initialize("cdb/strings.conf"); } if (File.Exists("expansions/strings.conf")) { GameStringManager.initialize("expansions/strings.conf"); } YGOSharp.BanlistManager.initialize("config/lflist.conf"); var fileInfos = (new DirectoryInfo("cdb")).GetFiles(); //var fileInfos = (new DirectoryInfo("cdb" + AppLanguage.LanguageDir())).GetFiles(); for (int i = 0; i < fileInfos.Length; i++) { if (fileInfos[i].Name.Length > 4) { if (fileInfos[i].Name.Substring(fileInfos[i].Name.Length - 4, 4) == ".cdb") { YGOSharp.CardsManager.initialize("cdb/" + fileInfos[i].Name); //YGOSharp.CardsManager.initialize("cdb" + AppLanguage.LanguageDir() + "/" + fileInfos[i].Name); } } } if (Directory.Exists("expansions")) { fileInfos = (new DirectoryInfo("expansions")).GetFiles(); for (int i = 0; i < fileInfos.Length; i++) { if (fileInfos[i].Name.Length > 4) { if (fileInfos[i].Name.Substring(fileInfos[i].Name.Length - 4, 4) == ".cdb") { YGOSharp.CardsManager.initialize("expansions/" + fileInfos[i].Name); } } } } #if (!UNITY_ANDROID || !UNITY_IPHONE) //移动端显示问题,此功能不使用 if (Directory.Exists("pack")) { fileInfos = (new DirectoryInfo("pack")).GetFiles(); for (int i = 0; i < fileInfos.Length; i++) { if (fileInfos[i].Name.Length > 3) { if (fileInfos[i].Name.Substring(fileInfos[i].Name.Length - 3, 3) == ".db") { YGOSharp.PacksManager.initialize("pack/" + fileInfos[i].Name); } } } YGOSharp.PacksManager.initializeSec(); } #endif initializeALLservants(); loadResources(); }); }
void initialize() { go(1, () => { UIHelper.iniFaces(); initializeALLcameras(); fixALLcamerasPreFrame(); backGroundPic = new BackGroundPic(); servants.Add(backGroundPic); backGroundPic.fixScreenProblem(); }); go(300, () => { InterString.initialize("config/translation.conf"); InterString.initialize("config" + AppLanguage.LanguageDir() + "/translation.conf"); //System Language GameTextureManager.initialize(); Config.initialize("config/config.conf"); UpdateClient(); GameStringManager.initialize("config/strings.conf"); if (File.Exists("config/strings.conf")) { GameStringManager.initialize("config/strings.conf"); } if (File.Exists("expansions/strings.conf")) { GameStringManager.initialize("expansions/strings.conf"); } YGOSharp.BanlistManager.initialize("config/lflist.conf"); FileInfo[] fileInfos = (new DirectoryInfo("cdb")).GetFiles().OrderByDescending(x => x.Name).ToArray(); //load cards.cdb last this way for (int i = 0; i < fileInfos.Length; i++) { if (fileInfos[i].Name.Length > 4) { if (fileInfos[i].Name.Substring(fileInfos[i].Name.Length - 4, 4) == ".cdb") { YGOSharp.CardsManager.initialize("cdb/" + fileInfos[i].Name); YGOSharp.CardsManager.initialize("cdb" + AppLanguage.LanguageDir() + "/" + fileInfos[i].Name);//System Language } } } if (Directory.Exists("expansions")) { if (Directory.Exists("expansions" + AppLanguage.LanguageDir())) { fileInfos = (new DirectoryInfo("expansions")).GetFiles().OrderByDescending(x => x.Name).ToArray();; fileInfos = (new DirectoryInfo("expansions" + AppLanguage.LanguageDir())).GetFiles(); for (int i = 0; i < fileInfos.Length; i++) { if (fileInfos[i].Name.Length > 4) { if (fileInfos[i].Name.Substring(fileInfos[i].Name.Length - 4, 4) == ".cdb") { YGOSharp.CardsManager.initialize("expansions/" + fileInfos[i].Name); YGOSharp.CardsManager.initialize("expansions" + AppLanguage.LanguageDir() + "/" + fileInfos[i].Name); } } } } } fileInfos = (new DirectoryInfo("pack")).GetFiles(); fileInfos = (new DirectoryInfo("pack" + AppLanguage.LanguageDir())).GetFiles(); for (int i = 0; i < fileInfos.Length; i++) { if (fileInfos[i].Name.Length > 3) { if (fileInfos[i].Name.Substring(fileInfos[i].Name.Length - 3, 3) == ".db") { YGOSharp.PacksManager.initialize("pack/" + fileInfos[i].Name); YGOSharp.PacksManager.initialize("pack" + AppLanguage.LanguageDir() + "/" + fileInfos[i].Name); } } } YGOSharp.PacksManager.initializeSec(); initializeALLservants(); loadResources(); }); }
void initialize() { go(1, () => { UIHelper.iniFaces(); initializeALLcameras(); fixALLcamerasPreFrame(); backGroundPic = new BackGroundPic(); servants.Add(backGroundPic); backGroundPic.fixScreenProblem(); }); go(300, () => { InterString.initialize("config/translation.conf"); GameTextureManager.initialize(); Config.initialize("config/config.conf"); GameStringManager.initialize("config/strings.conf"); if (File.Exists("cdb/strings.conf")) { GameStringManager.initialize("cdb/strings.conf"); } if (File.Exists("diy/strings.conf")) { GameStringManager.initialize("diy/strings.conf"); } YGOSharp.BanlistManager.initialize("config/lflist.conf"); var fileInfos = (new DirectoryInfo("cdb")).GetFiles(); for (int i = 0; i < fileInfos.Length; i++) { if (fileInfos[i].Name.Length > 4) { if (fileInfos[i].Name.Substring(fileInfos[i].Name.Length - 4, 4) == ".cdb") { YGOSharp.CardsManager.initialize("cdb/" + fileInfos[i].Name); } } } if (Directory.Exists("diy")) { fileInfos = (new DirectoryInfo("diy")).GetFiles(); for (int i = 0; i < fileInfos.Length; i++) { if (fileInfos[i].Name.Length > 4) { if (fileInfos[i].Name.Substring(fileInfos[i].Name.Length - 4, 4) == ".cdb") { YGOSharp.CardsManager.initialize("diy/" + fileInfos[i].Name); } } } } if (Directory.Exists("pack")) { fileInfos = (new DirectoryInfo("pack")).GetFiles(); for (int i = 0; i < fileInfos.Length; i++) { if (fileInfos[i].Name.Length > 3) { if (fileInfos[i].Name.Substring(fileInfos[i].Name.Length - 3, 3) == ".db") { YGOSharp.PacksManager.initialize("pack/" + fileInfos[i].Name); } } } YGOSharp.PacksManager.initializeSec(); } initializeALLservants(); loadResources(); }); }
public static string getName(YGOSharp.Card card) { string limitot = ""; switch (card.Ot) { case 1: limitot = GameStringManager.get_unsafe(1240); break; case 2: limitot = GameStringManager.get_unsafe(1241); break; case 3: limitot = GameStringManager.get_unsafe(1242); break; case 4: limitot = GameStringManager.get_unsafe(1243); break; } string re = ""; try { re += "[b]" + card.Name + "[/b]"; re += "\n"; re += "[sup][" + limitot + "] [/sup]"; re += "\n"; re += "[sup]" + card.Id.ToString() + "[/sup]"; re += "\n"; } catch (Exception e) { } if (differ(card.Attribute, (int)CardAttribute.Earth)) { re = "[F4A460]" + re + "[-]"; } if (differ(card.Attribute, (int)CardAttribute.Water)) { re = "[D1EEEE]" + re + "[-]"; } if (differ(card.Attribute, (int)CardAttribute.Fire)) { re = "[F08080]" + re + "[-]"; } if (differ(card.Attribute, (int)CardAttribute.Wind)) { re = "[B3EE3A]" + re + "[-]"; } if (differ(card.Attribute, (int)CardAttribute.Light)) { re = "[EEEE00]" + re + "[-]"; } if (differ(card.Attribute, (int)CardAttribute.Dark)) { re = "[FF00FF]" + re + "[-]"; } return(re); }
void initialize() { #if UNITY_ANDROID //Android //保持唤醒 Screen.sleepTimeout = SleepTimeout.NeverSleep; //创建资源目录 DirectoryInfo gameDir = new DirectoryInfo(Application.persistentDataPath); string sdcardpath = gameDir.FullName.Substring(0, gameDir.FullName.LastIndexOf("Android")); if (!Directory.Exists(Path.Combine(sdcardpath, "ygocore/texture")) || !File.Exists(Path.Combine(sdcardpath, "ygocore/picture/null.png"))) { string filePath = Application.streamingAssetsPath + "/ygocore.zip"; var www = new WWW(filePath); while (!www.isDone) { } byte[] bytes = www.bytes; ExtractZipFile(bytes, sdcardpath, false); DirPaths(Path.Combine(sdcardpath, "ygocore/cdb/")); DirPaths(Path.Combine(sdcardpath, "ygocore/config/")); DirPaths(Path.Combine(sdcardpath, "ygocore/deck/")); DirPaths(Path.Combine(sdcardpath, "ygocore/pack/")); DirPaths(Path.Combine(sdcardpath, "ygocore/updates/")); DirPaths(Path.Combine(sdcardpath, "ygocore/picture/card/")); DirPaths(Path.Combine(sdcardpath, "ygocore/picture/closeup/")); DirPaths(Path.Combine(sdcardpath, "ygocore/picture/field/")); DirPaths(Path.Combine(sdcardpath, "ygocore/replay/")); DirPaths(Path.Combine(sdcardpath, "ygocore/sound/")); DirPaths(Path.Combine(sdcardpath, "ygocore/texture/common/")); DirPaths(Path.Combine(sdcardpath, "ygocore/texture/face/")); DirPaths(Path.Combine(sdcardpath, "ygocore/texture/duel/healthBar/")); DirPaths(Path.Combine(sdcardpath, "ygocore/texture/duel/phase/")); DirPaths(Path.Combine(sdcardpath, "ygocore/texture/ui/")); File.Create(Path.Combine(sdcardpath, "ygocore/.nomedia")); File.Create(Path.Combine(sdcardpath, "ygocore/picture/card/.nomedia")); File.Create(Path.Combine(sdcardpath, "ygocore/picture/closeup/.nomedia")); File.Create(Path.Combine(sdcardpath, "ygocore/picture/field/.nomedia")); } Environment.CurrentDirectory = Path.Combine(sdcardpath, "ygocore"); System.IO.Directory.SetCurrentDirectory(Path.Combine(sdcardpath, "ygocore")); #elif UNITY_IOS //iPhone if (!Directory.Exists(Application.persistentDataPath + "/ygocore/texture") || !File.Exists(Application.persistentDataPath + "/ygocore/picture/null.png")) { string filePath = Application.streamingAssetsPath + "/ygocore.zip"; ExtractZipFile(System.IO.File.ReadAllBytes(filePath), Application.persistentDataPath + "/", false); } Environment.CurrentDirectory = Application.persistentDataPath + "/ygocore"; System.IO.Directory.SetCurrentDirectory(Application.persistentDataPath + "/ygocore"); #endif go(1, () => { initializeALLcameras(); fixALLcamerasPreFrame(); backGroundPic = new BackGroundPic(); servants.Add(backGroundPic); backGroundPic.fixScreenProblem(); }); go(300, () => { UpdateClient(); InterString.initialize("config/translation.conf"); InterString.initialize("config" + AppLanguage.LanguageDir() + "/translation.conf"); //System Language GameTextureManager.initialize(); Config.initialize("config/config.conf"); GameStringManager.initialize("config/strings.conf"); if (File.Exists("config/strings.conf")) { GameStringManager.initialize("config/strings.conf"); } if (File.Exists("expansions/strings.conf")) { GameStringManager.initialize("expansions/strings.conf"); } YGOSharp.BanlistManager.initialize("config/lflist.conf"); FileInfo[] fileInfos = (new DirectoryInfo("cdb")).GetFiles().OrderByDescending(x => x.Name).ToArray(); //load cards.cdb last this way for (int i = 0; i < fileInfos.Length; i++) { if (fileInfos[i].Name.Length > 4) { if (fileInfos[i].Name.Substring(fileInfos[i].Name.Length - 4, 4) == ".cdb") { YGOSharp.CardsManager.initialize("cdb/" + fileInfos[i].Name); YGOSharp.CardsManager.initialize("cdb" + AppLanguage.LanguageDir() + "/" + fileInfos[i].Name);//System Language } } } if (Directory.Exists("expansions")) { if (Directory.Exists("expansions" + AppLanguage.LanguageDir())) { fileInfos = (new DirectoryInfo("expansions")).GetFiles().OrderByDescending(x => x.Name).ToArray();; fileInfos = (new DirectoryInfo("expansions" + AppLanguage.LanguageDir())).GetFiles(); for (int i = 0; i < fileInfos.Length; i++) { if (fileInfos[i].Name.Length > 4) { if (fileInfos[i].Name.Substring(fileInfos[i].Name.Length - 4, 4) == ".cdb") { YGOSharp.CardsManager.initialize("expansions/" + fileInfos[i].Name); YGOSharp.CardsManager.initialize("expansions" + AppLanguage.LanguageDir() + "/" + fileInfos[i].Name); } } } } } fileInfos = (new DirectoryInfo("pack")).GetFiles(); fileInfos = (new DirectoryInfo("pack" + AppLanguage.LanguageDir())).GetFiles(); for (int i = 0; i < fileInfos.Length; i++) { if (fileInfos[i].Name.Length > 3) { if (fileInfos[i].Name.Substring(fileInfos[i].Name.Length - 3, 3) == ".db") { YGOSharp.PacksManager.initialize("pack/" + fileInfos[i].Name); YGOSharp.PacksManager.initialize("pack" + AppLanguage.LanguageDir() + "/" + fileInfos[i].Name); } } } YGOSharp.PacksManager.initializeSec(); initializeALLservants(); loadResources(); }); }