Ejemplo n.º 1
0
    // Leave game queue
    public IEnumerator cancel(Action <Exception> cb)
    {
        if (handshakeCompletedCb == null)
        {
            cb(new Exception("Could not cancel, not inside queue"));
            yield break;
        }

        if (currentGameId != null)
        {
            cb(new Exception("Could not cancel, already handshaking"));
            yield break;
        }

        if (game.tCurrentGame != null)
        {
            cb(new Exception("Could not cancel, already inside a game"));
            yield break;
        }

        JObject           arguments = new JObject();
        UsercommandStatus status    = this.command("cancel", arguments);

        while (!status.done)
        {
            yield return(null);
        }

        if (status.error == null)
        {
            handshakeCompletedCb = null;
        }

        cb(status.error);
    }
Ejemplo n.º 2
0
    // Enter game queue and wait for handshake sequence
    public IEnumerator queue(string type, int deckId, Action <Exception> cb)
    {
        // Make sure we are clean before entering queue again.
        // We want to hard fail here so that bugs can be fixed.
        if (handshakeCompletedCb != null)
        {
            logger.error("Already in the queue");
            yield break;
        }

        // Any current game setup
        game.CleanupCurrentGame();
        currentGameId = null;

        // Continue with queuing
        handshakeCompletedCb = cb;

        JObject arguments = new JObject();

        arguments.Add("type", new JValue(type));
        arguments.Add("deckId", new JValue(deckId));

        UsercommandStatus status = this.command("queue", arguments);

        while (!status.done)
        {
            yield return(null);
        }

        if (status.error != null)
        {
            finalCallback(status.error);
        }
    }
Ejemplo n.º 3
0
    //
    public IEnumerator useRecoveryItem(Action <Exception, JToken> cb)
    {
        JObject arguments = new JObject();

        UsercommandStatus status = this.command("useRecoveryItem", arguments);

        while (!status.done)
        {
            yield return(null);
        }

        cb(status.error, status.result);
    }
Ejemplo n.º 4
0
    //
    public IEnumerator isAssociated(Action <Exception, JToken> cb)
    {
        JObject arguments = new JObject();

        UsercommandStatus status = this.command("isAssociated", arguments);

        while (!status.done)
        {
            yield return(null);
        }

        cb(status.error, status.result);
    }
Ejemplo n.º 5
0
    //
    public IEnumerator startDeviceMigration(Action <Exception, JToken> cb)
    {
        JObject arguments = new JObject();

        UsercommandStatus status = this.command("startDeviceMigration", arguments);

        while (!status.done)
        {
            yield return(null);
        }

        cb(status.error, status.result);
    }
Ejemplo n.º 6
0
    //
    public IEnumerator releasePhysicalCard(Action <Exception> cb)
    {
        JObject arguments = new JObject();

        UsercommandStatus status = this.command("releasePhysicalCard", arguments);

        while (!status.done)
        {
            yield return(null);
        }

        cb(status.error);
    }
Ejemplo n.º 7
0
    //
    public IEnumerator setMain(Action <Exception> cb)
    {
        JObject arguments = new JObject();

        UsercommandStatus status = this.command("setMain", arguments);

        while (!status.done)
        {
            yield return(null);
        }

        cb(status.error);
    }
Ejemplo n.º 8
0
    //
    public IEnumerator getEvent(string eventType, Action <Exception, JToken> cb)
    {
        JObject arguments = new JObject();

        arguments.Add("eventType", new JValue(eventType));

        UsercommandStatus status = this.command("getEvent", arguments);

        while (!status.done)
        {
            yield return(null);
        }

        cb(status.error, status.result);
    }
Ejemplo n.º 9
0
    //
    public IEnumerator setFreeword(string freeword, Action <Exception, JToken> cb)
    {
        JObject arguments = new JObject();

        arguments.Add("freeword", new JValue(Encoding.UTF8.GetString(Encoding.UTF8.GetBytes(freeword))));

        UsercommandStatus status = this.command("setFreeword", arguments);

        while (!status.done)
        {
            yield return(null);
        }

        cb(status.error, status.result);
    }
Ejemplo n.º 10
0
    //
    public IEnumerator changeDeckMain(int deckId, Action <Exception, JToken> cb)
    {
        JObject arguments = new JObject();

        arguments.Add("deckId", new JValue(deckId));

        UsercommandStatus status = this.command("changeDeckMain", arguments);

        while (!status.done)
        {
            yield return(null);
        }

        cb(status.error, status.result);
    }
