Пример #1
0
        public static StringTable Create(CSVCMsg_CreateStringTable proto)
        {
            var flags = MultiFlag.None;

            if ((proto.flags & (uint) MultiFlag.Precache) > 0)
            {
                flags |= MultiFlag.Precache;
            }

            if ((proto.flags & (uint) MultiFlag.What) > 0)
            {
                flags |= MultiFlag.What;
            }

            if ((proto.flags & (uint) MultiFlag.FixedLength) > 0)
            {
                flags |= MultiFlag.FixedLength;
            }

            return new StringTable(proto.name, (uint) proto.max_entries,
                proto.user_data_fixed_size, (uint) proto.user_data_size,
                (uint) proto.user_data_size_bits, flags);
        }
Пример #2
0
        private Events? Handle(CSVCMsg_CreateStringTable message)
        {
            var table = StringTable.Create(message);
            state.StringsIndex[message.name] = state.Strings.Count;
            state.Strings.Add(table);

            stringTableUpdater.Update(table, message.num_entries, message.string_data);

            return null;
        }