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()));
    }
Beispiel #2
0
    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;
        }
    }
Beispiel #3
0
    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);
    }
Beispiel #4
0
    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);
    }
Beispiel #5
0
    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);
    }
Beispiel #6
0
    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);
    }
Beispiel #7
0
    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();
        });
    }
Beispiel #9
0
    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;
        }
    }
Beispiel #10
0
    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();
        });
    }
Beispiel #11
0
    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();
        });
    }
Beispiel #12
0
    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();
        });
    }
Beispiel #13
0
    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();
        });
    }
Beispiel #14
0
    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);
    }
Beispiel #15
0
    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();
        });
    }