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

◆ DrawBuilderAccToggles()

void Terraria.Main.DrawBuilderAccToggles ( Vector2 start)
inlineprivate

Definition at line 44285 of file Main.cs.

44286 {
44287 if (!playerInventory)
44288 {
44289 return;
44290 }
44291 string.IsNullOrEmpty(npcChatText);
44292 if (false || Main.player[myPlayer].sign >= 0)
44293 {
44294 return;
44295 }
44296 int num = 0;
44297 Player player = Main.player[myPlayer];
44298 int[] builderAccStatus = Main.player[myPlayer].builderAccStatus;
44300 start.Y += 24 * torchGodIcons;
44301 bool flag = totalDrawnIcons >= 10;
44302 int num2 = 10;
44303 for (int i = 0; i < num2; i++)
44304 {
44305 int num3 = i - 2;
44306 switch (i)
44307 {
44308 case 0:
44309 num3 = 8;
44310 break;
44311 case 1:
44312 num3 = 9;
44313 break;
44314 }
44319 Vector2 vector = start + new Vector2(0f, num * 24);
44320 if (flag)
44321 {
44322 vector.Y -= 24f;
44323 }
44324 bool flag2 = Utils.CenteredRectangle(vector, new Vector2(14f)).Contains(MouseScreen.ToPoint()) && !PlayerInput.IgnoreMouseInterface;
44326 switch (num3)
44327 {
44328 case 8:
44329 if (!player.InfoAccMechShowWires)
44330 {
44331 continue;
44332 }
44333 rectangle.X = num3 * 16;
44334 color = ((builderAccStatus[num3] == 0) ? color : color2);
44335 if (flag2)
44336 {
44337 player.mouseInterface = true;
44338 MouseText((builderAccStatus[num3] == 0) ? Language.GetTextValue("GameUI.WireModeForced") : Language.GetTextValue("GameUI.WireModeNormal"), 0, 0);
44339 mouseText = true;
44340 }
44341 if (flag3)
44342 {
44343 builderAccStatus[num3] = ((builderAccStatus[num3] == 0) ? 1 : 0);
44345 mouseLeftRelease = false;
44346 }
44347 break;
44348 case 0:
44349 if (!player.rulerLine)
44350 {
44351 continue;
44352 }
44353 rectangle.X = num3 * 16;
44354 color = ((builderAccStatus[num3] == 0) ? color : color2);
44355 if (flag2)
44356 {
44357 player.mouseInterface = true;
44358 MouseText((builderAccStatus[num3] == 0) ? Language.GetTextValue("GameUI.RulerOn") : Language.GetTextValue("GameUI.RulerOff"), 0, 0);
44359 mouseText = true;
44360 }
44361 if (flag3)
44362 {
44363 builderAccStatus[num3] = ((builderAccStatus[num3] == 0) ? 1 : 0);
44365 mouseLeftRelease = false;
44366 }
44367 break;
44368 case 1:
44369 if (!player.rulerGrid)
44370 {
44371 continue;
44372 }
44373 rectangle.X = num3 * 16;
44374 color = ((builderAccStatus[num3] == 0) ? color : color2);
44375 if (flag2)
44376 {
44377 player.mouseInterface = true;
44378 MouseText((builderAccStatus[num3] == 0) ? Language.GetTextValue("GameUI.MechanicalRulerOn") : Language.GetTextValue("GameUI.MechanicalRulerOff"), 0, 0);
44379 mouseText = true;
44380 }
44381 if (flag3)
44382 {
44383 builderAccStatus[num3] = ((builderAccStatus[num3] == 0) ? 1 : 0);
44385 mouseLeftRelease = false;
44386 }
44387 break;
44388 case 3:
44389 if (!player.autoPaint)
44390 {
44391 continue;
44392 }
44393 rectangle.X = num3 * 16;
44394 color = ((builderAccStatus[num3] == 0) ? color : color2);
44395 if (flag2)
44396 {
44397 player.mouseInterface = true;
44398 MouseText((builderAccStatus[num3] == 0) ? Language.GetTextValue("GameUI.PaintSprayerOn") : Language.GetTextValue("GameUI.PaintSprayerOff"), 0, 0);
44399 mouseText = true;
44400 }
44401 if (flag3)
44402 {
44403 builderAccStatus[num3] = ((builderAccStatus[num3] == 0) ? 1 : 0);
44405 mouseLeftRelease = false;
44406 }
44407 break;
44408 case 2:
44409 if (!player.autoActuator)
44410 {
44411 continue;
44412 }
44413 rectangle.X = num3 * 16;
44414 color = ((builderAccStatus[num3] == 0) ? color : color2);
44415 if (flag2)
44416 {
44417 player.mouseInterface = true;
44418 MouseText((builderAccStatus[num3] == 0) ? Language.GetTextValue("GameUI.ActuationDeviceOn") : Language.GetTextValue("GameUI.ActuationDeviceOff"), 0, 0);
44419 mouseText = true;
44420 }
44421 if (flag3)
44422 {
44423 builderAccStatus[num3] = ((builderAccStatus[num3] == 0) ? 1 : 0);
44425 mouseLeftRelease = false;
44426 }
44427 break;
44428 case 4:
44429 case 5:
44430 case 6:
44431 case 7:
44432 case 9:
44433 if (!player.InfoAccMechShowWires)
44434 {
44435 continue;
44436 }
44437 rectangle.X = num3 * 16;
44438 color = ((builderAccStatus[num3] == 0) ? color : ((builderAccStatus[num3] == 1) ? color2 : ((builderAccStatus[num3] == 2) ? color2.MultiplyRGBA(new Microsoft.Xna.Framework.Color(0.66f, 0.66f, 0.66f, 0.66f)) : color2.MultiplyRGBA(new Microsoft.Xna.Framework.Color(0.33f, 0.33f, 0.33f, 0.33f)))));
44439 if (flag2)
44440 {
44441 player.mouseInterface = true;
44442 string arg = "";
44443 switch (num3)
44444 {
44445 case 4:
44446 arg = Language.GetTextValue("Game.RedWires");
44447 break;
44448 case 5:
44449 arg = Language.GetTextValue("Game.BlueWires");
44450 break;
44451 case 6:
44452 arg = Language.GetTextValue("Game.GreenWires");
44453 break;
44454 case 7:
44455 arg = Language.GetTextValue("Game.YellowWires");
44456 break;
44457 case 9:
44458 arg = Language.GetTextValue("Game.Actuators");
44459 break;
44460 }
44461 string arg2 = "";
44462 switch (builderAccStatus[num3])
44463 {
44464 case 0:
44465 arg2 = Language.GetTextValue("GameUI.Bright");
44466 break;
44467 case 1:
44468 arg2 = Language.GetTextValue("GameUI.Normal");
44469 break;
44470 case 2:
44471 arg2 = Language.GetTextValue("GameUI.Faded");
44472 break;
44473 case 3:
44474 arg2 = Language.GetTextValue("GameUI.Hidden");
44475 break;
44476 }
44477 MouseText($"{arg}: {arg2}", 0, 0);
44478 mouseText = true;
44479 }
44480 if (flag3)
44481 {
44482 builderAccStatus[num3]++;
44483 if (builderAccStatus[num3] >= 3)
44484 {
44485 builderAccStatus[num3] = 0;
44486 }
44488 mouseLeftRelease = false;
44489 }
44490 break;
44491 case 11:
44492 continue;
44493 }
44494 spriteBatch.Draw(value, vector, rectangle, color, 0f, rectangle.Size() / 2f, 1f, SpriteEffects.None, 0f);
44495 if (flag2)
44496 {
44497 spriteBatch.Draw(TextureAssets.InfoIcon[13].Value, vector, null, OurFavoriteColor, 0f, TextureAssets.InfoIcon[13].Value.Size() / 2f, 1f, SpriteEffects.None, 0f);
44498 }
44500 num++;
44501 }
44502 DrawBlockReplacementIcon(0, 0, flag, 0);
44503 num++;
44504 if (player.unlockedBiomeTorches)
44505 {
44506 DrawTorchBiomeSwapIcon(0, 0, flag, 1);
44507 num++;
44508 }
44509 UILinkPointNavigator.Shortcuts.BUILDERACCCOUNT = num;
44510 }
bool ICollection< KeyValuePair< TKey, TValue > >. Contains(KeyValuePair< TKey, TValue > keyValuePair)
static void PlaySound(int type, Vector2 position, int style=1)
static Asset< Texture2D >[] InfoIcon
static Asset< Texture2D > BuilderAcc
static string GetTextValue(string key)
Definition Language.cs:15
static string npcChatText
Definition Main.cs:1825
static void GetBuilderAccsCountToShow(Player plr, out int blockReplaceIcons, out int torchGodIcons, out int totalDrawnIcons)
Definition Main.cs:44512
static SpriteBatch spriteBatch
Definition Main.cs:974
static int myPlayer
Definition Main.cs:1801
void DrawBlockReplacementIcon(int pivotTopLeftX, int pivotTopLeftY, bool pushSideToolsUp, int gamepadPointOffset)
Definition Main.cs:39601
static bool mouseLeftRelease
Definition Main.cs:1755
static Vector2 MouseScreen
Definition Main.cs:2773
static bool mouseText
Definition Main.cs:2453
static Microsoft.Xna.Framework.Color OurFavoriteColor
Definition Main.cs:902
static bool playerInventory
Definition Main.cs:1759
void DrawTorchBiomeSwapIcon(int pivotTopLeftX, int pivotTopLeftY, bool pushSideToolsUp, int gamepadPointOffset)
Definition Main.cs:39640
static Player[] player
Definition Main.cs:1803
void MouseText(string cursorText, int rare=0, byte diff=0, int hackedMouseX=-1, int hackedMouseY=-1, int hackedScreenWidth=-1, int hackedScreenHeight=-1, int pushWidthX=0)
Definition Main.cs:18729
static bool mouseLeft
Definition Main.cs:614
static void SetPosition(int ID, Vector2 Position)

References Terraria.GameContent.TextureAssets.BuilderAcc, Terraria.Utils.CenteredRectangle(), Terraria.Main.DrawBlockReplacementIcon(), Terraria.Main.DrawTorchBiomeSwapIcon(), Terraria.Main.GetBuilderAccsCountToShow(), Terraria.Localization.Language.GetTextValue(), System.Text.RegularExpressions.i, Terraria.GameInput.PlayerInput.IgnoreMouseInterface, Terraria.GameContent.TextureAssets.InfoIcon, Terraria.Main.mouseLeft, Terraria.Main.mouseLeftRelease, Terraria.Main.MouseScreen, Terraria.Main.mouseText, Terraria.Main.MouseText(), Terraria.Main.myPlayer, Terraria.Main.npcChatText, Terraria.Main.OurFavoriteColor, Terraria.Main.player, Terraria.Main.playerInventory, Terraria.Audio.SoundEngine.PlaySound(), Terraria.UI.Gamepad.UILinkPointNavigator.SetPosition(), Terraria.Main.spriteBatch, System.start, System.value, Microsoft.Xna.Framework.Graphics.Vector2, and Microsoft.Xna.Framework.Color.White.

Referenced by Terraria.Main.DrawInterface_31_BuilderAccToggles().