private IImage loadImage(ITexture texture, IBitmap bitmap, string id, ILoadImageConfig config, ISpriteSheet spriteSheet) { manipulateImage(bitmap, config); bitmap.LoadTexture(null); GLImage image = new GLImage(bitmap, id, texture, spriteSheet, config); string imageId = image.ID; _textures?.GetOrAdd(imageId, () => image.Texture); image.OnImageDisposed.Subscribe(() => _textures.Remove(imageId)); return(image); }
private IImage loadImage(ITexture texture, IBitmap bitmap, string id, ILoadImageConfig config, ISpriteSheet spriteSheet) { manipulateImage(bitmap, config); bitmap.LoadTexture(null); GLImage image = new GLImage(bitmap, id, texture, spriteSheet, config); if (_textures != null) { _textures.GetOrAdd(image.ID, () => image.Texture); } return(image); }
private IImage loadImage(ITexture texture, IBitmap bitmap, string id, ILoadImageConfig config, ISpriteSheet spriteSheet) { manipulateImage(bitmap, config); bitmap.LoadTexture(null); GLImage image = new GLImage (bitmap, id, texture, spriteSheet, config); if (_textures != null) _textures.GetOrAdd (image.ID, () => image.Texture); return image; }