private void Initialize() { _editableImageConstraint = new TycoonTileConstraint2i(); _sampler = new DualImageSampler2i(); _terrainGenerator = new TerrainGenerator2i <TerrainMesher2i>(); _meshUpdater = new TerrainMeshUpdater(); _groupsSelector = new GroupsByCameraVisibilitySelector(); _imageProvider = new EditableMatrixImage2i(InitialTexture, InitialTextureScale, _sampler, _editableImageConstraint); }
private void DisposeService() { (_imageProvider as IDisposable)?.Dispose(); _imageProvider = null; (_editableImageConstraint as IDisposable)?.Dispose(); _editableImageConstraint = null; (_sampler as IDisposable)?.Dispose(); _sampler = null; (_terrainGenerator as IDisposable)?.Dispose(); _terrainGenerator = null; (_meshUpdater as IDisposable)?.Dispose(); _meshUpdater = null; (_groupsSelector as IDisposable)?.Dispose(); _groupsSelector = null; }