public void Read(BinaryInputStream s) { properties.ReadFromStream(s); if (s.ReadBool() == false) { Task.SendError("key should contain one layout"); } layout = s.ReadObject<AbstractActLayoutObject>(); if (layout == null || !(layout is Act2DMapLayoutObject)) { Task.SendError("only support Act2DMapLayout in key"); } }
public void ReadFromStream(BinaryInputStream s, bool is_short_version = false) { List<Action<BinaryInputStream>> readers = new List<Action<BinaryInputStream>>(); if (!is_short_version) { s.ReadBool(true); } int size = s.ReadInt32(); for (int i = 0; i < size; ++i) { string n = s.ReadString(); int t = s.ReadInt32(); readers.Add(SetField(n, t)); } foreach (var ac in readers) { ac(s); } }