private Network.Options.Option DeserializeOption(BinaryReader r) { var o = new Network.Options.Option(); o.Type = (Network.Options.Option.OptionType)r.ReadInt32(); o.Main = DeserializeSubOption(r); int subCount = r.ReadInt32(); o.Subs = new List <Network.Options.Option.SubOption>(); for (int i = 0; i < subCount; ++i) { o.Subs.Add(DeserializeSubOption(r)); } return(o); }
private void SerializeOption(Network.Options.Option o, BinaryWriter w) { w.Write((int)o.Type); SerializeSubOption(o.Main, w); var subs = o.Subs; if (subs == null) { w.Write(0); } else { w.Write(subs.Count); foreach (var so in subs) { SerializeSubOption(so, w); } } }
/// <summary> /// Snapshot play options. /// </summary> /// <param name="option">The Network Option.</param> /// <returns>The play options.</returns> private static IEnumerable <List <int> > SnapshotOptions(Network.Options.Option option) { if (option.Subs != null && option.Subs.Count > 0) { foreach (var sub in option.Subs) { foreach (var subOption in SnapshotSubOptions(sub)) { var ret = new List <int> { option.Main.ID }; ret.AddRange(subOption); yield return(ret); } } } else { foreach (var mainOption in SnapshotSubOptions(option.Main)) { yield return(mainOption); } } }
public void UpdateSubOptionHighlights(Network.Options.Option option) { object[] objArray1 = new object[] { option }; base.method_8("UpdateSubOptionHighlights", objArray1); }