public static void Deserialize(List <Lump> lumps) { StashItems.Clear(); CraftingMaterials = new CraftingCost(0, 0, 0, 0); if (lumps.Count > 0) { if (lumps[0].lumpName == "CRAFTMATS") { MemoryStream stream = new MemoryStream(lumps[0].data); BinaryReader br = new BinaryReader(stream); CraftingMaterials.u = br.ReadInt32(); CraftingMaterials.a = br.ReadInt32(); CraftingMaterials.w = br.ReadInt32(); CraftingMaterials.g = br.ReadInt32(); br.Close(); stream.Close(); } } for (int i = 1; i < lumps.Count; i++) { Lump l = lumps[i]; if (l.lumpName == "null") { StashItems.Add(null); } else { if (!ThingDesignator.Designations.ContainsKey(l.lumpName)) { Debug.LogError("Stash: Deserialize: designation \"" + l.lumpName + "\" not found in designator"); return; } GameObject prefab = ThingDesignator.Designations[l.lumpName]; InventoryGUIObject g = prefab.GetComponent <InventoryGUIObject>(); if (g == null) { Debug.LogError("Stash: Deserialize: designation \"" + l.lumpName + "\" does not contain <InventoryGUIObject> component"); return; } //g.Deserialize(l.data); StashItems.Add(g); } } for (int i = 0; i < ExtraEmptySlots; i++) { StashItems.Add(null); } }
public void SetCost(CraftingCost cost) { utilityCost.SetActive(cost.u != 0); utilityCostNumber.text = cost.u + " X"; armorCost.SetActive(cost.a != 0); armorCostNumber.text = cost.a + " X"; weaponCost.SetActive(cost.w != 0); weaponCostNumber.text = cost.w + " X"; goldCost.SetActive(cost.g != 0); goldCostNumber.text = cost.g + " X"; }