Exemplo n.º 1
0
        public void PrintObjectInfo(ulong guid, ListView listView)
        {
            var obj  = objects[guid];
            var type = obj.TypeId;

            foreach (var kvp in obj.Data)
            {
                var uf    = UpdateFieldsLoader.GetUpdateField(type, kvp.Key);
                var value = GetValueBaseOnType(kvp.Value, uf.Type);
                listView.Items.Add(new ListViewItem(new[] { uf.Name, value }));
            }
        }
Exemplo n.º 2
0
        public void PrintObjectUpdatesInfo(ulong guid, ListView listView)
        {
            var obj = objects[guid];

            // make a temp copy of original values
            var objData = new Dictionary <int, uint>();

            foreach (var v in obj.Data)
            {
                objData[v.Key] = v.Value;
            }

            var c = 0;

            foreach (var update in obj.Updates)
            {
                c++;
                var group = new ListViewGroup(String.Format("Update {0}:", c));
                listView.Groups.Add(group);

                foreach (var kvp in update.Data)
                {
                    var uf       = UpdateFieldsLoader.GetUpdateField(obj.TypeId, kvp.Key);
                    var oldValue = GetValueBaseOnType((uint)0, uf.Type); // default value 0

                    if (objData.ContainsKey(kvp.Key))
                    {
                        oldValue         = GetValueBaseOnType(objData[kvp.Key], uf.Type);
                        objData[kvp.Key] = kvp.Value;
                    }

                    var newValue = GetValueBaseOnType(kvp.Value, uf.Type);
                    listView.Items.Add(new ListViewItem(new[] { uf.Name, oldValue, newValue }, group));
                }
            }
        }