Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
EquipmentLoadout.cs
Go to the documentation of this file.
1using System.IO;
3
4namespace Terraria;
5
7{
8 public Item[] Armor;
9
10 public Item[] Dye;
11
12 public bool[] Hide;
13
15 {
17 Dye = CreateItemArray(10);
18 Hide = new bool[10];
19 }
20
21 private Item[] CreateItemArray(int length)
22 {
23 Item[] array = new Item[length];
24 for (int i = 0; i < length; i++)
25 {
26 array[i] = new Item();
27 }
28 return array;
29 }
30
31 public void Serialize(BinaryWriter writer)
32 {
33 ItemSerializationContext context = ItemSerializationContext.SavingAndLoading;
34 for (int i = 0; i < Armor.Length; i++)
35 {
36 Armor[i].Serialize(writer, context);
37 }
38 for (int j = 0; j < Dye.Length; j++)
39 {
40 Dye[j].Serialize(writer, context);
41 }
42 for (int k = 0; k < Hide.Length; k++)
43 {
44 writer.Write(Hide[k]);
45 }
46 }
47
48 public void Deserialize(BinaryReader reader, int gameVersion)
49 {
50 ItemSerializationContext context = ItemSerializationContext.SavingAndLoading;
51 for (int i = 0; i < Armor.Length; i++)
52 {
53 Armor[i].DeserializeFrom(reader, context);
54 }
55 for (int j = 0; j < Dye.Length; j++)
56 {
57 Dye[j].DeserializeFrom(reader, context);
58 }
59 for (int k = 0; k < Hide.Length; k++)
60 {
61 Hide[k] = reader.ReadBoolean();
62 }
63 }
64
65 public void Swap(Player player)
66 {
67 Item[] armor = player.armor;
68 for (int i = 0; i < armor.Length; i++)
69 {
70 Utils.Swap(ref armor[i], ref Armor[i]);
71 }
72 Item[] dye = player.dye;
73 for (int j = 0; j < dye.Length; j++)
74 {
75 Utils.Swap(ref dye[j], ref Dye[j]);
76 }
77 bool[] hideVisibleAccessory = player.hideVisibleAccessory;
78 for (int k = 0; k < hideVisibleAccessory.Length; k++)
79 {
80 Utils.Swap(ref hideVisibleAccessory[k], ref Hide[k]);
81 }
82 }
83
84 public void TryDroppingItems(Player player, IEntitySource source)
85 {
86 for (int i = 0; i < Armor.Length; i++)
87 {
88 player.TryDroppingSingleItem(source, Armor[i]);
89 }
90 for (int j = 0; j < Dye.Length; j++)
91 {
92 player.TryDroppingSingleItem(source, Dye[j]);
93 }
94 }
95
96 public void FixLoadedData()
97 {
98 for (int i = 0; i < Armor.Length; i++)
99 {
101 }
102 for (int j = 0; j < Dye.Length; j++)
103 {
105 }
107 }
108}
virtual bool ReadBoolean()
void TryDroppingItems(Player player, IEntitySource source)
void Swap(Player player)
Item[] CreateItemArray(int length)
void Deserialize(BinaryReader reader, int gameVersion)
void Serialize(BinaryWriter writer)
void Serialize(BinaryWriter writer, ItemSerializationContext context)
Definition Item.cs:49988
void DeserializeFrom(BinaryReader reader, ItemSerializationContext context)
Definition Item.cs:49998
void FixAgainstExploit()
Definition Item.cs:48328
static void FixLoadedData_EliminiateDuplicateAccessories(Item[] armorArray)
Definition Player.cs:52211
void TryDroppingSingleItem(IEntitySource source, Item theItem)
Definition Player.cs:50859
bool[] hideVisibleAccessory
Definition Player.cs:1367