public IRenderLayer Create(Layer layer, Render.Texture texture, bool supportColoredRects = false, Render.Color colorKey = null, Render.Color colorOverlay = null) { if (!(texture is Texture)) { throw new ExceptionFreeserf(ErrorSystemType.Render, "The given texture is not valid for this renderer."); } switch (layer) { case Layer.None: throw new ExceptionFreeserf(ErrorSystemType.Render, $"Cannot create render layer for layer {Enum.GetName(typeof(Layer), layer)}"); default: return(new RenderLayer(layer, texture as Texture, supportColoredRects, colorKey, colorOverlay)); } }
public static async Task <Render.Texture> LoadTexture(ICanvasAnimatedControl sender, Struct.Package pack, string path, string key) { WriteLine(path + " ; " + AppDataPath(path)); var img = await CanvasBitmap.LoadAsync(sender, AppDataPath(path)); var output = new Render.Texture(img); if (Core.AddTexture(pack, key, output)) { return(output); } else { return(null); } }
public IRenderLayer Create(Layer layer, Render.Texture texture, Render.Texture palette) { if (texture != null && !(texture is Texture)) { throw new AmbermoonException(ExceptionScope.Render, "The given texture is not valid for this renderer."); } if (palette != null && !(palette is Texture)) { throw new AmbermoonException(ExceptionScope.Render, "The given palette is not valid for this renderer."); } return(layer switch { Layer.None => throw new AmbermoonException(ExceptionScope.Render, $"Cannot create render layer for layer {Enum.GetName(layer)}"), _ => new RenderLayer(State, layer, texture as Texture, palette as Texture), });
internal TextureAtlas(Texture texture, Dictionary <uint, Position> textureOffsets) { Texture = texture; this.textureOffsets = textureOffsets; }