public static void Serialize(GenericWriter writer, TradeInfo info) { writer.Write((int)0); // version writer.Write((int)info.BudgetMinimum); writer.Write((int)info.MetalSalesPrice); writer.Write((int)info.MetalPurchasePrice); writer.Write((int)info.MetalMinimum); writer.Write((int)info.ClothSalesPrice); writer.Write((int)info.ClothPurchasePrice); writer.Write((int)info.ClothMinimum); writer.Write((int)info.WoodSalesPrice); writer.Write((int)info.WoodPurchasePrice); writer.Write((int)info.WoodMinimum); writer.Write((int)info.VendorPrice); writer.Write((int)info.WageEarnerPrice); writer.Write((int)info.MaxWageEarners); writer.Write((int)info.SlavePrice); writer.Write((int)info.MaxSlaves); writer.Write((bool)info.SellsSlaves); writer.Write((bool)info.SellsWageEarners); writer.Write((int)info.VendorWages); writer.Write((int)info.Taxes); writer.Write((bool)info.FlatTax); writer.Write((int)info.NoBusinessList.Count); foreach (string name in info.NoBusinessList) writer.Write((string)name); writer.Write((int)info.NoBusinessNations.Count); foreach (Nation n in info.NoBusinessNations) writer.Write((int)n); }
public override void Deserialize(GenericReader reader) { base.Deserialize( reader ); int version = reader.ReadInt(); switch (version) { case 7: { #region Version 7 m_TradeInformation = new TradeInfo(); TradeInfo.Deserialize(reader, m_TradeInformation); #endregion goto case 6; } case 6: { #region Version 6 m_Employees = new List<Mobile>(); int count = reader.ReadInt(); for (int i = 0; i < count; i++) { Mobile e = reader.ReadMobile(); if(!m_Employees.Contains(e)) m_Employees.Add(e); } #endregion goto case 5; } case 5: { #region Version 5 TradeAdvisor = (TradeAdvisor)reader.ReadMobile(); int count = 0; m_MilitarySpawners = new List<MilitarySpawner>(); count = reader.ReadInt(); for (int i = 0; i < count; i++) { object o = reader.ReadItem(); if (o != null) m_MilitarySpawners.Add((MilitarySpawner)o); } m_WayPoints = new List<MilitaryWayPoint>(); count = reader.ReadInt(); for (int i = 0; i < count; i++) { object o = reader.ReadItem(); if (o != null) m_WayPoints.Add((MilitaryWayPoint)o); } m_Nation = (Nation)reader.ReadInt(); m_CityGovernment = reader.ReadBool(); m_Resources = new Dictionary<ResourceType, int>(); count = reader.ReadInt(); for (int i = 0; i < count; i++) { ResourceType r = (ResourceType)reader.ReadInt(); int a = reader.ReadInt(); m_Resources.Add(r, a); } m_Reports = new List<ReportInfo>(); count = reader.ReadInt(); for (int i = 0; i < count; i++) { ReportInfo r = new ReportInfo(null, false, false); ReportInfo.Deserialize(reader, r); m_Reports.Add(r); } m_MilitaryAdvisor = (MilitaryAdvisor)reader.ReadMobile(); m_MilitaryPolicies = new MilitaryInfo(this); MilitaryInfo.Deserialize(reader, m_MilitaryPolicies); Governments.Add(this); #endregion Version 5 break; } } }
public static void Deserialize(GenericReader reader, TradeInfo info) { int version = reader.ReadInt(); switch (version) { case 0: { info.BudgetMinimum = reader.ReadInt(); info.MetalSalesPrice = reader.ReadInt(); info.MetalPurchasePrice = reader.ReadInt(); info.MetalMinimum = reader.ReadInt(); info.ClothSalesPrice = reader.ReadInt(); info.ClothPurchasePrice = reader.ReadInt(); info.ClothMinimum = reader.ReadInt(); info.WoodSalesPrice = reader.ReadInt(); info.WoodPurchasePrice = reader.ReadInt(); info.WoodMinimum = reader.ReadInt(); info.VendorPrice = reader.ReadInt(); info.WageEarnerPrice = reader.ReadInt(); info.MaxWageEarners = reader.ReadInt(); info.SlavePrice = reader.ReadInt(); info.MaxSlaves = reader.ReadInt(); info.SellsSlaves = reader.ReadBool(); info.SellsWageEarners = reader.ReadBool(); info.VendorWages = reader.ReadInt(); info.Taxes = reader.ReadInt(); info.FlatTax = reader.ReadBool(); int count = 0; info.NoBusinessList = new List<string>(); count = reader.ReadInt(); for(int i = 0; i < count; i++) { string name = reader.ReadString(); info.NoBusinessList.Add(name); } info.NoBusinessNations = new List<Nation>(); count = reader.ReadInt(); for(int i = 0; i < count; i++) { Nation nat = (Nation)reader.ReadInt(); info.NoBusinessNations.Add(nat); } break; } } }