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

◆ XferWater()

static void Terraria.Wiring.XferWater ( )
inlinestaticprivate

Definition at line 449 of file Wiring.cs.

450 {
451 for (int i = 0; i < _numInPump; i++)
452 {
453 int num = _inPumpX[i];
454 int num2 = _inPumpY[i];
455 int liquid = Main.tile[num, num2].liquid;
456 if (liquid <= 0)
457 {
458 continue;
459 }
460 byte b = Main.tile[num, num2].liquidType();
461 for (int j = 0; j < _numOutPump; j++)
462 {
463 int num3 = _outPumpX[j];
464 int num4 = _outPumpY[j];
465 int liquid2 = Main.tile[num3, num4].liquid;
466 if (liquid2 >= 255)
467 {
468 continue;
469 }
470 byte b2 = Main.tile[num3, num4].liquidType();
471 if (liquid2 == 0)
472 {
473 b2 = b;
474 }
475 if (b2 == b)
476 {
477 int num5 = liquid;
478 if (num5 + liquid2 > 255)
479 {
480 num5 = 255 - liquid2;
481 }
482 Main.tile[num3, num4].liquid += (byte)num5;
483 Main.tile[num, num2].liquid -= (byte)num5;
484 liquid = Main.tile[num, num2].liquid;
485 Main.tile[num3, num4].liquidType(b);
486 WorldGen.SquareTileFrame(num3, num4);
487 if (Main.tile[num, num2].liquid == 0)
488 {
489 Main.tile[num, num2].liquidType(0);
490 WorldGen.SquareTileFrame(num, num2);
491 break;
492 }
493 }
494 }
495 WorldGen.SquareTileFrame(num, num2);
496 }
497 }
static int[] _inPumpY
Definition Wiring.cs:43
static int[] _inPumpX
Definition Wiring.cs:41
static int[] _outPumpX
Definition Wiring.cs:47
static int _numInPump
Definition Wiring.cs:45
static int _numOutPump
Definition Wiring.cs:51
static int[] _outPumpY
Definition Wiring.cs:49

References Terraria.Wiring._inPumpX, Terraria.Wiring._inPumpY, Terraria.Wiring._numInPump, Terraria.Wiring._numOutPump, Terraria.Wiring._outPumpX, Terraria.Wiring._outPumpY, Terraria.WorldGen.SquareTileFrame(), and Terraria.Main.tile.

Referenced by Terraria.Wiring.TripWire().