Example #1
0
        /// <summary>
        /// Saves the state of the specified object key.
        /// </summary>
        public void SaveState(string objectKey)
        {
            SaveAndRestoreActions stateObject = stateObjects[objectKey];
            ObjectState           objState    = new ObjectState();

            objState.StateObjectKey = objectKey;
            objState.States         = stateObject.GetState();
            appState.ObjectStates   = (List <ObjectState>)appState.ObjectStates.Replace(objState, (a, b) => (a.StateObjectKey == b.StateObjectKey));
        }
Example #2
0
        /// <summary>
        /// Registers an object as state persistable.
        /// </summary>
        /// <param name="objectKey">The object's key.  This must be unique.</param>
        public void Register(string objectKey, Func <List <State> > getState, Action <List <State> > setState, bool replace = false)
        {
            if (!replace)
            {
                stateObjects.ContainsKey(objectKey).Then(() => { throw new ApplicationException("The instance " + objectKey + " has already been registered as persistable."); });
            }
            ;

            stateObjects[objectKey] = new SaveAndRestoreActions()
            {
                GetState = getState, SetState = setState
            };
        }
Example #3
0
        /// <summary>
        /// Registers an object as state persistable.
        /// </summary>
        /// <param name="objectKey">The object's key.  This must be unique.</param>
        public void Register(string objectKey, Func<List<State>> getState, Action<List<State>> setState, bool replace=false)
        {
            if (!replace)
            {
                stateObjects.ContainsKey(objectKey).Then(() => { throw new ApplicationException("The instance " + objectKey + " has already been registered as persistable."); });
            };

            stateObjects[objectKey] = new SaveAndRestoreActions() { GetState = getState, SetState = setState };
        }