Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }