public void Load(ZPackage pkg) { this.m_isLoading = true; //this.UnequipAllItems(); int num1 = pkg.ReadInt(); if (num1 >= 7) { this.SetMaxHealth(pkg.ReadSingle(), false); } float num2 = pkg.ReadSingle(); float maxHealth = this.GetMaxHealth(); if ((double)num2 <= 0.0 || (double)num2 > (double)maxHealth || float.IsNaN(num2)) { num2 = maxHealth; } this.SetHealth(num2); if (num1 >= 10) { float stamina = pkg.ReadSingle(); this.SetMaxStamina(stamina, false); this.m_stamina = stamina; } if (num1 >= 8) { this.m_firstSpawn = pkg.ReadBool(); } if (num1 >= 20) { this.m_timeSinceDeath = pkg.ReadSingle(); } if (num1 >= 23) { this.SetGuardianPower(pkg.ReadString()); } if (num1 >= 24) { this.m_guardianPowerCooldown = pkg.ReadSingle(); } if (num1 == 2) { pkg.ReadZDOID(); } this.m_inventory.Load(pkg); int num3 = pkg.ReadInt(); for (int index = 0; index < num3; ++index) { this.m_knownRecipes.Add(pkg.ReadString()); } if (num1 < 15) { int num4 = pkg.ReadInt(); for (int index = 0; index < num4; ++index) { pkg.ReadString(); } } else { int num4 = pkg.ReadInt(); for (int index = 0; index < num4; ++index) { this.m_knownStations.Add(pkg.ReadString(), pkg.ReadInt()); } } int num5 = pkg.ReadInt(); for (int index = 0; index < num5; ++index) { this.m_knownMaterial.Add(pkg.ReadString()); } if (num1 < 19 || num1 >= 21) { int num4 = pkg.ReadInt(); for (int index = 0; index < num4; ++index) { this.m_shownTutorials.Add(pkg.ReadString()); } } if (num1 >= 6) { int num4 = pkg.ReadInt(); for (int index = 0; index < num4; ++index) { this.m_uniques.Add(pkg.ReadString()); } } if (num1 >= 9) { int num4 = pkg.ReadInt(); for (int index = 0; index < num4; ++index) { this.m_trophies.Add(pkg.ReadString()); } } if (num1 >= 18) { int num4 = pkg.ReadInt(); for (int index = 0; index < num4; ++index) { this.m_knownBiome.Add((Biome)pkg.ReadInt()); } } if (num1 >= 22) { int num4 = pkg.ReadInt(); for (int index = 0; index < num4; ++index) { this.m_knownTexts.Add(pkg.ReadString(), pkg.ReadString()); } } //========================================= if (num1 >= 4) { string name = pkg.ReadString(); string hair = pkg.ReadString(); this.SetBeard(name); this.SetHair(hair); } if (num1 >= 5) { Vector3 color1 = pkg.ReadVector3(); Vector3 color2 = pkg.ReadVector3(); this.SetSkinColor(color1); this.SetHairColor(color2); } if (num1 >= 11) { this.SetPlayerModel(pkg.ReadInt()); } if (num1 >= 12) { this.m_foods.Clear(); int num4 = pkg.ReadInt(); for (int index = 0; index < num4; ++index) { if (num1 >= 14) { Player.Food food = new Player.Food(); food.m_name = pkg.ReadString(); food.m_health = pkg.ReadSingle(); if (num1 >= 16) { food.m_stamina = pkg.ReadSingle(); } //GameObject itemPrefab = ObjectDB.instance.GetItemPrefab(food.m_name); //if ((UnityEngine.Object)itemPrefab == (UnityEngine.Object)null) //{ // ZLog.LogWarning((object)("FAiled to find food item " + food.m_name)); //} //else { //food.m_item = itemPrefab.GetComponent<ItemDrop>().m_itemData; this.m_foods.Add(food); } } else { pkg.ReadString(); double num6 = (double)pkg.ReadSingle(); double num7 = (double)pkg.ReadSingle(); double num8 = (double)pkg.ReadSingle(); double num9 = (double)pkg.ReadSingle(); double num10 = (double)pkg.ReadSingle(); double num11 = (double)pkg.ReadSingle(); if (num1 >= 13) { double num12 = (double)pkg.ReadSingle(); } } } } if (num1 >= 17) { this.Skills.Load(pkg); } this.m_isLoading = false; //this.UpdateAvailablePiecesList(); //this.EquipIventoryItems(); }