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 ."); }
private static void Run(String pass, String serverIP, int serverPort, int version, String room = "", string cdb = "cards.cdb") { ProVersion = version; if (pass == "--") { pass = ""; } if (room == "[null]") { room = ""; } Console.WriteLine(pass + " " + serverIP + ":" + serverPort + " 0x" + version.ToString("x") + " room:" + room); Rand = new Random(); CardsManager.Init(cdb); DecksManager.Init(); // Start two clients and connect them to the same room. Which deck is gonna win? AIGameClient clientA = new AIGameClient(pass, serverIP, serverPort, room); clientA.Start(); while (clientA.Connection.IsConnected) { clientA.Tick(); Thread.Sleep(1); } //Thread.Sleep(3000); }
public static void InitAndroid(string assetPath, string databasePath, string confPath) { Program.Rand = new Random(); AssetPath = assetPath; DecksManager.Init(); NamedCardsManager.Init(databasePath); ReadBots(confPath); }
public static void InitAndroid(string assetPath) { NamedCardsManager.SetThreadSafe(); Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); Program.Rand = new Random(); Program.AssetPath = assetPath; DecksManager.Init(); }
public static void InitDatas(string databasePath) { Rand = new Random(); DecksManager.Init(); string absolutePath = Path.GetFullPath(databasePath); NamedCardsManager.Init(absolutePath); }
private void Start() { player = this.gameObject.GetComponent <PlayerManager>(); ui = this.gameObject.GetComponent <PlayerUI>(); manager = GameObject.Find("GameManager").GetComponent <GameManager>(); decks = GameObject.Find("GameManager").GetComponent <DecksManager>(); enemy = otherPlayer.GetComponent <PlayerManager>(); enemyUI = otherPlayer.GetComponent <PlayerUI>(); }
private void Awake() { if (decksManager == null) { decksManager = this; } else if (decksManager != this) { Destroy(gameObject); } }
internal static void Main(string[] args) { Logger.WriteLine("WindBot starting..."); Config.Load(args); Rand = new Random(); List <FileInfo> databases = new List <FileInfo>(); List <DirectoryInfo> databaseDirs = new List <DirectoryInfo> { new DirectoryInfo("../ygopro"), new DirectoryInfo(Path.GetFullPath(Environment.CurrentDirectory)), new DirectoryInfo("../ygopro/expansions"), new DirectoryInfo("../ygopro/expansions/official") }; databases.Add(new FileInfo(Config.GetString("DbPath", "cards.cdb"))); foreach (DirectoryInfo databaseDir in databaseDirs) { if (databaseDir.Exists) { databases.AddRange(databaseDir.GetFiles("*.cdb").OrderByDescending(x => x.Name).ToList()); } } databases = databases.OrderByDescending(x => x.Name).ToList(); foreach (FileInfo database in databases) { if (database.Exists) { Logger.WriteLine(database.FullName); InitDatas(database.FullName); } } DecksManager.Init(); bool serverMode = Config.GetBool("ServerMode", false); if (serverMode) { // Run in server mode, provide a http interface to create bot. int serverPort = Config.GetInt("ServerPort", 2399); RunAsServer(serverPort); } else { // Join the host specified on the command line. if (args.Length == 0) { Logger.WriteErrorLine("=== WARN ==="); Logger.WriteLine("No input found, tring to connect to localhost YGOPro host."); Logger.WriteLine("If it fail, the program will quit sliently."); } RunFromArgs(); } }
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()); } }
// Start is called before the first frame update private void Start() { cardsData = this.gameObject.GetComponent <CardsData>(); decks = this.gameObject.GetComponent <DecksManager>(); ui = this.gameObject.GetComponent <GeneralUI>(); player1 = GameObject.Find("Player1").GetComponent <PlayerManager>(); player2 = GameObject.Find("Player2").GetComponent <PlayerManager>(); player1UI = GameObject.Find("Player1").GetComponent <PlayerUI>(); player2UI = GameObject.Find("Player2").GetComponent <PlayerUI>(); player1Actions = GameObject.Find("Player1").GetComponent <PlayerActions>(); player2Actions = GameObject.Find("Player2").GetComponent <PlayerActions>(); InitializeGame(); }
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()); } }
private static void Run(String username, String deck, String serverIP, int serverPort, String room) { Rand = new Random(); CardsManager.Init(); DecksManager.Init(); // Start two clients and connect them to the same room. Which deck is gonna win? GameClient clientA = new GameClient(username, deck, serverIP, serverPort, room); clientA.Start(); while (clientA.Connection.IsConnected) { clientA.Tick(); Thread.Sleep(1); } }
public SaveGameData() { // Saving Players if (!GameManager.singleton) { return; } turnPhase = GameManager.singleton.turnPhase; playersData = new List <PlayerSaveData>(); foreach (var player in GameManager.singleton.playersObjects) { //Debug.Log("Save Player: " + player); playersData.Add(player.GetComponent <PlayerInGame>().GetPlayerData()); } // Saving Cards that are in decks discardedCards = new List <string>(); DecksManager serverDecksManager = GameManager.singleton.ServerDecksManager; for (int i = 0; i < serverDecksManager.DiscardedDoorsDeck.childCount; i++) { discardedCards.Add(serverDecksManager.DiscardedDoorsDeck.GetChild(i).GetComponent <Card>().GetCardData()); } for (int i = 0; i < serverDecksManager.DiscardedTreasuresDeck.childCount; i++) { discardedCards.Add(serverDecksManager.DiscardedTreasuresDeck.GetChild(i).GetComponent <Card>().GetCardData()); } for (int i = 0; i < serverDecksManager.DiscardedSpellsDeck.childCount; i++) { discardedCards.Add(serverDecksManager.DiscardedSpellsDeck.GetChild(i).GetComponent <Card>().GetCardData()); } for (int i = 0; i < serverDecksManager.DiscardedHelpHandsDeck.childCount; i++) { discardedCards.Add(serverDecksManager.DiscardedHelpHandsDeck.GetChild(i).GetComponent <Card>().GetCardData()); } }
/// <summary> Assign card which owns this script to correct deck. </summary> IEnumerator GetAdopted() { // Wait for serverGameManager while (!serverGameManager) { serverGameManager = GameManager.singleton; yield return(new WaitForEndOfFrame()); } // Wait for serverDecksManager while (!serverDecksManager) { serverDecksManager = GameManager.singleton.ServerDecksManager; yield return(new WaitForEndOfFrame()); } // Wait for Decks while (!serverDecksManager.SpellsDeck) { yield return(new WaitForEndOfFrame()); } // Put card to correct deck. switch (GetComponent <Card>().cardValues.deck) { case Deck.Doors: serverDecksManager.DoorsDeck.GetComponent <DrawCardZone>().ReceiveCard(this.transform); break; case Deck.Treasures: serverDecksManager.TreasuresDeck.GetComponent <DrawCardZone>().ReceiveCard(this.transform); break; case Deck.HelpingHand: serverDecksManager.HelpHandsDeck.GetComponent <DrawCardZone>().ReceiveCard(this.transform); break; case Deck.Spells: serverDecksManager.SpellsDeck.GetComponent <DrawCardZone>().ReceiveCard(this.transform); break; } }
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); }
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 ."); }
public static void Main(string[] args) { UselessThings(); timer = new System.Timers.Timer(); timer.Interval = 3600 * 1000; timer.Elapsed += new ElapsedEventHandler(OnTimedEvent); timer.Enabled = true; timer.Start(); Rand = new Random(); CardsManager.Init(); DecksManager.Init(); Deck = new[] { "OldSchool", "Horus", "Exodia", "DamageBurn", "Dragunity", "Zexal Weapons", "Rank V" , "CyberDragon", "Exodia", "Corrompu", "BlueEyes", "Protecteurs", "Nekroz", "Blackwing"}; try { clientSocket.Connect("127.0.0.1", 9001); connected = true; serverStream = clientSocket.GetStream(); Thread actualiser = new Thread(Actualiser); actualiser.IsBackground = true; actualiser.Start(); Thread duel = new Thread(Duel); duel.IsBackground = true; duel.Start(); EnvoyerMsg("salt|"); string Cmd = Console.ReadLine(); if (Cmd == "stop") EnvoyerMsg("deco|"); else Console.ReadLine(); } catch (Exception ex) { connected = false; Console.WriteLine("Erreur :" + ex.ToString()); return; } }
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 ."); } }
public static void InitAndroid(string databasePath) { Rand = new Random(); DecksManager.Init(); NamedCardsManager.Init(databasePath); }
public static void InitAndroid(string assetPath) { Program.Rand = new Random(); AssetPath = assetPath; DecksManager.Init(); }
public static void Init(string databasePath) { Rand = new Random(); DecksManager.Init(); InitCardsManager(databasePath); }