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; }