示例#1
0
        private int Callback(ulong guid, uint filter)
        {
            IntPtr pointer = _getObjectByGuid(guid, -1);

            if (pointer == IntPtr.Zero)
            {
                return(1);
            }

            if (_objects.ContainsKey(guid))
            {
                _objects[guid].Pointer = pointer;
            }
            else
            {
                var           obj  = new WoWObject(pointer);
                WoWObjectType type = obj.Type;

                if (type.HasFlag(WoWObjectType.Player))
                {
                    _objects.Add(guid, new WoWPlayer(pointer));
                }
                else if (type.HasFlag(WoWObjectType.Unit))
                {
                    _objects.Add(guid, new WoWUnit(pointer));
                }
                else if (type.HasFlag(WoWObjectType.Container))
                {
                    _objects.Add(guid, new WoWContainer(pointer));
                }
                else if (type.HasFlag(WoWObjectType.Item))
                {
                    _objects.Add(guid, new WoWItem(pointer));
                }
                else if (type.HasFlag(WoWObjectType.Corpse))
                {
                    _objects.Add(guid, new WoWCorpse(pointer));
                }
                else if (type.HasFlag(WoWObjectType.GameObject))
                {
                    _objects.Add(guid, new WoWGameObject(pointer));
                }
                else if (type.HasFlag(WoWObjectType.DynamicObject))
                {
                    _objects.Add(guid, new WoWDynamicObject(pointer));
                }
                else
                {
                    _objects.Add(guid, obj);
                }
            }
            return(1);
        }
示例#2
0
 public WoWUnit(ulong guid, IntPtr pointer, WoWObjectType type)
     : base(guid, pointer, type)
 {
 }
示例#3
0

        
示例#4
0
 public WoWObject(ulong guid, IntPtr pointer, WoWObjectType type)
 {
     Guid    = guid;
     Pointer = pointer;
     Type    = type;
 }
 public ObjectEntryInfo(WoWObjectType type, WoWObjectTypes subtype)
 {
     Type    = type;
     SubType = subtype;
 }
示例#6
0
 internal WoWGameObject(ulong guid, IntPtr pointer, WoWObjectType type)
     : base(guid, pointer, type)
 {
 }