using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class BitmapFontDemo : MonoBehaviour 
{
	public TextAsset fontXML1;
	public TextAsset fontXML2;

	public SpriteManager spriteManager;

	void Start () 
	{
		BitmapFont bmf1 = new BitmapFont(fontXML1.text, 0, 0);
		BitmapFont bmf2 = new BitmapFont(fontXML2.text, 256, 0);

		AddText(bmf1, "abcdefghijklmnopqrstuvxyz", 32, 40);
		AddText(bmf1, "ABCDEFGHIJKLMNOPQRSTUVXYZ", 32, 70);
				
		AddText(bmf2, "The quick brown fox jumps over the lazy dog", 52, 120);
		AddText(bmf1, "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.\nNam cursus. Morbi ut mi. Nullam enim leo, egestas id, \ncondimentum at, laoreet mattis, massa. Sed eleifend \nnonummy diam.", 32, 160);
		
		AddText(bmf2, "abcdefghijklmnopqrstuvxyz", 64, 280);
		AddText(bmf2, "ABCDEFGHIJKLMNOPQRSTUVXYZ", 32, 320);
	}
	
	void AddText(BitmapFont bmf, string text, int x, int y)
	{
		List<BitmapFont.Sprite> sprites = bmf.GetSprites(text, 0, 0);
		
		foreach(BitmapFont.Sprite s in sprites)
		{
			GameObject go = new GameObject("Glyph \"" + s.c + "\"");
			go.transform.position = new Vector3(s.x + x + s.texCoords.width/2, Screen.height - y - s.y + s.texCoords.height/2, 0.0f);
			
			spriteManager.AddSprite(go, s.texCoords.width, s.texCoords.height, (int)s.texCoords.x, (int)s.texCoords.y + (int)s.texCoords.height, (int)s.texCoords.width, (int)s.texCoords.height, false);
		}
	}	
}
