13 private static void InitializeHash()
17 AddArrowTypeToHash(
"Ammo_HuntingBolt");
18 AddArrowTypeToHash(
"Ammo_ImprovisedBolt_1");
19 AddArrowTypeToHash(
"Ammo_ImprovisedBolt_2");
20 AddArrowTypeToHash(
"Ammo_ImprovisedBolt_3");
23 private static void AddArrowTypeToHash(
string ArrowType)
25 m_TypeHashTable.Insert(ArrowType.Hash(), ArrowType.ToType());
28 private static typename GetArrowTypeFromHash(
int hash)
30 return m_TypeHashTable.Get(hash);
36 int count = m_Arrows.Count();
39 for (i = count - 1; i >= 0; i--)
46 count = m_Arrows.Count();
50 for (i = 0; i < count; i++)
54 string type = arrow.GetType();
55 ctx.Write(type.Hash());
57 vector angle = arrow.GetLocalYawPitchRoll();
58 vector pos = arrow.GetLocalPosition();
67 int pivot = arrow.GetHierarchyPivot();
78 if (!ctx.Read(version))
89 for (
int i = 0; i < count; i++)
104 if (!ctx.Read(value))
110 if (!ctx.Read(value))
116 if (!ctx.Read(value))
122 if (!ctx.Read(value))
128 if (!ctx.Read(value))
134 if (!ctx.Read(value))
143 angle =
vector.ArrayToVec(angleF);
144 pos =
vector.ArrayToVec(posF);
147 if (!ctx.Read(pivot))
160 typename arrowType = GetArrowTypeFromHash(hash);
164 arrow.SetQuantityToMinimum();
165 arrow.SetYawPitchRoll(angle);
166 m_Owner.AddChild(arrow, pivot);