Ejemplo n.º 11
0
    //
    public IEnumerator getMatch(string color, Action <Exception, JToken> cb)
    {
        JObject arguments = new JObject();

        arguments.Add("color", new JValue(color));

        UsercommandStatus status = this.command("getMatch", arguments);

        while (!status.done)
        {
            yield return(null);
        }

        cb(status.error, status.result);
    }
Ejemplo n.º 12
0
    public IEnumerator endTurn(string gameId, Action <Exception> cb)
    {
        JObject arguments = new JObject();

        arguments.Add("gameId", new JValue(gameId));

        UsercommandStatus status = this.command("endTurn", arguments);

        while (!status.done)
        {
            yield return(null);
        }

        cb(status.error);
    }
Ejemplo n.º 13
0
    //
    public IEnumerator Revenge(Action <Exception> cb)
    {
        JObject arguments = new JObject();

        arguments.Add("gameId", tCurrentGame["gameId"]);

        UsercommandStatus status = this.command("revenge", arguments);

        while (!status.done)
        {
            yield return(null);
        }

        cb(status.error);
    }
Ejemplo n.º 14
0
    //
    public IEnumerator registerSerial(string[] serialCodeArray, Action <Exception, JToken> cb)
    {
        JObject arguments = new JObject();

        arguments.Add(new JProperty("serialArray", serialCodeArray));

        UsercommandStatus status = this.command("registerSerial", arguments);

        while (!status.done)
        {
            yield return(null);
        }

        cb(status.error, status.result);
    }
Ejemplo n.º 15
0
    public IEnumerator FixCpuUserRecords(Action <Exception> cb)
    {
        JObject arguments = new JObject();

        arguments.Add("userId", new JValue(GameSettings.UserId));

        UsercommandStatus status = this.command("fixCpuUserRecords", arguments);

        while (!status.done)
        {
            yield return(null);
        }

        cb(status.error);
    }
Ejemplo n.º 16
0
    //
    public IEnumerator doGasha(string gashaId, Action <Exception, JToken> cb)
    {
        JObject arguments = new JObject();

        arguments.Add("gashaId", new JValue(gashaId));

        UsercommandStatus status = this.command("doGasha", arguments);

        while (!status.done)
        {
            yield return(null);
        }

        cb(status.error, status.result);
    }
Ejemplo n.º 17
0
    //
    public IEnumerator releaseSerial(string serialCode, Action <Exception, JToken> cb)
    {
        JObject arguments = new JObject();

        arguments.Add("serial", new JValue(serialCode));

        UsercommandStatus status = this.command("releaseSerial", arguments);

        while (!status.done)
        {
            yield return(null);
        }

        cb(status.error, status.result);
    }
Ejemplo n.º 18
0
    //
    public IEnumerator setInitialSetting(string color, string emblemId, Action <Exception, JToken> cb)
    {
        JObject arguments = new JObject();

        arguments.Add("color", new JValue(color));
        arguments.Add("emblemId", new JValue(emblemId));

        UsercommandStatus status = this.command("setInitialSetting", arguments);

        while (!status.done)
        {
            yield return(null);
        }

        cb(status.error, status.result);
    }
Ejemplo n.º 19
0
    //
    public IEnumerator Start(List <string> burnCards, Action <Exception> cb)
    {
        JObject arguments = new JObject();

        arguments.Add("gameId", tCurrentGame["gameId"]);
        arguments.Add("burnCards", new JArray(burnCards));

        UsercommandStatus status = this.command("start", arguments);

        while (!status.done)
        {
            yield return(null);
        }

        cb(status.error);
    }
Ejemplo n.º 20
0
    //
    public IEnumerator changeDeckName(int deckId, string deckName, Action <Exception, JToken> cb)
    {
        JObject arguments = new JObject();

        arguments.Add("deckId", new JValue(deckId));
        arguments.Add("deckName", new JValue(Encoding.UTF8.GetString(Encoding.UTF8.GetBytes(deckName))));

        UsercommandStatus status = this.command("changeDeckName", arguments);

        while (!status.done)
        {
            yield return(null);
        }

        cb(status.error, status.result);
    }
Ejemplo n.º 21
0
    //
    public IEnumerator validateMatch(int deckId, string matchId, Action <Exception, JToken> cb)
    {
        JObject arguments = new JObject();

        arguments.Add("deckId", new JValue(deckId));
        arguments.Add("matchId", new JValue(matchId));

        UsercommandStatus status = this.command("validateMatch", arguments);

        while (!status.done)
        {
            yield return(null);
        }

        cb(status.error, status.result);
    }
