public static void DrawCursorSingle(SpriteBatch sb, Color color, float rot = float.NaN, float scale = 1f, Vector2 manualPosition = default(Vector2), int cursorSlot = 0, int specialMode = 0) { bool flag = false; bool flag2 = true; bool flag3 = true; Vector2 origin = Vector2.Zero; Vector2 value = new Vector2(Main.mouseX, Main.mouseY); if (manualPosition != Vector2.Zero) { value = manualPosition; } if (float.IsNaN(rot)) { rot = 0f; } else { flag = true; rot -= (float)Math.PI * 3f / 4f; } if (cursorSlot == 4 || cursorSlot == 5) { flag2 = false; origin = new Vector2(8f); if (flag && specialMode == 0) { float num = rot; if (num < 0f) { num += (float)Math.PI * 2f; } for (float num2 = 0f; num2 < 4f; num2 += 1f) { if (Math.Abs(num - (float)Math.PI / 2f * num2) <= (float)Math.PI / 4f) { rot = (float)Math.PI / 2f * num2; break; } } } } Vector2 value2 = Vector2.One; if ((Main.ThickMouse && cursorSlot == 0) || cursorSlot == 1) { value2 = Main.DrawThickCursor(cursorSlot == 1); } if (flag2) { sb.Draw(Main.cursorTextures[cursorSlot], value + value2 + Vector2.One, null, color.MultiplyRGB(new Color(0.2f, 0.2f, 0.2f, 0.5f)), rot, origin, scale * 1.1f, SpriteEffects.None, 0f); } if (flag3) { sb.Draw(Main.cursorTextures[cursorSlot], value + value2, null, color, rot, origin, scale, SpriteEffects.None, 0f); } }
public static void DrawCursorSingle(SpriteBatch sb, Color color, float rot = float.NaN, float scale = 1f, Vector2 manualPosition = default(Vector2), int cursorSlot = 0, int specialMode = 0) { bool flag1 = false; bool flag2 = true; bool flag3 = true; Vector2 origin = Vector2.Zero; Vector2 position = new Vector2((float)Main.mouseX, (float)Main.mouseY); if (manualPosition != Vector2.Zero) { position = manualPosition; } if (float.IsNaN(rot)) { rot = 0.0f; } else { flag1 = true; rot -= 2.356194f; } if (cursorSlot == 4 || cursorSlot == 5) { flag2 = false; origin = new Vector2(8f); if (flag1 && specialMode == 0) { float num1 = rot; if ((double)num1 < 0.0) { num1 += 6.283185f; } for (float num2 = 0.0f; (double)num2 < 4.0; ++num2) { if ((double)Math.Abs(num1 - 1.570796f * num2) <= 0.785398185253143) { rot = 1.570796f * num2; break; } } } } if (Main.ThickMouse && cursorSlot == 0 || cursorSlot == 1) { Main.DrawThickCursor(cursorSlot == 1); } if (flag2) { sb.Draw(Main.cursorTextures[cursorSlot], position + Vector2.One, new Rectangle?(), Utils.MultiplyRGB(color, new Color(0.2f, 0.2f, 0.2f, 0.5f)), rot, origin, scale * 1.1f, SpriteEffects.None, 0.0f); } if (!flag3) { return; } sb.Draw(Main.cursorTextures[cursorSlot], position, new Rectangle?(), color, rot, origin, scale, SpriteEffects.None, 0.0f); }