示例#1
0
        public EditableRefValue(string refID, string refTypeString, IStorageDictionaryEditor storageEditor)
        {
            ReferenceID         = refID;
            ReferenceTypeString = refTypeString;
            Storage             = storageEditor;
            IsValidRefValue     = true;

            try
            {
                ReferenceType = Type.GetType(ReferenceTypeString);
            }
            catch
            {
                ReferenceType = null;
            }
        }
示例#2
0
            public StorageItem(string parentKey, IStorageDictionaryEditor storageDictionaryEditor, Dictionary <string, StorageKeyEntry> keyEntries)
                : base(parentKey, string.Concat("Storage: (", parentKey, ")"), false)
            {
                KeyEntries = keyEntries;
                if (storageDictionaryEditor != null)
                {
                    string[] valKeys = storageDictionaryEditor.GetValueStorageKeys();
                    ValKeys = new ValKeyItem[valKeys.Length];
                    for (int i = 0; i < valKeys.Length; i++)
                    {
                        if (!keyEntries.TryGetValue(valKeys[i], out StorageKeyEntry valueEntry))
                        {
                            valueEntry = new StorageKeyEntry()
                            {
                                StorageKey = valKeys[i],
                            };
                        }
                        ValKeys[i] = new ValKeyItem(valueEntry, storageDictionaryEditor.GetValueSection(valKeys[i]));
                    }

                    string[] refKeys = storageDictionaryEditor.GetRefStorageKeys();
                    RefsKeys = new RefsKeyItem[refKeys.Length];
                    for (int i = 0; i < refKeys.Length; i++)
                    {
                        if (!keyEntries.TryGetValue(refKeys[i], out StorageKeyEntry refEntry))
                        {
                            refEntry = new StorageKeyEntry()
                            {
                                StorageKey = refKeys[i],
                            };
                        }
                        RefsKeys[i] = new RefsKeyItem(refEntry, storageDictionaryEditor.GetValueRefs(refKeys[i]));
                    }
                }
                else
                {
                    ValKeys  = new ValKeyItem[] { };
                    RefsKeys = new RefsKeyItem[] { };
                }
            }
示例#3
0
 public ReadStorageResult(string capsuleID, IStorageDictionaryEditor capsuleStorage, List <KeyValuePair <Type, IStorageDictionaryEditor> > savedRefsStorage)
 {
     CapsuleID        = capsuleID;
     CapsuleStorage   = capsuleStorage;
     SavedRefsStorage = savedRefsStorage;
 }
示例#4
0
 public CapsuleItem(string id, IStorageDictionaryEditor storage, Dictionary <string, StorageKeyEntry> keyEntries) : base(id, false)
 {
     ID          = id;
     StorageItem = new StorageItem(id, storage, keyEntries);
 }