static public bool ParseGetEncouragementsResponse(byte[] responseBytes) { Encouragement.EncouragementGetResponse getEncouragementResponse = Deserialize(responseBytes, typeof(Encouragement.EncouragementGetResponse)) as Encouragement.EncouragementGetResponse; Logger.BasicLog("I got an encouragement get response with " + getEncouragementResponse.encouragement_data.Count + " encouragements."); foreach (Encouragement.EncouragementData encouragementData in getEncouragementResponse.encouragement_data) { ProblemPart[] encouragementParts = new ProblemPart[encouragementData.encouragement_atoms.Count]; for (int i = 0; i < encouragementParts.Length; i++) { encouragementParts[i] = ProblemPart.CreateProblemPart(encouragementData.encouragement_atoms[i]); } ThinksyEvents.InvokeEncouragementReceived(encouragementParts); } ThinksyPlugin.NewHeartbeatTiming(getEncouragementResponse.frames_per_heartbeat); if (getEncouragementResponse.force_pull) { ProblemKeeper.PullNewProblems(); } return(true); }
private void InvokeCategoryAdvancementIfNeeded(Problem problemToDisplay) { //Debug.Log ("new: " + problemToDisplay.GetCategoryNumber () + " old: " + displayedCategoryNumber); if (problemToDisplay.GetCategoryNumber() > displayedCategoryNumber) { ThinksyEvents.InvokeCategoryAdvancement(); } displayedCategoryNumber = problemToDisplay.GetCategoryNumber(); }
static public bool ParseGetSpecifiedProblemResponse(byte[] responseBytes) { Problem.SpecifiedProblemGetResponse getProblemResponse = Deserialize(responseBytes, typeof(Problem.SpecifiedProblemGetResponse)) as Problem.SpecifiedProblemGetResponse; if (getProblemResponse.problems.Count == 0) { throw new Exception("no problems in specified problem response."); } global::Problem[] problems = new global::Problem[getProblemResponse.problems.Count]; for (int i = 0; i < getProblemResponse.problems.Count; i++) { Senseix.Message.Problem.ProblemData problemData = getProblemResponse.problems[i]; problems[i] = new global::Problem(problemData); } ThinksyEvents.InvokeSpecifiedProblemsReceived(problems); return(true); }