public override void Serialize <TDoc, TCursor>(IO.TagElementStream <TDoc, TCursor, string> s) { base.Serialize(s); s.StreamAttributeOptUnchangedZero("camo", ref ActiveCamo); s.StreamAttributeOptUnchangedZero("waypoint", ref Waypoint); s.StreamAttributeOptUnchangedZero("gamertag", ref GamertagVisible); s.StreamAttributeOptUnchangedZero("aura", ref Aura); s.StreamAttributeOptUnchangedZero("shieldHud", ref ShieldHud); using (var bm = s.EnterCursorBookmarkOpt("Effects", this, obj => obj.EffectsAreNotDefault)) if (bm.IsNotNull) { s.StreamAttributeOptDefaultOption("death", ref DeathEffect); s.StreamAttributeOptDefaultOption("looping", ref LoopingEffect); } using (var bm = s.EnterCursorBookmarkOpt("PrimaryColor", PrimaryColor, obj => !obj.IsDefault)) if (bm.IsNotNull) { s.StreamObject(PrimaryColor); } using (var bm = s.EnterCursorBookmarkOpt("SecondaryColor", SecondaryColor, obj => !obj.IsDefault)) if (bm.IsNotNull) { s.StreamObject(SecondaryColor); } using (var bm = s.EnterCursorBookmarkOpt("Model", ModelVariant, obj => !obj.IsDefault)) if (bm.IsNotNull) { s.StreamObject(ModelVariant); } }
protected virtual void SerializeObjectSets <TDoc, TCursor>(IO.TagElementStream <TDoc, TCursor, string> s) where TDoc : class where TCursor : class { s.StreamAttributeOptDefaultOption("weapons", ref WeaponSet); s.StreamAttributeOptDefaultOption("vehicles", ref VehicleSet); }
public void Serialize <TDoc, TCursor>(IO.TagElementStream <TDoc, TCursor, string> s) where TDoc : class where TCursor : class { s.StreamAttributeEnumOpt("flags", ref Flags, flags => flags != 0, true); s.StreamAttributeOptDefaultOption("unk6", ref unk6); s.StreamAttributeOptDefaultOption("unk12", ref unk12); s.StreamAttributeOptDefaultOption("unk36", ref unk36); s.StreamAttributeOptDefaultOption("initialDropDelay", ref InitialDropDelay); s.StreamAttributeOpt("customizePersonalOrdnance", ref CustomizePersonalOrdnance, Predicates.IsTrue); using (var bm = s.EnterCursorBookmarkOpt("DropSets", this, obj => !obj.DropSetNames_AreDefault)) if (bm.IsNotNull) { if (!s.StreamAttributeOpt("initial", ref InitialDropSet, IsNotDefaultString)) { InitialDropSet = kDefaultString; } if (!s.StreamAttributeOpt("random", ref RandomDropSet, IsNotDefaultString)) { RandomDropSet = kDefaultString; } if (!s.StreamAttributeOpt("personal", ref PersonalDropSet, IsNotDefaultString)) { PersonalDropSet = kDefaultString; } if (!s.StreamAttributeOpt("ordnanceSubstitutions", ref OrdnanceSubstitutions, Predicates.IsNotNullOrEmpty)) { OrdnanceSubstitutions = ""; } } using (var bm = s.EnterCursorBookmarkOpt("InfinityResupplyTime", this, obj => !obj.InfinityResupplyTime_IsUnchanged)) if (bm.IsNotNull) { s.StreamAttributeOptDefaultOption("min", ref ResupplyTimeMin); s.StreamAttributeOptDefaultOption("max", ref ResupplyTimeMax); } using (var bm = s.EnterCursorBookmarkOpt("Points", this, obj => !obj.Points_AreUnchanged)) if (bm.IsNotNull) { s.StreamAttribute("requirement", ref PointRequirement); s.StreamAttribute("increaseMultiplier", ref PointIncreaseMultiplier); } #region PersonalOrdnance GameOptionsOrdnancePersonalOrdnancePossibilities possibilities; Predicate <GameOptionsOrdnancePersonalOrdnancePossibilities> possibilities_are_changed = p => !p.IsDefault; possibilities = PersonalOrdnance[0]; using (var bm = s.EnterCursorBookmarkOpt("Right", possibilities, possibilities_are_changed)) if (bm.IsNotNull) { s.StreamObject(possibilities); } possibilities = PersonalOrdnance[1]; using (var bm = s.EnterCursorBookmarkOpt("Left", possibilities, possibilities_are_changed)) if (bm.IsNotNull) { s.StreamObject(possibilities); } possibilities = PersonalOrdnance[2]; using (var bm = s.EnterCursorBookmarkOpt("Down", possibilities, possibilities_are_changed)) if (bm.IsNotNull) { s.StreamObject(possibilities); } possibilities = PersonalOrdnance[3]; using (var bm = s.EnterCursorBookmarkOpt("Unused", possibilities, possibilities_are_changed)) if (bm.IsNotNull) { s.StreamObject(possibilities); } #endregion }
protected override void SerializeObjectSets <TDoc, TCursor>(IO.TagElementStream <TDoc, TCursor, string> s) { s.StreamAttributeOptDefaultOption("equipment", ref EquipmentSet); }