public void SetPerso(OpenSpace.ROM.Perso perso) { this.persoROM = perso; if (perso != null && perso.brain?.Value != null) { dsgMemROM = perso.brain.Value.dsgMem.Value; dsgVarROM = perso.brain.Value.aiModel?.Value.dsgVar?.Value; if (dsgVarROM?.info?.Value == null) { return; } editableEntries = new DsgVarEditableEntry[dsgVarROM.info.Value.entries.Length]; for (int i = 0; i < editableEntries.Length; i++) { List <OpenSpace.ROM.DsgMemInfo> memInfos = new List <OpenSpace.ROM.DsgMemInfo>(); if (dsgMemROM?.info?.Value != null && dsgMemROM.info.Value.info.Length > 0) { for (int j = 0; j < dsgMemROM.info.Value.info.Length; j++) { OpenSpace.ROM.DsgMemInfo info = dsgMemROM.info.Value.info[j].Value; OpenSpace.ROM.DsgVarInfo.Entry entry = dsgVarROM.info.Value.GetEntryFromIndex(info.value.index); if (entry == dsgVarROM.info.Value.entries[i]) { memInfos.Add(info); } } } DsgVarEditableEntry editableEntry = new DsgVarEditableEntry(dsgVarROM.info.Value.entries[i], memInfos); editableEntries[i] = editableEntry; } } }
public void SetPerso(Perso perso) { this.perso = perso; if (perso != null && perso.brain != null && perso.brain.mind != null) { dsgMem = perso.brain.mind.dsgMem; if (dsgMem != null) { dsgVar = dsgMem.dsgVar; } else { dsgVar = perso.brain.mind.AI_model?.dsgVar; } dsgVarEntries = dsgVar.dsgVarInfos; editableEntries = new DsgVarEditableEntry[dsgVarEntries.Length]; for (int i = 0; i < editableEntries.Length; i++) { DsgVarEditableEntry editableEntry = new DsgVarEditableEntry( dsgVar.dsgVarInfos[i], dsgMem?.values?[i], dsgMem?.valuesInitial?[i], dsgVar?.defaultValues?[i]); editableEntries[i] = editableEntry; } } }
public void SetDsgMem(DsgMem dsgMem) { this.dsgMem = dsgMem; this.dsgVar = dsgMem.dsgVar; this.dsgVarEntries = this.dsgVar.dsgVarInfos; this.editableEntries = new DsgVarEditableEntry[this.dsgVarEntries.Length]; int i = 0; foreach (DsgVarInfoEntry entry in this.dsgVarEntries) { DsgVarEditableEntry editableEntry = new DsgVarEditableEntry(i, entry); editableEntries[i] = editableEntry; i++; } }