Exemple #1
0
        /// <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();
        }
Exemple #2
0
        /// <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;
        }
Exemple #3
0
        /// <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,
                    };
                }
            }
        }