public void Draw(Screen screen, SpriteBatch spriteBatch, CombatNumberGenerator generator, GetDisplayRectangle positionMethod, int tileWidth, GameTime gameTime)
        {
            if (screen.PeekUndoneWork().Kind != UndoneWorkKind.None)
            {
                this.startDrawing = false;
            }
            else
            {
                if (!this.startDrawing)
                {
                    this.startDrawing = true;
                    this.currentTime = gameTime.TotalGameTime.TotalMilliseconds;
                }
                float scale = 1f;
                if (tileWidth < 40)
                {
                    this.Clear();
                }
                else
                {
                    int num2;
                    Rectangle rectangle;
                    if (tileWidth < 100)
                    {
                        scale = ((float) tileWidth) / 100f;
                        if (scale < 0.6)
                        {
                            scale = 0.6f;
                        }
                    }
                    switch (this.Direction)
                    {
                        case CombatNumberDirection.上:
                            num2 = 0;
                            while (num2 < this.Numbers.Count)
                            {
                                rectangle = positionMethod(this.Numbers[num2].Position);
                                this.Numbers[num2].DrawLeft(spriteBatch, generator, new Point(rectangle.Left, (rectangle.Top + (rectangle.Height / 2)) - ((int) ((generator.DigitHeight * num2) * scale))), scale);
                                num2++;
                            }
                            break;

                        case CombatNumberDirection.下:
                            for (num2 = 0; num2 < this.Numbers.Count; num2++)
                            {
                                rectangle = positionMethod(this.Numbers[num2].Position);
                                this.Numbers[num2].DrawRight(spriteBatch, generator, new Point(rectangle.Right, (rectangle.Top + (rectangle.Height / 2)) + ((int) ((generator.DigitHeight * num2) * scale))), scale);
                            }
                            break;
                    }
                    if ((gameTime.TotalGameTime.TotalMilliseconds - this.currentTime) >= 1200.0 / GlobalVariables.FastBattleSpeed)
                    {
                        this.Clear();
                    }
                }
            }
        }
예제 #2
0
        public void Draw(CombatNumberGenerator generator, GetDisplayRectangle positionMethod, int tileWidth, GameTime gameTime)
        {
            if (Session.MainGame.mainGameScreen.PeekUndoneWork().Kind != UndoneWorkKind.None)
            {
                this.startDrawing = false;
            }
            else
            {
                if (!this.startDrawing)
                {
                    this.startDrawing = true;
                    this.currentTime  = gameTime.TotalGameTime.TotalMilliseconds;
                }
                float scale = 1f;
                if (tileWidth < 40)
                {
                    this.Clear();
                }
                else
                {
                    int       num2;
                    Rectangle rectangle;
                    if (tileWidth < 100)
                    {
                        scale = ((float)tileWidth) / 100f;
                        if (scale < 0.6)
                        {
                            scale = 0.6f;
                        }
                    }
                    switch (this.Direction)
                    {
                    case CombatNumberDirection.:
                        num2 = 0;
                        while (num2 < this.Numbers.Count)
                        {
                            rectangle = positionMethod(this.Numbers[num2].Position);
                            this.Numbers[num2].DrawLeft(generator, new Point(rectangle.Left, (rectangle.Top + (rectangle.Height / 2)) - ((int)((generator.DigitHeight * num2) * scale))), scale);
                            num2++;
                        }
                        break;

                    case CombatNumberDirection.:
                        for (num2 = 0; num2 < this.Numbers.Count; num2++)
                        {
                            rectangle = positionMethod(this.Numbers[num2].Position);
                            this.Numbers[num2].DrawRight(generator, new Point(rectangle.Right, (rectangle.Top + (rectangle.Height / 2)) + ((int)((generator.DigitHeight * num2) * scale))), scale);
                        }
                        break;
                    }
                    if ((gameTime.TotalGameTime.TotalMilliseconds - this.currentTime) >= 300 * Setting.Current.GlobalVariables.TroopMoveSpeed)
                    {
                        this.Clear();
                    }
                }
            }
        }