Ejemplo n.º 1
0
        public override void Update()
        {
            if ((double)this._slideWait < 0.0)
            {
                this.position = Vec2.Lerp(this.position, this._end, 0.15f);
            }
            this._slideWait -= 0.4f;
            DuckGame.Graphics.SetRenderTarget(this._faceTarget);
            DuckGame.Graphics.Clear(Color.Transparent);
            DuckGame.Graphics.screen.Begin(SpriteSortMode.BackToFront, BlendState.AlphaBlend, SamplerState.PointClamp, DepthStencilState.DepthRead, RasterizerState.CullNone, (MTEffect)null, Matrix.Identity);
            this._gradient.depth = new Depth(-0.6f);
            this._gradient.alpha = 0.5f;
            if (this._team.activeProfiles.Count == 1)
            {
                this._gradient.color = this._team.activeProfiles[0].persona.colorUsable;
            }
            else
            {
                switch (Teams.CurrentGameTeamIndex(this._team))
                {
                case 0:
                    this._gradient.color = Color.Red;
                    break;

                case 1:
                    this._gradient.color = Color.Blue;
                    break;

                case 2:
                    this._gradient.color = Color.LimeGreen;
                    break;
                }
            }
            DuckGame.Graphics.Draw(this._gradient, 0.0f, 0.0f);
            this._edgeOverlay.depth = new Depth(0.9f);
            this._edgeOverlay.alpha = 0.5f;
            DuckGame.Graphics.Draw(this._edgeOverlay, 0.0f, 0.0f);
            int num = 0;

            foreach (Profile activeProfile in this._team.activeProfiles)
            {
                float x = (float)((num * 8 + 8) * 2);
                float y = 16f;
                activeProfile.persona.quackSprite.depth = new Depth(0.7f);
                activeProfile.persona.quackSprite.scale = new Vec2(2f, 2f);
                DuckGame.Graphics.Draw(activeProfile.persona.quackSprite, 0, x, y, 2f, 2f);
                activeProfile.persona.quackSprite.color = Color.White;
                activeProfile.persona.quackSprite.scale = new Vec2(1f, 1f);
                Vec2 hatPoint = DuckRig.GetHatPoint(activeProfile.persona.sprite.imageIndex);
                activeProfile.team.hat.depth  = new Depth(0.8f);
                activeProfile.team.hat.center = new Vec2(16f, 16f) + activeProfile.team.hatOffset;
                activeProfile.team.hat.scale  = new Vec2(2f, 2f);
                if ((double)activeProfile.team.hat.texture.width > 16.0)
                {
                    activeProfile.team.hat.frame = 1;
                }
                DuckGame.Graphics.Draw(activeProfile.team.hat, activeProfile.team.hat.frame, x + hatPoint.x * 2f, y + hatPoint.y * 2f, 2f, 2f);
                activeProfile.team.hat.color = Color.White;
                activeProfile.team.hat.scale = new Vec2(1f, 1f);
                activeProfile.team.hat.frame = 0;
                ++num;
            }
            DuckGame.Graphics.screen.End();
            DuckGame.Graphics.SetRenderTarget((RenderTarget2D)null);
            base.Update();
        }