Ejemplo n.º 22
0
    //
    public IEnumerator AnswerQuestion(JToken questionAnswer, Action <Exception, JToken> cb)
    {
        JObject arguments = new JObject();

        arguments.Add("gameId", tCurrentGame["gameId"]);
        arguments.Add("questionAnswers", questionAnswer);

        UsercommandStatus status = this.command("answerQuestion", arguments);

        while (!status.done)
        {
            yield return(null);
        }

        cb(status.error, status.result);
    }
Ejemplo n.º 23
0
    //
    public IEnumerator TapIcon(string instanceId, Action <Exception, JToken> cb)
    {
        JObject arguments = new JObject();

        arguments.Add("gameId", tCurrentGame["gameId"]);
        arguments.Add("instanceId", new JValue(instanceId));

        UsercommandStatus status = this.command("tapIcon", arguments);

        while (!status.done)
        {
            yield return(null);
        }

        cb(status.error, status.result);
    }
Ejemplo n.º 24
0
    //
    public IEnumerator changeDeckCard(int deckId, string[] cardIdArray, string deckType, Action <Exception, JToken> cb)
    {
        JObject arguments = new JObject();

        arguments.Add("deckId", new JValue(deckId));
        arguments.Add(new JProperty("cardIdArray", cardIdArray));
        arguments.Add("deckType", new JValue(deckType));

        UsercommandStatus status = this.command("changeDeckCard", arguments);

        while (!status.done)
        {
            yield return(null);
        }

        cb(status.error, status.result);
    }
Ejemplo n.º 25
0
    //
    public IEnumerator AttackEnemy(string boardAttackerId, string boardReceiverId, Action <Exception, JToken> cb)
    {
        JObject arguments = new JObject();

        arguments.Add("gameId", tCurrentGame["gameId"]);
        arguments.Add("boardAttackerId", new JValue(boardAttackerId));
        arguments.Add("boardReceiverId", new JValue(boardReceiverId));

        UsercommandStatus status = this.command("attackEnemy", arguments);

        while (!status.done)
        {
            yield return(null);
        }

        cb(status.error, status.result);
    }
Ejemplo n.º 26
0
    //
    public IEnumerator checkVersion(Action <Exception, JToken> cb)
    {
        JObject arguments = new JObject();
        var     os        = Application.platform == RuntimePlatform.Android ? "Android" : "iOS";

        arguments.Add("os", new JValue(os));
        arguments.Add("version", new JValue(BundleVersion.Get()));

        UsercommandStatus status = this.command("checkVersion", arguments);

        while (!status.done)
        {
            yield return(null);
        }

        cb(status.error, status.result);
    }
Ejemplo n.º 27
0
    //
    public IEnumerator registerGuest(Action <Exception> cb)
    {
        JObject arguments = new JObject();

        UsercommandStatus status = this.command("registerGuest", arguments);

        while (!status.done)
        {
            yield return(null);
        }

        if (status.error == null)
        {
            GameSettings.UserId = (string)status.result["userId"];
        }

        cb(status.error);
    }
Ejemplo n.º 28
0
    //
    public IEnumerator registerKantanId(Action <Exception> cb)
    {
        JObject arguments = new JObject();

        arguments.Add("os", new JValue(GameSettings.ClientOS));

        UsercommandStatus status = this.command("registerKantanId", arguments);

        while (!status.done)
        {
            yield return(null);
        }

        if (status.error == null)
        {
            GameSettings.UserId = (string)status.result["userId"];
        }

        cb(status.error);
    }
Ejemplo n.º 29
0
    //
    public IEnumerator endDeviceMigration(string code, Action <Exception, JToken> cb)
    {
        JObject arguments = new JObject();

        arguments.Add("code", new JValue(code));

        UsercommandStatus status = this.command("endDeviceMigration", arguments);

        while (!status.done)
        {
            yield return(null);
        }

        if (status.error == null)
        {
            GameSettings.IsMigrated = 1;
            GameSettings.UserId     = null;
        }

        cb(status.error, status.result);
    }
Ejemplo n.º 30
0
    public IEnumerator queue(int userDeckId, string cpuId, Action <Exception> cb)
    {
        logger.debug("userDeckId " + userDeckId);
        logger.debug("cpuId " + cpuId);


        game.CleanupCurrentGame();
        currentGameId = null;
        cbTemp        = cb;

        JObject arguments = new JObject();

        arguments.Add("userDeckId", new JValue(userDeckId));
        arguments.Add("cpuId", new JValue(cpuId));

        UsercommandStatus status = this.command("queue", arguments);

        while (!status.done)
        {
            yield return(null);
        }
    }