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

◆ Serialize()

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

Definition at line 51230 of file Player.cs.

51231 {
51232 fileIO.Write(newPlayer.name);
51233 fileIO.Write(newPlayer.difficulty);
51234 fileIO.Write(playerFile.GetPlayTime().Ticks);
51235 fileIO.Write(newPlayer.hair);
51236 fileIO.Write(newPlayer.hairDye);
51237 BitsByte bitsByte = (byte)0;
51238 for (int i = 0; i < 8; i++)
51239 {
51240 bitsByte[i] = newPlayer.hideVisibleAccessory[i];
51241 }
51242 fileIO.Write(bitsByte);
51243 bitsByte = (byte)0;
51244 for (int j = 0; j < 2; j++)
51245 {
51246 bitsByte[j] = newPlayer.hideVisibleAccessory[j + 8];
51247 }
51248 fileIO.Write(bitsByte);
51249 fileIO.Write(newPlayer.hideMisc);
51250 fileIO.Write((byte)newPlayer.skinVariant);
51251 fileIO.Write(newPlayer.statLife);
51252 fileIO.Write(newPlayer.statLifeMax);
51253 fileIO.Write(newPlayer.statMana);
51254 fileIO.Write(newPlayer.statManaMax);
51255 fileIO.Write(newPlayer.extraAccessory);
51256 fileIO.Write(newPlayer.unlockedBiomeTorches);
51257 fileIO.Write(newPlayer.UsingBiomeTorches);
51258 fileIO.Write(newPlayer.ateArtisanBread);
51259 fileIO.Write(newPlayer.usedAegisCrystal);
51260 fileIO.Write(newPlayer.usedAegisFruit);
51261 fileIO.Write(newPlayer.usedArcaneCrystal);
51262 fileIO.Write(newPlayer.usedGalaxyPearl);
51263 fileIO.Write(newPlayer.usedGummyWorm);
51264 fileIO.Write(newPlayer.usedAmbrosia);
51265 fileIO.Write(newPlayer.downedDD2EventAnyDifficulty);
51266 fileIO.Write(newPlayer.taxMoney);
51267 fileIO.Write(newPlayer.numberOfDeathsPVE);
51268 fileIO.Write(newPlayer.numberOfDeathsPVP);
51269 fileIO.Write(newPlayer.hairColor.R);
51270 fileIO.Write(newPlayer.hairColor.G);
51271 fileIO.Write(newPlayer.hairColor.B);
51272 fileIO.Write(newPlayer.skinColor.R);
51273 fileIO.Write(newPlayer.skinColor.G);
51274 fileIO.Write(newPlayer.skinColor.B);
51275 fileIO.Write(newPlayer.eyeColor.R);
51276 fileIO.Write(newPlayer.eyeColor.G);
51277 fileIO.Write(newPlayer.eyeColor.B);
51278 fileIO.Write(newPlayer.shirtColor.R);
51279 fileIO.Write(newPlayer.shirtColor.G);
51280 fileIO.Write(newPlayer.shirtColor.B);
51281 fileIO.Write(newPlayer.underShirtColor.R);
51282 fileIO.Write(newPlayer.underShirtColor.G);
51283 fileIO.Write(newPlayer.underShirtColor.B);
51284 fileIO.Write(newPlayer.pantsColor.R);
51285 fileIO.Write(newPlayer.pantsColor.G);
51286 fileIO.Write(newPlayer.pantsColor.B);
51287 fileIO.Write(newPlayer.shoeColor.R);
51288 fileIO.Write(newPlayer.shoeColor.G);
51289 fileIO.Write(newPlayer.shoeColor.B);
51290 for (int k = 0; k < newPlayer.armor.Length; k++)
51291 {
51292 fileIO.Write(newPlayer.armor[k].netID);
51293 fileIO.Write(newPlayer.armor[k].prefix);
51294 }
51295 for (int l = 0; l < newPlayer.dye.Length; l++)
51296 {
51297 fileIO.Write(newPlayer.dye[l].netID);
51298 fileIO.Write(newPlayer.dye[l].prefix);
51299 }
51300 for (int m = 0; m < 58; m++)
51301 {
51302 fileIO.Write(newPlayer.inventory[m].netID);
51303 fileIO.Write(newPlayer.inventory[m].stack);
51304 fileIO.Write(newPlayer.inventory[m].prefix);
51305 fileIO.Write(newPlayer.inventory[m].favorited);
51306 }
51307 for (int n = 0; n < newPlayer.miscEquips.Length; n++)
51308 {
51309 fileIO.Write(newPlayer.miscEquips[n].netID);
51310 fileIO.Write(newPlayer.miscEquips[n].prefix);
51311 fileIO.Write(newPlayer.miscDyes[n].netID);
51312 fileIO.Write(newPlayer.miscDyes[n].prefix);
51313 }
51314 for (int num = 0; num < 40; num++)
51315 {
51316 fileIO.Write(newPlayer.bank.item[num].netID);
51317 fileIO.Write(newPlayer.bank.item[num].stack);
51318 fileIO.Write(newPlayer.bank.item[num].prefix);
51319 }
51320 for (int num2 = 0; num2 < 40; num2++)
51321 {
51322 fileIO.Write(newPlayer.bank2.item[num2].netID);
51323 fileIO.Write(newPlayer.bank2.item[num2].stack);
51324 fileIO.Write(newPlayer.bank2.item[num2].prefix);
51325 }
51326 for (int num3 = 0; num3 < 40; num3++)
51327 {
51328 fileIO.Write(newPlayer.bank3.item[num3].netID);
51329 fileIO.Write(newPlayer.bank3.item[num3].stack);
51330 fileIO.Write(newPlayer.bank3.item[num3].prefix);
51331 }
51332 for (int num4 = 0; num4 < 40; num4++)
51333 {
51334 fileIO.Write(newPlayer.bank4.item[num4].netID);
51335 fileIO.Write(newPlayer.bank4.item[num4].stack);
51336 fileIO.Write(newPlayer.bank4.item[num4].prefix);
51337 fileIO.Write(newPlayer.bank4.item[num4].favorited);
51338 }
51339 fileIO.Write(newPlayer.voidVaultInfo);
51340 for (int num5 = 0; num5 < maxBuffs; num5++)
51341 {
51342 if (Main.buffNoSave[newPlayer.buffType[num5]])
51343 {
51344 fileIO.Write(0);
51345 fileIO.Write(0);
51346 }
51347 else
51348 {
51349 fileIO.Write(newPlayer.buffType[num5]);
51350 fileIO.Write(newPlayer.buffTime[num5]);
51351 }
51352 }
51353 for (int num6 = 0; num6 < 200; num6++)
51354 {
51355 if (newPlayer.spN[num6] == null)
51356 {
51357 fileIO.Write(-1);
51358 break;
51359 }
51360 fileIO.Write(newPlayer.spX[num6]);
51361 fileIO.Write(newPlayer.spY[num6]);
51362 fileIO.Write(newPlayer.spI[num6]);
51363 fileIO.Write(newPlayer.spN[num6]);
51364 }
51365 fileIO.Write(newPlayer.hbLocked);
51366 for (int num7 = 0; num7 < newPlayer.hideInfo.Length; num7++)
51367 {
51368 fileIO.Write(newPlayer.hideInfo[num7]);
51369 }
51370 fileIO.Write(newPlayer.anglerQuestsFinished);
51371 for (int num8 = 0; num8 < newPlayer.DpadRadial.Bindings.Length; num8++)
51372 {
51373 fileIO.Write(newPlayer.DpadRadial.Bindings[num8]);
51374 }
51375 for (int num9 = 0; num9 < newPlayer.builderAccStatus.Length; num9++)
51376 {
51377 fileIO.Write(newPlayer.builderAccStatus[num9]);
51378 }
51379 fileIO.Write(newPlayer.bartenderQuestLog);
51380 fileIO.Write(newPlayer.dead);
51381 if (newPlayer.dead)
51382 {
51383 fileIO.Write(newPlayer.respawnTimer);
51384 }
51385 long value = DateTime.UtcNow.ToBinary();
51386 fileIO.Write(value);
51387 fileIO.Write(newPlayer.golferScoreAccumulated);
51388 newPlayer.creativeTracker.Save(fileIO);
51389 newPlayer.SaveTemporaryItemSlotContents(fileIO);
51391 BitsByte bitsByte2 = default(BitsByte);
51392 bitsByte2[0] = newPlayer.unlockedSuperCart;
51393 bitsByte2[1] = newPlayer.enabledSuperCart;
51394 fileIO.Write(bitsByte2);
51395 fileIO.Write(newPlayer.CurrentLoadoutIndex);
51396 for (int num10 = 0; num10 < newPlayer.Loadouts.Length; num10++)
51397 {
51398 newPlayer.Loadouts[num10].Serialize(fileIO);
51399 }
51400 }
static readonly int maxBuffs
Definition Player.cs:1191
static unsafe DateTime UtcNow
Definition DateTime.cs:142

References Terraria.Main.buffNoSave, Terraria.GameContent.Creative.CreativePowerManager.Instance, System.DateTime.UtcNow, and System.value.