public void Draw(Vector2 basePosition, float alpha) { Vector2 pos = Position + new Vector2(leftTexture.Width + (IsModeS ? 2 : 10), 0); CacheManager.Draw(IsModeS ? @"Content\Textures\Resources\Start\NumberSetS-Bottom" : @"Content\Textures\Resources\Start\NumberSet-Bottom", new Rectangle(Convert.ToInt32(pos.X + basePosition.X), Convert.ToInt32(pos.Y + basePosition.Y), groundTextureWidth + Widthchange, groundTextureHeight + Heightchange), null, Color.White * alpha, 0f, Vector2.Zero, SpriteEffects.None, 0f); if (NowNumber == null) { NowNumber = 0; } int width = 0; if (MaxNumber != 0) { width = Convert.ToInt32(NowNumber * (groundTextureWidth + Widthchange) / MaxNumber); } else { width = 0; } //CacheManager.Draw(IsModeS ? @"Content\Textures\Resources\Start\NumberSetS-Fill" : @"Content\Textures\Resources\Start\NumberSet-Fill", new Vector2(Convert.ToInt32(pos.X + basePosition.X) + 2, Convert.ToInt32(pos.Y + basePosition.Y) + 3), new Rectangle(0, 0, width, fillTextureHeight + Heightchange - 3), Color.Orange * alpha); CacheManager.Draw(IsModeS ? @"Content\Textures\Resources\Start\NumberSetS-Fill" : @"Content\Textures\Resources\Start\NumberSet-Fill", new Rectangle(Convert.ToInt32(pos.X + basePosition.X) + 2, Convert.ToInt32(pos.Y + basePosition.Y), width - 4, fillTextureHeight + Heightchange), null, Color.White * alpha, 0f, Vector2.Zero, SpriteEffects.None, 0f); rightTexture.Draw(new Vector2(basePosition.X + Widthchange, basePosition.Y), Color.White * alpha); leftTexture.Draw(basePosition, Color.White * alpha); if (DisNumber) { CacheManager.DrawString(Session.Current.Font, MinNumber.ToString(), leftTexture.Position + basePosition + new Vector2(0, 50), NumColor * alpha); CacheManager.DrawString(Session.Current.Font, NowNumber.ToString(), leftTexture.Position + basePosition + new Vector2(64, 50), NumColor * alpha); CacheManager.DrawString(Session.Current.Font, MaxNumber.ToString(), leftTexture.Position + basePosition + new Vector2(64 + groundTextureWidth + Widthchange, 50), NumColor * alpha); } else { CacheManager.DrawString(Session.Current.Font, DisNumberText ? ViewText + NowNumber.ToString() : NowNumber.ToString(), new Vector2((leftTexture.Position + basePosition + (IsModeS ? new Vector2(55, 3) : new Vector2(156, 8))).X, (leftTexture.Position + basePosition + (IsModeS ? new Vector2(55, 3) : new Vector2(156, 8))).Y + Heightchange), Color.White * alpha, 0f, Vector2.Zero, ((float)leftTexture.Height + Heightchange) / leftTexture.Height, SpriteEffects.None, 0f); } }
public void Draw(Vector2 basePosition, float alpha) { Vector2 pos = Position + new Vector2(leftTexture.Width + (IsModeS ? 2 : 10), 0); CacheManager.Draw(IsModeS ? @"Content\Textures\Resources\Start\NumberSetS-Bottom" : @"Content\Textures\Resources\Start\NumberSet-Bottom", pos + basePosition, Color.White * alpha); if (NowNumber == null) { NowNumber = 0; } int width = 0; if (MaxNumber != 0) { width = (int)NowNumber * fillTextureWidth / MaxNumber; } else { width = 0; } CacheManager.Draw(IsModeS ? @"Content\Textures\Resources\Start\NumberSetS-Fill" : @"Content\Textures\Resources\Start\NumberSet-Fill", new Vector2(Convert.ToInt32(pos.X + basePosition.X) + 2, Convert.ToInt32(pos.Y + basePosition.Y) + 2), new Rectangle(0, 0, width, fillTextureHeight), Color.Orange * alpha); rightTexture.Draw(basePosition, Color.White * alpha); leftTexture.Draw(basePosition, Color.White * alpha); if (DisNumber) { CacheManager.DrawString(Session.Current.Font, MinNumber.ToString(), leftTexture.Position + basePosition + new Vector2(0, 50), NumColor * alpha); CacheManager.DrawString(Session.Current.Font, NowNumber.ToString(), leftTexture.Position + basePosition + new Vector2(64, 50), NumColor * alpha); CacheManager.DrawString(Session.Current.Font, MaxNumber.ToString(), leftTexture.Position + basePosition + new Vector2(64 + groundTextureWidth, 50), NumColor * alpha); } else { CacheManager.DrawString(Session.Current.Font, DisNumberText ? ViewText + NowNumber.ToString() : NowNumber.ToString(), leftTexture.Position + basePosition + (IsModeS ? new Vector2(55, 3) : new Vector2(156, 8)), Color.Black * alpha); } }
public void Draw() { if (Visible) { if (TextBoxStyle == TextBoxStyle.Wide) { CacheManager.Draw(@"Content\Textures\Resources\Start\TextBox-Wide", Position, Color.White * tranAlpha); int resultRow = 0; int resultWidth = 0; string result = ViewText.SplitLineString(Convert.ToInt32(15f / TextScale) - 1, TextScale < 1f ? 4 : 3, ref resultRow, ref resultWidth, 2); if (resultRow == 0) { resultRow = 1; } result = CacheManager.CheckTextCache(Session.Current.Font, result, true, true); CacheManager.DrawString(Session.Current.Font, result, Position + new Vector2(2, 7), Color.Black * tranAlpha, 0f, Vector2.Zero, TextScale, Microsoft.Xna.Framework.Graphics.SpriteEffects.None, 0f); if (Selected) { if (resultRow >= 5 && resultWidth >= 28 * 15 * TextScale) { CanAdd = false; } else { CanAdd = true; } if (Selected && tranAlpha > 0.5f) { CacheManager.Draw(@"Content\Textures\Resources\Start\Input-Cursor-Big", Position + new Vector2(resultWidth * TextScale, (resultRow - 1) * 32) + new Vector2(5, 7), Color.White * tranAlpha); } } } else { btTexture.Alpha = tranAlpha; btTexture.Draw(); if (TextBoxMode != GamePanels.TextBoxMode.Password) { Vector2 pos = new Vector2(5, 6); float scale = 1f; if (TextBoxStyle == GamePanels.TextBoxStyle.Big) { if (TextScale < 1f) { pos = new Vector2(5, 9); } } else if (TextBoxStyle == GamePanels.TextBoxStyle.Medium) { scale = 0.9f; } else if (TextBoxStyle == GamePanels.TextBoxStyle.Small) { scale = 0.7f; } else if (TextBoxStyle == GamePanels.TextBoxStyle.Tiny) { scale = 0.7f; } else if (TextBoxStyle == TextBoxStyle.Plus) { //scale = 0.7f; pos = new Vector2(5, 20); } CacheManager.DrawString(Session.Current.Font, ViewText, Position + pos, (Selected ? Color.OrangeRed : Color.Black) * tranAlpha, 0f, Vector2.Zero, scale * TextScale, Microsoft.Xna.Framework.Graphics.SpriteEffects.None, 0, true, true); } else { string pass = ""; if (!String.IsNullOrEmpty(Text)) { for (int i = 0; i < Text.Length; i++) { pass += "*"; } } else if (DisplayStarWhenEmpty && !Selected) { pass = "******"; } CacheManager.DrawString(Session.Current.Font, pass, Position + new Vector2(5, 6), Color.Black * tranAlpha); } if (Selected && displaycursor && Enable) { string curs = Cursor.Replace("Tiny", "Small").Replace("Medium", "Small").Replace("Wide", "Big").Replace("Plus", "Big"); Vector2 pos = new Vector2(5, 3); if (TextBoxStyle == TextBoxStyle.Plus) { pos = new Vector2(5, 15); } CacheManager.Draw(@"Content\Textures\Resources\Start\Input-Cursor-" + curs, Position + TextPosition + pos, Color.White * tranAlpha); } } } }