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

◆ Serialize()

static void Terraria.Player.Serialize ( PlayerFileData playerFile,
Player newPlayer,
BinaryWriter fileIO )
inlinestaticprivate

Definition at line 55419 of file Player.cs.

55420 {
55421 fileIO.Write(newPlayer.name);
55422 fileIO.Write(newPlayer.difficulty);
55423 fileIO.Write(playerFile.GetPlayTime().Ticks);
55426 BitsByte bitsByte = (byte)0;
55427 for (int i = 0; i < 8; i++)
55428 {
55429 bitsByte[i] = newPlayer.hideVisibleAccessory[i];
55430 }
55431 fileIO.Write(bitsByte);
55432 bitsByte = (byte)0;
55433 for (int j = 0; j < 2; j++)
55434 {
55435 bitsByte[j] = newPlayer.hideVisibleAccessory[j + 8];
55436 }
55437 fileIO.Write(bitsByte);
55438 fileIO.Write(newPlayer.hideMisc);
55439 fileIO.Write((byte)newPlayer.skinVariant);
55440 fileIO.Write(newPlayer.statLife);
55441 fileIO.Write(100 + newPlayer.ConsumedLifeCrystals * 20 + newPlayer.ConsumedLifeFruit * 5);
55442 fileIO.Write(newPlayer.statMana);
55443 fileIO.Write(20 + newPlayer.ConsumedManaCrystals * 20);
55444 fileIO.Write(newPlayer.extraAccessory);
55445 fileIO.Write(newPlayer.unlockedBiomeTorches);
55446 fileIO.Write(newPlayer.UsingBiomeTorches);
55447 fileIO.Write(newPlayer.ateArtisanBread);
55448 fileIO.Write(newPlayer.usedAegisCrystal);
55449 fileIO.Write(newPlayer.usedAegisFruit);
55450 fileIO.Write(newPlayer.usedArcaneCrystal);
55451 fileIO.Write(newPlayer.usedGalaxyPearl);
55452 fileIO.Write(newPlayer.usedGummyWorm);
55453 fileIO.Write(newPlayer.usedAmbrosia);
55454 fileIO.Write(newPlayer.downedDD2EventAnyDifficulty);
55455 fileIO.Write(newPlayer.taxMoney);
55456 fileIO.Write(newPlayer.numberOfDeathsPVE);
55457 fileIO.Write(newPlayer.numberOfDeathsPVP);
55458 fileIO.Write(((Color)(ref newPlayer.hairColor)).R);
55459 fileIO.Write(((Color)(ref newPlayer.hairColor)).G);
55460 fileIO.Write(((Color)(ref newPlayer.hairColor)).B);
55461 fileIO.Write(((Color)(ref newPlayer.skinColor)).R);
55462 fileIO.Write(((Color)(ref newPlayer.skinColor)).G);
55463 fileIO.Write(((Color)(ref newPlayer.skinColor)).B);
55464 fileIO.Write(((Color)(ref newPlayer.eyeColor)).R);
55465 fileIO.Write(((Color)(ref newPlayer.eyeColor)).G);
55466 fileIO.Write(((Color)(ref newPlayer.eyeColor)).B);
55467 fileIO.Write(((Color)(ref newPlayer.shirtColor)).R);
55468 fileIO.Write(((Color)(ref newPlayer.shirtColor)).G);
55469 fileIO.Write(((Color)(ref newPlayer.shirtColor)).B);
55470 fileIO.Write(((Color)(ref newPlayer.underShirtColor)).R);
55471 fileIO.Write(((Color)(ref newPlayer.underShirtColor)).G);
55472 fileIO.Write(((Color)(ref newPlayer.underShirtColor)).B);
55473 fileIO.Write(((Color)(ref newPlayer.pantsColor)).R);
55474 fileIO.Write(((Color)(ref newPlayer.pantsColor)).G);
55475 fileIO.Write(((Color)(ref newPlayer.pantsColor)).B);
55476 fileIO.Write(((Color)(ref newPlayer.shoeColor)).R);
55477 fileIO.Write(((Color)(ref newPlayer.shoeColor)).G);
55478 fileIO.Write(((Color)(ref newPlayer.shoeColor)).B);
55479 for (int k = 0; k < newPlayer.armor.Length; k++)
55480 {
55483 }
55484 for (int l = 0; l < newPlayer.dye.Length; l++)
55485 {
55488 }
55489 for (int m = 0; m < 58; m++)
55490 {
55491 ItemIO.WriteVanillaID(newPlayer.inventory[m], fileIO);
55492 fileIO.Write(newPlayer.inventory[m].stack);
55494 fileIO.Write(newPlayer.inventory[m].favorited);
55495 }
55496 for (int n = 0; n < newPlayer.miscEquips.Length; n++)
55497 {
55498 ItemIO.WriteVanillaID(newPlayer.miscEquips[n], fileIO);
55502 }
55503 for (int num = 0; num < 40; num++)
55504 {
55506 fileIO.Write(newPlayer.bank.item[num].stack);
55508 }
55509 for (int num3 = 0; num3 < 40; num3++)
55510 {
55512 fileIO.Write(newPlayer.bank2.item[num3].stack);
55514 }
55515 for (int num4 = 0; num4 < 40; num4++)
55516 {
55518 fileIO.Write(newPlayer.bank3.item[num4].stack);
55520 }
55521 for (int num5 = 0; num5 < 40; num5++)
55522 {
55524 fileIO.Write(newPlayer.bank4.item[num5].stack);
55526 fileIO.Write(newPlayer.bank4.item[num5].favorited);
55527 }
55528 fileIO.Write(newPlayer.voidVaultInfo);
55529 for (int num6 = 0; num6 < 44; num6++)
55530 {
55531 fileIO.Write(0);
55532 fileIO.Write(0);
55533 }
55534 for (int num7 = 0; num7 < 200; num7++)
55535 {
55536 if (newPlayer.spN[num7] == null)
55537 {
55538 fileIO.Write(-1);
55539 break;
55540 }
55541 fileIO.Write(newPlayer.spX[num7]);
55542 fileIO.Write(newPlayer.spY[num7]);
55543 fileIO.Write(newPlayer.spI[num7]);
55544 fileIO.Write(newPlayer.spN[num7]);
55545 }
55546 fileIO.Write(newPlayer.hbLocked);
55548 {
55549 fileIO.Write(newPlayer.hideInfo[num8]);
55550 }
55551 fileIO.Write(newPlayer.anglerQuestsFinished);
55552 for (int num9 = 0; num9 < newPlayer.DpadRadial.Bindings.Length; num9++)
55553 {
55554 fileIO.Write(newPlayer.DpadRadial.Bindings[num9]);
55555 }
55557 {
55558 fileIO.Write(newPlayer.builderAccStatus[num10]);
55559 }
55560 fileIO.Write(newPlayer.bartenderQuestLog);
55561 fileIO.Write(newPlayer.dead);
55562 if (newPlayer.dead)
55563 {
55564 fileIO.Write(newPlayer.respawnTimer);
55565 }
55566 long value = DateTime.UtcNow.ToBinary();
55567 fileIO.Write(value);
55568 fileIO.Write(newPlayer.golferScoreAccumulated);
55569 newPlayer.creativeTracker.Save(fileIO);
55570 newPlayer.SaveTemporaryItemSlotContents(fileIO);
55572 BitsByte bitsByte2 = default(BitsByte);
55573 bitsByte2[0] = newPlayer.unlockedSuperCart;
55574 bitsByte2[1] = newPlayer.enabledSuperCart;
55575 fileIO.Write(bitsByte2);
55576 fileIO.Write(newPlayer.CurrentLoadoutIndex);
55577 for (int num2 = 0; num2 < newPlayer.Loadouts.Length; num2++)
55578 {
55579 newPlayer.Loadouts[num2].Serialize(fileIO);
55580 }
55581 }
static void WriteByteVanillaPrefix(Item item, BinaryWriter writer)
Definition ItemIO.cs:38
static void WriteVanillaID(Item item, BinaryWriter writer)
Definition ItemIO.cs:13
static void WriteByteVanillaHairDye(int hairDye, BinaryWriter writer)
Definition PlayerIO.cs:18
static void WriteVanillaHair(int hair, BinaryWriter writer)
Definition PlayerIO.cs:23

References Terraria.ModLoader.BuilderToggleLoader.DefaultDisplayCount, Terraria.ModLoader.InfoDisplayLoader.DefaultDisplayCount, Terraria.GameContent.Creative.CreativePowerManager.Instance, Terraria.ModLoader.IO.PlayerIO.WriteByteVanillaHairDye(), Terraria.ModLoader.IO.ItemIO.WriteByteVanillaPrefix(), Terraria.ModLoader.IO.PlayerIO.WriteVanillaHair(), and Terraria.ModLoader.IO.ItemIO.WriteVanillaID().

Referenced by Terraria.Player.InternalSavePlayerFile(), and Terraria.Player.SerializedClone().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: