public MonstersGroup(Map theMap) : base(theMap, Consts.TurnPriority_Monster, false) { //This group is enemies with everyone, including itself. theMap.Groups.OnElementAdded += (set, group) => { EnemiesByID.Add(group.ID); }; foreach (var group in theMap.Groups) { EnemiesByID.Add(group.ID); } theMap.Groups.Add(this); }
public virtual void ReadData(MyData.Reader reader) { ID = reader.UInt64("id"); TurnPriority.Value = reader.Int("turnPriority"); UnitsByID.Clear(); reader.Collection("units", (MyData.Reader r, ref ulong outID, string name) => { outID = r.UInt64(name); }, (size) => UnitsByID); AlliesByID.Clear(); reader.Collection("allies", (MyData.Reader r, ref ulong outID, string name) => { outID = r.UInt64(name); }, (size) => AlliesByID); EnemiesByID.Clear(); reader.Collection("enemies", (MyData.Reader r, ref ulong outID, string name) => { outID = r.UInt64(name); }, (size) => EnemiesByID); }