Пример #1
0
    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;
            }
        }
    }
Пример #2
0
    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++;
                        }
                    }
                }
            }
        }
    }
Пример #3
0
        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++;
            }
        }
Пример #4
0
        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);
        }