Example #1
0
        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));
            }
        }
Example #2
0
        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);
            }
        }
Example #3
0
        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),
            });
Example #4
0
 internal TextureAtlas(Texture texture, Dictionary <uint, Position> textureOffsets)
 {
     Texture             = texture;
     this.textureOffsets = textureOffsets;
 }