public void DrawLeft(SpriteBatch spriteBatch, CombatNumberGenerator generator, Point start, float scale) { int x = start.X; spriteBatch.Draw(generator.Texture, new Vector2((float) x, start.Y - (generator.DigitHeight * scale)), new Rectangle?(generator.GetCurrentArrowRectangle(this.Kind, CombatNumberDirection.上)), Color.White, 0f, Vector2.Zero, scale, SpriteEffects.None, 0.649f); int number = this.Number; List<int> list = new List<int>(); if (number == 0) { list.Add(0); } else { while (number > 0) { list.Add(number % 10); number /= 10; } } list.Reverse(); foreach (int num3 in list) { x += (int) (generator.DigitWidth * scale); spriteBatch.Draw(generator.Texture, new Vector2((float) x, start.Y - (generator.DigitHeight * scale)), new Rectangle?(generator.GetCurrentDigitRectangle(this.Kind, CombatNumberDirection.上, num3)), Color.White, 0f, Vector2.Zero, scale, SpriteEffects.None, 0.649f); } }
public void DrawLeft(CombatNumberGenerator generator, Point start, float scale) { int x = start.X; var rec = new Rectangle?(generator.GetCurrentArrowRectangle(this.Kind, CombatNumberDirection.)); CacheManager.Draw(generator.Texture, new Vector2((float)x, start.Y - (generator.DigitHeight * scale)), rec, Color.White, 0f, Vector2.Zero, scale, SpriteEffects.None, 0.649f); int number = this.Number; List <int> list = new List <int>(); if (number == 0) { list.Add(0); } else { while (number > 0) { list.Add(number % 10); number /= 10; } } list.Reverse(); foreach (int num3 in list) { x += (int)(generator.DigitWidth * scale); CacheManager.Draw(generator.Texture, new Vector2((float)x, start.Y - (generator.DigitHeight * scale)), new Rectangle?(generator.GetCurrentDigitRectangle(this.Kind, CombatNumberDirection., num3)), Color.White, 0f, Vector2.Zero, scale, SpriteEffects.None, 0.649f); } }
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(); } } } }
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(); } } } }
public void DrawRight(CombatNumberGenerator generator, Point start, float scale) { int num = start.X - generator.DigitWidth; var rec = new Rectangle?(generator.GetCurrentArrowRectangle(this.Kind, CombatNumberDirection.)); CacheManager.Draw(generator.Texture, new Vector2((float)num, (float)start.Y), rec, Color.White, 0f, Vector2.Zero, scale, SpriteEffects.None, 0.649f); int number = this.Number; int renshuYanseXuhao = 0; float renshuFangdaBeishu = 1f; if (this.Kind == CombatNumberKind.人数) { if (this.Number < 1000) { renshuYanseXuhao = 0; renshuFangdaBeishu = 1f; } else if (this.Number >= 1000 && this.Number < 3000) { renshuYanseXuhao = 1; renshuFangdaBeishu = 1.3f; } else if (this.Number >= 3000 && this.Number < 5000) { renshuYanseXuhao = 2; renshuFangdaBeishu = 1.5f; } else { renshuYanseXuhao = 3; renshuFangdaBeishu = 1.8f; } } do { if (this.Kind != CombatNumberKind.人数) { num -= (int)(generator.DigitWidth * scale); var rec0 = new Rectangle?(generator.GetCurrentDigitRectangle(this.Kind, CombatNumberDirection., number % 10)); CacheManager.Draw(generator.Texture, new Vector2((float)num, (float)start.Y), rec0, Color.White, 0f, Vector2.Zero, scale, SpriteEffects.None, 0.649f); } else { num -= (int)(generator.DigitWidth * scale * renshuFangdaBeishu); var rec0 = new Rectangle ? (generator.GetCurrentDigitRectangle((CombatNumberKind)renshuYanseXuhao, CombatNumberDirection., number % 10)); CacheManager.Draw(generator.Texture, new Vector2((float)num, (float)start.Y), rec0, Color.White, 0f, Vector2.Zero, renshuFangdaBeishu, SpriteEffects.None, 0.449f); } number /= 10; }while (number > 0); }
public void DrawRight(SpriteBatch spriteBatch, CombatNumberGenerator generator, Point start, float scale) { int num = start.X - generator.DigitWidth; spriteBatch.Draw(generator.Texture, new Vector2((float) num, (float) start.Y), new Rectangle?(generator.GetCurrentArrowRectangle(this.Kind, CombatNumberDirection.下)), Color.White, 0f, Vector2.Zero, scale, SpriteEffects.None, 0.649f); int number = this.Number; int renshuYanseXuhao=0; float renshuFangdaBeishu=1f; if (this.Kind == CombatNumberKind.人数) { if (this.Number < 1000) { renshuYanseXuhao = 0; renshuFangdaBeishu = 1f; } else if (this.Number >= 1000 && this.Number < 3000) { renshuYanseXuhao = 1; renshuFangdaBeishu = 1.3f; } else if (this.Number >= 3000 && this.Number < 5000) { renshuYanseXuhao = 2; renshuFangdaBeishu = 1.5f; } else { renshuYanseXuhao = 3; renshuFangdaBeishu = 1.8f; } } do { if (this.Kind != CombatNumberKind.人数) { num -= (int)(generator.DigitWidth * scale); spriteBatch.Draw(generator.Texture, new Vector2((float)num , (float)start.Y), new Rectangle?(generator.GetCurrentDigitRectangle(this.Kind, CombatNumberDirection.下, number % 10)), Color.White, 0f, Vector2.Zero, scale, SpriteEffects.None, 0.649f); } else { num -= (int)(generator.DigitWidth * scale * renshuFangdaBeishu); spriteBatch.Draw(generator.Texture, new Vector2((float)num , (float)start.Y), new Rectangle?(generator.GetCurrentDigitRectangle((CombatNumberKind)renshuYanseXuhao, CombatNumberDirection.下, number % 10)), Color.White, 0f, Vector2.Zero, renshuFangdaBeishu, SpriteEffects.None, 0.449f); } number /= 10; } while (number > 0); }