public JournalSwitchSuitLoadout(JObject evt) : base(evt, JournalTypeEnum.SwitchSuitLoadout) { SuitID = ulong.MaxValue; // Limit search to this class only using DeclaredOnly. evt.ToObjectProtected(this.GetType(), true, false, System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.DeclaredOnly, this); // read fields named in this structure matching JSON names SuitFriendlyName = ItemData.GetSuit(SuitName, SuitName_Localised)?.Name ?? SuitName_Localised; SuitName = SuitName.ToLower(); // normalise SuitLoadout.NormaliseModules(Modules); }
public List <SuitLoadout> GetSuitLoadouts() { JObject loadouts = json.I("loadouts").Object(); if (loadouts != null) { var list = new List <SuitLoadout>(); foreach (var kvploadouts in loadouts) { JObject data = kvploadouts.Value.Object(); if (data != null) { SuitLoadout m = new SuitLoadout() { SuitID = data["suit"].I("suitId").Long(), SuitName = data["suit"].I("name").Str(), SuitLocName = data["suit"].I("locName").Str(), LoadoutID = data["id"].Long(), UserLoadoutName = data["name"].Str() }; JObject slots = data["slots"].Object(); if (slots != null) { m.slots = new List <SuitSlot>(); foreach (var kvp in slots) { var sl = new SuitSlot() { SlotName = kvp.Key, Name = kvp.Value["name"].Str(), LocName = kvp.Value["locName"].Str(), LocDescription = kvp.Value["locDescription"].Str(), ID = kvp.Value["id"].Long(), WeaponRackID = kvp.Value["weaponrackId"].Long() }; m.slots.Add(sl); } } list.Add(m); } } return(list); } return(null); }