public Background(Renderer r, Map m) { _r = r; _hscroll = 0.0f; _vscroll = 0.0f; _width = m.Width; _height = m.Height; _blocks = m.Blocks; _tilemapNames = m.TilemapNames; _material = r.GetMaterial("default"); }
public override void BeginDraw(Renderer r) { GL.Disable (EnableCap.Blend); GL.Disable (EnableCap.Texture2D); if(_material == null) { _material = r.GetMaterial("line"); } GL.Color4(255,255,255,255); _material.Bind(); }
public Background(Renderer r, string tilemapName, int width, int height) { _r = r; _hscroll = 0.0f; _vscroll = 0.0f; _width = width; _height = height; _blocks = new List<MapBlock>(Enumerable.Repeat(MapBlock.Empty, width*height)); _tilemapNames = new List<string>(); _tilemapNames.Add(tilemapName); _material = r.GetMaterial("default"); }
public override void BeginDraw(Renderer r) { _material = r.GetMaterial("circle"); GL.Enable(EnableCap.Blend); GL.Disable(EnableCap.Texture2D); GL.BindTexture(TextureTarget.Texture2D, 0); _material.Bind(); float cx = X - r.Backgrounds[0].HScroll; float cy = Y - r.Backgrounds[0].VScroll; Vector3 p = new Vector3(cx,cy,Radius); _material.Uniform3("circle", ref p); Vector2 le = new Vector2(_thickness/2.0f,-_thickness/2.0f-_aawidth); Vector2 he = new Vector2(_thickness/2.0f+_aawidth,-_thickness/2.0f); _material.Uniform2("lowedge", ref le); _material.Uniform2("highedge", ref he); _material.Color4("color", ref Color); }
public TextLine(Renderer r, int x, int y, int priority) : base(0, priority) { if(CashFont == null) { CashFont = new TextFont(); CashFont.Template = new SpriteTemplate { TilemapName = "units", Rectangle = new Rectangle(240, 384, 16, 21), Centered = false }; byte i = 0; CashFont.Table = new Dictionary<char, byte[]>() { { '$', new byte[] { i++, 14 } }, { '0', new byte[] { i++, 13 } }, { '1', new byte[] { i++, 12 } }, { '2', new byte[] { i++, 12 } }, { '3', new byte[] { i++, 13 } }, { '4', new byte[] { i++, 13 } }, { '5', new byte[] { i++, 12 } }, { '6', new byte[] { i++, 13 } }, { '7', new byte[] { i++, 13 } }, { '8', new byte[] { i++, 12 } }, { '9', new byte[] { i++, 13 } } }; } if(NormalFont == null) { NormalFont = new TextFont(); NormalFont.Template = new SpriteTemplate { TilemapName = "units", Rectangle = new Rectangle(0, 464, 16, 16), Centered = false }; byte i = 0; NormalFont.Table = new Dictionary<char, byte[]>() { { 'a', new byte[] { i++, 5 } }, { 'b', new byte[] { i++, 6 } }, { 'c', new byte[] { i++, 5 } }, { 'd', new byte[] { i++, 6 } }, { 'e', new byte[] { i++, 6 } }, { 'f', new byte[] { i++, 5 } }, { 'g', new byte[] { i++, 6 } }, { 'h', new byte[] { i++, 6 } }, { 'i', new byte[] { i++, 2 } }, { 'j', new byte[] { i++, 3 } }, { 'k', new byte[] { i++, 6 } }, { 'l', new byte[] { i++, 2 } }, { 'm', new byte[] { i++, 11 } }, { 'n', new byte[] { i++, 6 } }, { 'o', new byte[] { i++, 6 } }, { 'p', new byte[] { i++, 6 } }, { 'q', new byte[] { i++, 6 } }, { 'r', new byte[] { i++, 4 } }, { 's', new byte[] { i++, 5 } }, { 't', new byte[] { i++, 5 } }, { 'u', new byte[] { i++, 6 } }, { 'v', new byte[] { i++, 7 } }, { 'w', new byte[] { i++, 10 } }, { 'x', new byte[] { i++, 7 } }, { 'y', new byte[] { i++, 7 } }, { 'z', new byte[] { i++, 5 } }, { 'A', new byte[] { i++, 9 } }, { 'B', new byte[] { i++, 7 } }, { 'C', new byte[] { i++, 7 } }, { 'D', new byte[] { i++, 8 } }, { 'E', new byte[] { i++, 5 } }, { 'F', new byte[] { i++, 6 } }, { 'G', new byte[] { i++, 8 } }, { 'H', new byte[] { i++, 8 } }, { 'I', new byte[] { i++, 5 } }, { 'J', new byte[] { i++, 5 } }, { 'K', new byte[] { i++, 7 } }, { 'L', new byte[] { i++, 6 } }, { 'M', new byte[] { i++, 10 } }, { 'N', new byte[] { i++, 8 } }, { 'O', new byte[] { i++, 9 } }, { 'P', new byte[] { i++, 6 } }, { 'Q', new byte[] { i++, 9 } }, { 'R', new byte[] { i++, 6 } }, { 'S', new byte[] { i++, 5 } }, { 'T', new byte[] { i++, 7 } }, { 'U', new byte[] { i++, 8 } }, { 'V', new byte[] { i++, 8 } }, { 'W', new byte[] { i++, 13 } }, { 'X', new byte[] { i++, 8 } }, { 'Y', new byte[] { i++, 7 } }, { 'Z', new byte[] { i++, 6 } }, { '0', new byte[] { i++, 6 } }, { '1', new byte[] { i++, 4 } }, { '2', new byte[] { i++, 7 } }, { '3', new byte[] { i++, 6 } }, { '4', new byte[] { i++, 7 } }, { '5', new byte[] { i++, 6 } }, { '6', new byte[] { i++, 6 } }, { '7', new byte[] { i++, 6 } }, { '8', new byte[] { i++, 6 } }, { '9', new byte[] { i++, 6 } }, { ',', new byte[] { i++, 2 } }, { '.', new byte[] { i++, 2 } }, { ':', new byte[] { i++, 2 } }, { '\"', new byte[] { i++, 5 } }, { '/', new byte[] { i++, 8 } }, { '_', new byte[] { i++, 6 } }, { '-', new byte[] { i++, 4 } }, { '!', new byte[] { i++, 2 } }, { '?', new byte[] { i++, 5 } }, { ';', new byte[] { i++, 2 } }, { '%', new byte[] { i++, 10 } }, { '$', new byte[] { i++, 6 } }, { '&', new byte[] { i++, 9 } }, { '#', new byte[] { i++, 0 } }, { '@', new byte[] { i++, 0 } }, { '(', new byte[] { i++, 0 } }, { ')', new byte[] { i++, 0 } }, { '[', new byte[] { i++, 0 } }, { ']', new byte[] { i++, 0 } }, { '{', new byte[] { i++, 0 } }, { '}', new byte[] { i++, 0 } }, { '=', new byte[] { i++, 0 } }, { '+', new byte[] { i++, 0 } }, { '\\', new byte[] { i++, 0 } }, { '\'', new byte[] { i++, 0 } }, { ' ', new byte[] { i++, 3 } }, }; } X = x; Y = y; Font = NormalFont; _material = r.GetMaterial("default"); }
public override void BeginDraw(Renderer r) { Tilemap tilemap; if(!r.Tilemaps.TryGetValue(Template.TilemapName, out tilemap)) { r.Tilemaps[Template.TilemapName] = tilemap = new Tilemap (Template.TilemapName); } GL.BindTexture (TextureTarget.Texture2D, tilemap.Texture); Flags type = _flags & Drawable.Flags.TypeMask; if(Drawable.Flags.TypeNoBlend == type) { GL.Disable (EnableCap.Blend); } else { GL.Enable (EnableCap.Blend); GL.BlendFunc (BlendingFactorSrc.One, BlendingFactorDest.OneMinusSrcAlpha); } if(_material == null) { _material = r.GetMaterial("sprite"); } _material.Bind(); }
public override void BeginDraw(Renderer r) { Tilemap tilemap = r.Tilemaps["units"]; if(_material == null) { _material = r.GetMaterial("default"); _psx = tilemap.PixelStepX; _psy = tilemap.PixelStepY; _material.SetTilemap("colortexture",tilemap); } GL.Enable(EnableCap.Blend); GL.Enable(EnableCap.Texture2D); GL.BindTexture(TextureTarget.Texture2D, tilemap.Texture); _material.Bind(); }