public Sprite(SpriteDef def) { var tex = XNADevicesManager.Instance.ContentManager.Load<Texture2D>(def.TexName); _texture = tex; _effect = EffectManager.Instance.CurrentEffect; for (int i = 0; i < 4; i++) { _vertexPosition[i].Normal = Vector3.Backward; } for (int i = 4; i < 8; i++) { _vertexPosition[i].Normal = Vector3.Forward; } DrawRectangle = def.DrawRectangle; Alpha = def.Alpha; ScaleX = def.ScaleX; ScaleY = def.ScaleY; RotateX = def.RotateX; RotateY = def.RotateY; RotateZ = def.RotateZ; R = def.R; G = def.G; B = def.B; X = def.X; Y = def.Y; Z = def.Z; TransformOrigin = def.TransformOrigin; ZWriteEnable = def.ZWriteEnable; }
public SpriteDef(SpriteDef sd) { TexName = sd.TexName; X = sd.X; Y = sd.Y; Z = sd.Z; Alpha = sd.Alpha; ScaleX = sd.ScaleX; ScaleY = sd.ScaleY; RotateX = sd.RotateX; RotateY = sd.RotateY; RotateZ = sd.RotateZ; R = sd.R; G = sd.G; B = sd.B; RepeatX = sd.RepeatX; RepeatY = sd.RepeatY; DrawRectangle = sd.DrawRectangle; TransformOrigin = sd.TransformOrigin; ZWriteEnable = sd.ZWriteEnable; }
private Sprite CreateDecoration(string texName, float x, float y, float z, float scaleX = 1.0f, float scaleY = 1.0f) { var sd = new SpriteDef(); sd.TexName = texName; sd.X = x; sd.Y = y; sd.Z = z; sd.ScaleX = scaleX; sd.ScaleY = scaleY; sd.ZWriteEnable = true; Sprite sprite = sd.ToSprite(); sprite.DrawRectangle = new Rectangle(0, 0, sprite.Texture.Width, sprite.Texture.Height); sd.DrawRectangle = sprite.DrawRectangle; Root.Add(sprite); return sprite; }
//Utilites public static void ExportToFile(SpriteDef def, string filename) { XmlHelper.ExportToFile(def, filename); }