public void RestoreState(IGameFieldState state) { // @NOTE: since spawner type should already be mapped in DI it's // "restored" as a part of context startup and not here // @TODO: research possibility of this class binding the spawner instead of context // restore attached grid state.attachedGrid.RestoreData( scriptableObject.attachedGridData, scriptableObject.attachedGridRows, scriptableObject.attachedGridCols, scriptableObject.attachedGridPos ); // restore detached grid state.detachedGrid.RestoreData( scriptableObject.detachedGridData, scriptableObject.detachedGridRows, scriptableObject.detachedGridCols, scriptableObject.detachedGridPos ); }
public void StoreState(IGameFieldState state, GridSpawnerType spawnerType) { // store overall game state scriptableObject.hasData = true; scriptableObject.spawnerType = spawnerType; // store attached grid state.attachedGrid.StoreData( out scriptableObject.attachedGridData, out scriptableObject.attachedGridRows, out scriptableObject.attachedGridCols, out scriptableObject.attachedGridPos ); // store detached grid state.detachedGrid.StoreData( out scriptableObject.detachedGridData, out scriptableObject.detachedGridRows, out scriptableObject.detachedGridCols, out scriptableObject.detachedGridPos ); }