public void AddToList(List <Sprite> sprites, Sprite.IMaterialProvider provider) { foreach (CharDef cd in CharDefs) { var s = GetNextSprite(); s.Tag = Tag; s.Position = cd.Position; s.Size = cd.Size(FontHeight); s.UV0 = cd.FontChar.UV0; s.UV1 = cd.FontChar.UV1; s.Texture = cd.FontChar.Texture; s.Texture.TransformUVCoordinatesToAtlasSpace(ref s.UV0); s.Texture.TransformUVCoordinatesToAtlasSpace(ref s.UV1); s.Color = Color; if (cd.FontChar.RgbIntensity) { s.Material = Sprite.LcdFontMaterialProvider.Instance.GetMaterial(Tag); } else { s.Material = provider.GetMaterial(Tag); } sprites.Add(s); } }
public void Render(Color4 color, Sprite.IMaterialProvider materialProvider) { TextSprite.Index = 0; foreach (var w in items) { w.AddToList(sprites, materialProvider); } Renderer.DrawSpriteList(sprites, color); sprites.Clear(); }
public void AddToList(List <Sprite> sprites, Sprite.IMaterialProvider provider) { Material = provider.GetMaterial(Texture, Tag); sprites.Add(this); }