private void SetElements(CompleteCaseEvaluation caseEvaluation) { CaseField.DestroyAllChildren(); CaseDescription caseDescription = caseEvaluation.RoleplayDescription.Case; ModuleCaseProfile profile = ProfileContainer.GetCaseProfileOfModule(caseDescription.Module); int[][] characteristics = caseDescription.Characteristics; for (int i = 0; i < characteristics.Length; i++) { CaseElement element = profile.GetElement(i); VisualCaseElement visualCaseElement = Instantiate(ElementObject, CaseField); visualCaseElement.SetName(element.Name); int[] elementIndices = characteristics[i]; for (int j = 0; j < elementIndices.Length; j++) { int k = elementIndices[j]; string characteristic = element.OptionPool[k]; visualCaseElement.AddCharacteristic(characteristic); } } }
public void PrepareScreen(string serializedCompleteEvaluation) { CompleteCaseEvaluation caseEvaluation = JsonUtility.FromJson <CompleteCaseEvaluation>(serializedCompleteEvaluation); SetNames(caseEvaluation); SetElements(caseEvaluation); SetEvaluation(caseEvaluation.EvaluationUserA, EvaluationUserAFields); SetEvaluation(caseEvaluation.EvaluationUserB, EvaluationUserBFields); }
public void OnHistoryLogsRequested(Participant participant, string serializedIndex) { int index = int.Parse(serializedIndex); string[] ids = LoadUserLogs(participant.Id); int count = Mathf.Clamp(Mathf.Min(ChunkSize, ids.Length - index), 0, int.MaxValue); SerializedHistory serializedHistory = new SerializedHistory() { Index = index, SerializedHistoryLogs = new string[count] }; for (int i = index; i < count; i++) { string id = ids[i]; string name = string.Format(CompleteEvaluationName.Value, id); SaveLoad.Load(name, out string log); if (log == null) { Debug.LogWarning("Missing Evaluation Entry: " + id); break; } CompleteCaseEvaluation caseEvaluation = JsonUtility.FromJson <CompleteCaseEvaluation>(log); char c = (char)124; string serializedCase = caseEvaluation.RoleplayDescription.Case.Module.ToString() + c + caseEvaluation.EvaluationUserA.User.Name + c + caseEvaluation.EvaluationUserB.User.Name + c + caseEvaluation.TimeStamp + c + caseEvaluation.RoleplayDescription.Id; serializedHistory.SerializedHistoryLogs[i - index] = serializedCase; } string json = JsonUtility.ToJson(serializedHistory); NetworkMessage message = new NetworkMessage(NetworkMessageType.RequestHistoryLogs, "", participant.Id, json); Manager.SendMessage(message, participant.IP); }
private void GenerateCompleteEvaluation(string id, CaseEvaluation caseEvaluation) { // Removes the case from the dictionary. CaseEvaluation other = acquiredEvaluations[id]; acquiredEvaluations.Remove(id); // Converts the stored roleplay to an object. string roleplayJson; string fileName = string.Format(RoleplaySaveName.Value, id); SaveLoad.Load(fileName, out roleplayJson); RoleplayDescription roleplayDescription = JsonUtility.FromJson <RoleplayDescription>(roleplayJson); // serialized the complete evaluation. bool isUserA = id == roleplayDescription.UserA.Id; CompleteCaseEvaluation completeCaseEvaluation = new CompleteCaseEvaluation() { RoleplayDescription = roleplayDescription, EvaluationUserA = isUserA ? caseEvaluation : other, EvaluationUserB = isUserA ? other : caseEvaluation, TimeStamp = DateTime.Now.ToString() }; string completeEvalJson = JsonUtility.ToJson(completeCaseEvaluation); SaveLoad.Save(completeEvalJson, string.Format(CompleteEvaluationName.Value, id)); SendMessageTo(roleplayDescription.UserA, completeEvalJson); SendMessageTo(roleplayDescription.UserB, completeEvalJson); AddIdToUserLog(roleplayDescription.UserA.Id, id); AddIdToUserLog(roleplayDescription.UserB.Id, id); SocialManager.AddToRecentLog(roleplayDescription.UserA, roleplayDescription.UserB); SocialManager.AddToRecentLog(roleplayDescription.UserB, roleplayDescription.UserA); SaveLoad.Remove(fileName); }
private void SetNames(CompleteCaseEvaluation caseEvaluation) { UserANameField.text = caseEvaluation.RoleplayDescription.UserA.Name; UserBNameField.text = caseEvaluation.RoleplayDescription.UserB.Name; ModuleField.text = MultilanguageSupport.GetKeyWord("module_" + caseEvaluation.RoleplayDescription.Case.Module.ToString()); }