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 PrintDsgVarFromMindMem() { MapLoader l = MapLoader.Loader; if (loaded && hasStates) { if (perso.brain != null && perso.brain.mind != null) { DsgMem dsgMem = perso.brain.mind.dsgMem; if (dsgMem != null) { l.print("DsgMem.offset: " + dsgMem.offset); DsgVar dsgVar = perso.brain.mind.dsgMem.dsgVar; if (dsgVar != null) { l.print("DsgVar.offset: " + dsgVar.offset); l.print("DsgVarFromMem.amountOfInfos: " + dsgVar.amountOfInfos); l.print("DsgVarFromMem.dsgMemBufferLength: " + dsgVar.dsgMemBufferLength); int c = 0; foreach (DsgVarInfoEntry entry in dsgVar.dsgVarInfos) { l.print("Info Entry " + c + ", type " + entry.type + ", offset " + entry.offsetInBuffer + " , value " + entry.value + ", initType " + entry.initType + ", saveType " + entry.saveType); c++; } } } } } }
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++; } }
public EDsgVar GetExportableDsgVar(DsgMem dsgMem, DsgVar dsgVar, int infoIndex) { DsgVarInfoEntry infoEntry = dsgVar.dsgVarInfos[infoIndex]; EDsgVar d = new EDsgVar(); d.type = infoEntry.type; if (dsgMem.values == null || dsgMem.values[infoIndex] == null) { return(d); } DsgVarValue val = dsgMem.values[infoIndex]; d.value = GetExportableDsgVarValueString(val); return(d); }