private Events?Handle(CSVCMsg_ClassInfo message) { // Every single class is added here, CDOTA_Hero_... etc foreach (var clazz in message.classes) { var created = EntityClass.CreateWith(clazz); state.Classes.Add(created); state.ClassesByName.Add(created.ClassName, created); } foreach (var table in state.SendTables) { for (var i = 0; i < table.Properties.Count; ++i) { var prop = table.Properties[i]; if (prop.Type == PropertyInfo.PropertyType.Array) { prop.ArrayProp = table.Properties[i - 1]; } } } state.FlatTables.AddRange(sendTableFlattener.Flatten(state.SendTables)); return(null); }
private Event?Process(CSVCMsg_ClassInfo message) { foreach (var clazz in message.classes) { var created = EntityClass.CreateWith(clazz); client.Classes.Add(created); client.ClassesByName.Add(created.ClassName, created); } foreach (var table in client.SendTables) { for (int i = 0; i < table.Properties.Count; ++i) { var prop = table.Properties[i]; if (prop.Type == PropertyInfo.PropertyType.Array) { prop.ArrayProp = table.Properties[i - 1]; } } } client.FlatTables.AddRange(sendTableFlattener.Flatten(client.SendTables)); log.Debug(String.Format("CSVCMsg_ClassInfo: create_on_client {0} with {1} classes", message.create_on_client, message.classes.Count)); return(null); }