Esempio n. 1
0
    public IEnumerator ToStateQuest(string json, System.Action <StateQuest> sq)
    {
        JObject quest = JObject.Parse(json);
        string  key   = (string)quest["_idQuest"];

        //TODO: Est-ce nécessaire ?


        Quest q = null;

        yield return(HTTPHelper.Instance.GetQuest(key, value => q = value));

        bool   done        = ((string)quest["state"]) == "DONE";
        double score       = (double)quest["stats"]["earnedXp"];
        double timeElapsed = (double)quest["stats"]["timeElapsed"];

        List <StateCheckPoint> listCheckPoints = new List <StateCheckPoint>();

        JArray checkpoints = JArray.Parse(quest.GetValue("checkpoints").ToString());
        int    i           = 0;

        foreach (var tokenCheckpoint in checkpoints)
        {
            JObject          checkpoint = JObject.Parse(tokenCheckpoint.ToString());
            StatusCheckPoint status     =
                (StatusCheckPoint)Enum.Parse(typeof(StatusCheckPoint), (string)checkpoint["status"], true);
            double timeCheckpoint = (double)checkpoint["timeElapsed"];

            listCheckPoints.Add(new StateCheckPoint(q.Checkpoints[i], status, timeCheckpoint));

            i++;
        }

        sq(new StateQuest(q, done, score, timeElapsed, listCheckPoints));
    }
 public StateCheckPoint(CheckPoint cp, StatusCheckPoint status)
 {
     checkpoint  = cp;
     this.status = status;
 }
 public StateCheckPoint(CheckPoint cp, StatusCheckPoint status, double timeElapsed)
 {
     checkpoint       = cp;
     this.status      = status;
     this.timeElapsed = timeElapsed;
 }
 public StateCheckPoint(CheckPoint cp)
 {
     checkpoint = cp;
     status     = StatusCheckPoint.UNINIT;
 }