/// <summary> /// /// </summary> /// <param name="gameLogFilePath"></param> public void Start(string gameLogFilePath) { InGame = false; if (WebString != null) { WebString.Stop(); } if (gameLogFilePath == null) { WebString = new AutoUpdatingWebString(Constants.OverlayStateURL(), 150, this, 750, true); } else { List <string> gameLog = Utilities.UnzipToStringList(File.ReadAllBytes(gameLogFilePath)); TestMode = true; FullPlayerDeck.Clear(); for (int i = 0; i < NumZones; i++) { PlayerCards[i].Clear(); OpponentCards[i].Clear(); } // Process the deck gameLog[0] = gameLog[0].Trim(); List <CardWithCount> deck = Utilities.DeckFromStringCodeList(gameLog[0].Split(new char[] { ' ' })); FullPlayerDeck = Utilities.ConvertDeck(deck); PlayerCards[(int)PlayZone.Deck] = FullPlayerDeck.Clone(); IsInitialDraw = true; gameLog.RemoveAt(0); WebString = new AutoUpdatingWebString(gameLog, 10, this, 100, 60); } }
/// <summary> /// Constructor /// </summary> /// <param name="callback"></param> public Expedition(IExpeditionUpdateCallback callback = null) { Callback = callback; Clear(); if (callback != null) { WebString = new AutoUpdatingWebString(Constants.ExpeditionStateURL(), 1000, this); } }
/// <summary> /// Constructor /// </summary> /// <param name="callback">Interface to receive updates</param> public StaticDeck(StaticDeckUpdateCallback callback = null) { Callback = callback; Cards = new List <CardWithCount>(); DeckCode = ""; DeckName = ""; if (callback != null) { WebString = new AutoUpdatingWebString(Constants.StaticDeckURL(), 1000, this); } }