/// <summary> /// Constructor /// </summary> /// <param name="scene">Scene</param> /// <param name="description">Description</param> public Sprite(Scene scene, SpriteDescription description) : base(scene, description) { this.Textured = description.Textures != null && description.Textures.Length > 0; this.InitializeBuffers(description.Name, this.Textured, description.UVMap); if (this.Textured) { this.InitializeTexture(description.ContentPath, description.Textures); } this.renderWidth = this.Game.Form.RenderWidth.NextPair(); this.renderHeight = this.Game.Form.RenderHeight.NextPair(); this.sourceWidth = description.Width <= 0 ? this.renderWidth : description.Width.NextPair(); this.sourceHeight = description.Height <= 0 ? this.renderHeight : description.Height.NextPair(); this.viewProjection = Sprite.CreateViewOrthoProjection(this.renderWidth, this.renderHeight); this.Width = this.sourceWidth; this.Height = this.sourceHeight; this.FitScreen = description.FitScreen; this.TextureIndex = 0; this.Color = description.Color; this.Manipulator = new Manipulator2D(); }
/// <summary> /// Constructor /// </summary> /// <param name="game">Game</param> /// <param name="bufferManager">Buffer manager</param> /// <param name="description">Button description</param> public SpriteButton(Scene scene, SpriteButtonDescription description) : base(scene, description) { var spriteDesc = new SpriteDescription() { Width = description.Width, Height = description.Height, Color = description.ColorReleased, FitScreen = false, }; if (!string.IsNullOrEmpty(description.TextureReleased)) { spriteDesc.Textures = new[] { description.TextureReleased }; spriteDesc.UVMap = description.TextureReleasedUVMap; } this.buttonReleased = new Sprite(scene, spriteDesc); if (description.TwoStateButton) { var spriteDesc2 = new SpriteDescription() { Width = description.Width, Height = description.Height, Color = description.ColorPressed, FitScreen = false, }; if (!string.IsNullOrEmpty(description.TexturePressed)) { spriteDesc2.Textures = new[] { description.TexturePressed }; spriteDesc2.UVMap = description.TexturePressedUVMap; } this.buttonPressed = new Sprite(scene, spriteDesc2); } if (description.TextDescription != null) { this.textDrawer = new TextDrawer( scene, description.TextDescription); } this.Left = description.Left; this.Top = description.Top; this.Text = description.Text; }
/// <summary> /// Constructor /// </summary> /// <param name="scene">Scene</param> /// <param name="description">Description</param> public LensFlare(Scene scene, LensFlareDescription description) : base(scene, description) { this.glowSprite = new Sprite(scene, new SpriteDescription() { ContentPath = description.ContentPath, Height = 100, Width = 100, Textures = new string[] { description.GlowTexture } }); if (description.Flares != null && description.Flares.Length > 0) { this.flares = new Flare[description.Flares.Length]; for (int i = 0; i < description.Flares.Length; i++) { var flareDesc = description.Flares[i]; SpriteDescription sprDesc = new SpriteDescription() { ContentPath = description.ContentPath, Height = 100, Width = 100, Textures = new string[] { flareDesc.Texture } }; this.flares[i] = new Flare() { FlareSprite = new Sprite(scene, sprDesc), Position = flareDesc.Position, Scale = flareDesc.Scale, Color = flareDesc.Color, }; } } }