示例#1
0
        private static void InitCardsManager(string databasePath)
        {
            string currentPath  = Path.GetFullPath(".");
            string absolutePath = Path.Combine(currentPath, databasePath);

            NamedCardsManager.Init(absolutePath);
        }
示例#2
0
        public static void InitDatas(string databasePath)
        {
            Rand = new Random();
            DecksManager.Init();

            string[] dbPaths;
            //If databasePath is an absolute path like "‪C:/ProjectIgnis/expansions/cards.cdb",
            //then Path.GetFullPath("../‪C:/ProjectIgnis/expansions/cards.cdb" would give an error,
            //due to containing a colon that's not part of a volume identifier.
            if (Path.IsPathRooted(databasePath))
            {
                dbPaths = new string[] { databasePath }
            }
            ;
            else
            {
                dbPaths = new string[] {
                    Path.GetFullPath(databasePath),
                    Path.GetFullPath("../" + databasePath),
                    Path.GetFullPath("../expansions/" + databasePath)
                }
            };

            foreach (var absPath in dbPaths)
            {
                if (File.Exists(absPath))
                {
                    NamedCardsManager.Init(absPath);
                    return;
                }
            }
            Logger.WriteErrorLine("Can't find cards database file.");
            Logger.WriteErrorLine("Please place cards.cdb next to WindBot.exe or Bot.exe .");
        }
示例#3
0
        public static void InitDatas(string databasePath)
        {
            Rand = new Random();
            DecksManager.Init();
            string absolutePath = Path.GetFullPath(databasePath);

            NamedCardsManager.Init(absolutePath);
        }
示例#4
0
 public static void InitAndroid(string assetPath)
 {
     NamedCardsManager.SetThreadSafe();
     Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
     Program.Rand      = new Random();
     Program.AssetPath = assetPath;
     DecksManager.Init();
 }
示例#5
0
 public static void InitAndroid(string assetPath, string databasePath, string confPath)
 {
     Program.Rand = new Random();
     AssetPath    = assetPath;
     DecksManager.Init();
     NamedCardsManager.Init(databasePath);
     ReadBots(confPath);
 }
示例#6
0
 public static void AddDatabase(string databasePath)
 {
     try
     {
         NamedCardsManager.LoadDatabase(databasePath);
     }
     catch (Exception ex)
     {
         Logger.WriteErrorLine("Failed loading database: " + databasePath + " error: " + ex);
     }
 }
示例#7
0
 public static void InitAndroid(string assetPath)
 {
     Program.Rand = new Random();
     AssetPath    = assetPath;
     DecksManager.Init();
     try
     {
         NamedCardsManager.Init(assetPath + "/cards.cdb");
     }
     catch (Exception e)
     {
         Logger.WriteErrorLine(e.ToString());
     }
 }
示例#8
0
        public static void InitDatas(string databasePath)
        {
            string absolutePath = databasePath;

            if (!File.Exists(absolutePath))
            {
                Logger.WriteErrorLine("Can't find cards database file.");
                Logger.WriteErrorLine("Please place cards.cdb next to WindBot.exe or Bot.exe .");
                Logger.WriteLine("Press any key to quit...");
                Console.ReadKey();
                System.Environment.Exit(1);
            }
            NamedCardsManager.Init(absolutePath);
        }
示例#9
0
 public static void InitAndroid(string assetPath)
 {
     Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
     Program.Rand      = new Random();
     Program.AssetPath = assetPath;
     DecksManager.Init();
     try
     {
         NamedCardsManager.Init(assetPath + "/cards.cdb");
     }
     catch (Exception e)
     {
         Logger.WriteErrorLine(e.ToString());
     }
 }
示例#10
0
        public static void InitDatas(string databasePath)
        {
            Rand = new Random();
            DecksManager.Init();
            string absolutePath = Path.GetFullPath(databasePath);

            if (!File.Exists(absolutePath))
            {
                // In case windbot is placed in a folder under ygopro folder
                absolutePath = Path.GetFullPath("../" + databasePath);
            }
            if (!File.Exists(absolutePath))
            {
                Logger.WriteErrorLine("Can't find cards database file.");
                Logger.WriteErrorLine("Please place cards.cdb next to WindBot.exe or Bot.exe .");
                Logger.WriteLine("Press any key to quit...");
                Console.ReadKey();
                System.Environment.Exit(1);
            }
            NamedCardsManager.Init(absolutePath);
        }
示例#11
0
 public static void InitDatas(string databasePath)
 {
     Rand = new Random();
     DecksManager.Init();
     string[] dbPaths =
     {
         Path.GetFullPath(databasePath),
         Path.GetFullPath("../" + databasePath),
         Path.GetFullPath("../expansions/" + databasePath)
     };
     foreach (var absPath in dbPaths)
     {
         if (File.Exists(absPath))
         {
             NamedCardsManager.Init(absPath);
             return;
         }
     }
     Logger.WriteErrorLine("Can't find cards database file.");
     Logger.WriteErrorLine("Please place cards.cdb next to WindBot.exe or Bot.exe .");
 }
示例#12
0
        public static void InitDatas(string databasePath, string databasePaths)
        {
            Rand = new Random();
            DecksManager.Init();

            string[] dbPaths = null;
            try
            {
                if (databasePath == null && databasePaths != null)
                {
                    MemoryStream json = new MemoryStream(Convert.FromBase64String(databasePaths));
                    DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(string[]));
                    dbPaths = serializer.ReadObject(json) as string[];
                }
            }
            catch (Exception)
            {
            }

            if (dbPaths == null)
            {
                if (databasePath == null)
                {
                    databasePath = "cards.cdb";
                }
                //If databasePath is an absolute path like "‪C:/ProjectIgnis/expansions/cards.cdb",
                //then Path.GetFullPath("../‪C:/ProjectIgnis/expansions/cards.cdb" would give an error,
                //due to containing a colon that's not part of a volume identifier.
                if (Path.IsPathRooted(databasePath))
                {
                    dbPaths = new string[] { databasePath }
                }
                ;
                else
                {
                    dbPaths = new string[] {
                        Path.GetFullPath(databasePath),
                        Path.GetFullPath("../" + databasePath),
                        Path.GetFullPath("../expansions/" + databasePath)
                    }
                };
            }

            bool loadedone = false;

            foreach (var absPath in dbPaths)
            {
                try
                {
                    if (File.Exists(absPath))
                    {
                        NamedCardsManager.LoadDatabase(absPath);
                        Logger.DebugWriteLine("Loaded database: " + absPath + ".");
                        loadedone = true;
                    }
                } catch (Exception ex)
                {
                    Logger.WriteErrorLine("Failed loading database: " + absPath + " error: " + ex);
                }
            }
            if (!loadedone)
            {
                Logger.WriteErrorLine("Can't find cards database file.");
                Logger.WriteErrorLine("Please place cards.cdb next to WindBot.exe or Bot.exe .");
            }
        }
示例#13
0
 public static void InitAndroid(string databasePath)
 {
     Rand = new Random();
     DecksManager.Init();
     NamedCardsManager.Init(databasePath);
 }