Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ DrawRadialQuicks()

static void Terraria.UI.ItemSlot.DrawRadialQuicks ( SpriteBatch sb,
Vector2 position )
inlinestatic

Definition at line 2992 of file ItemSlot.cs.

2993 {
2994 QuicksRadialOpacity = MathHelper.Clamp(QuicksRadialOpacity + ((PlayerInput.UsingGamepad && PlayerInput.Triggers.Current.RadialQuickbar) ? 0.25f : (-0.15f)), 0f, 1f);
2995 if (QuicksRadialOpacity == 0f)
2996 {
2997 return;
2998 }
2999 Player player = Main.player[Main.myPlayer];
3001 Texture2D value2 = TextureAssets.QuicksIcon.Value;
3002 float num = QuicksRadialOpacity * 0.9f;
3003 float num2 = QuicksRadialOpacity * 1f;
3004 float num3 = (float)(int)Main.mouseTextColor / 255f;
3005 float num4 = 1f - (1f - num3) * (1f - num3);
3006 num4 *= 0.785f;
3007 Color color = Color.White * num4 * num;
3008 float num5 = (float)Math.PI * 2f / (float)player.QuicksRadial.RadialCount;
3009 float num6 = -(float)Math.PI / 2f;
3010 Item item = player.QuickHeal_GetItemToUse();
3011 Item item2 = player.QuickMana_GetItemToUse();
3012 Item item3 = null;
3013 Item item4 = null;
3014 if (item == null)
3015 {
3016 item = new Item();
3017 item.SetDefaults(28);
3018 }
3019 if (item2 == null)
3020 {
3021 item2 = new Item();
3022 item2.SetDefaults(110);
3023 }
3024 if (item3 == null)
3025 {
3026 item3 = new Item();
3027 item3.SetDefaults(292);
3028 }
3029 if (item4 == null)
3030 {
3031 item4 = new Item();
3032 item4.SetDefaults(2428);
3033 }
3034 for (int i = 0; i < player.QuicksRadial.RadialCount; i++)
3035 {
3036 Item inv = item4;
3037 if (i == 1)
3038 {
3039 inv = item;
3040 }
3041 if (i == 2)
3042 {
3043 inv = item3;
3044 }
3045 if (i == 3)
3046 {
3047 inv = item2;
3048 }
3049 _ = player.QuicksRadial.Bindings[i];
3050 Vector2 vector = new Vector2(120f, 0f).RotatedBy(num6 + num5 * (float)i) * num2;
3051 float num7 = 0.85f;
3052 if (player.QuicksRadial.SelectedBinding == i)
3053 {
3054 num7 = 1.7f;
3055 }
3056 sb.Draw(value, position + vector, null, color * num7, 0f, value.Size() / 2f, num2 * num7 * 1.3f, SpriteEffects.None, 0f);
3057 float inventoryScale = Main.inventoryScale;
3058 Main.inventoryScale = num2 * num7;
3059 Draw(sb, ref inv, 14, position + vector + new Vector2(-26f * num2 * num7), Color.White);
3060 Main.inventoryScale = inventoryScale;
3061 sb.Draw(value2, position + vector + new Vector2(34f, 20f) * 0.85f * num2 * num7, null, color * num7, 0f, value.Size() / 2f, num2 * num7 * 1.3f, SpriteEffects.None, 0f);
3062 }
3063 }
void Draw(Texture2D texture, Vector2 position, Color color)
static float Clamp(float value, float min, float max)
Definition MathHelper.cs:46
const double PI
Definition Math.cs:16
static Asset< Texture2D >[] HotbarRadial
static Asset< Texture2D > QuicksIcon
static TriggersPack Triggers
static float QuicksRadialOpacity
Definition ItemSlot.cs:159

References Terraria.Player.SelectionRadial.Bindings, Microsoft.Xna.Framework.MathHelper.Clamp(), Microsoft.Xna.Framework.Graphics.SpriteBatch.Draw(), Microsoft.Xna.Framework.Draw, Terraria.GameContent.TextureAssets.HotbarRadial, Terraria.Main.inventoryScale, System.item, Terraria.Main.myPlayer, System.Math.PI, Terraria.Main.player, Terraria.Player.QuickHeal_GetItemToUse(), Terraria.Player.QuickMana_GetItemToUse(), Terraria.GameContent.TextureAssets.QuicksIcon, Terraria.Player.QuicksRadial, Terraria.UI.ItemSlot.QuicksRadialOpacity, Terraria.Player.SelectionRadial.RadialCount, Terraria.Player.SelectionRadial.SelectedBinding, Terraria.Item.SetDefaults(), Terraria.GameInput.PlayerInput.Triggers, Terraria.GameInput.PlayerInput.UsingGamepad, System.value, Microsoft.Xna.Framework.Graphics.Vector2, and Microsoft.Xna.Framework.Color.White.

Referenced by Terraria.Main.DrawInterface_32_GamepadRadialHotbars().