Пример #1
0
        private void UpdateSubType(WoWObject obj)
        {
            SubType = WoWObjectTypes.Unknown;

            switch (Type)
            {
            case WoWObjectType.Unit:
            {
                WoWUnit unitobj = ((WoWUnit)obj);
                if (unitobj.IsVendor)
                {
                    SubType |= WoWObjectTypes.Vendor;
                }

                break;
            }

            case WoWObjectType.GameObject:
            {
                WoWGameObject     gameobj = ((WoWGameObject)obj);
                WoWGameObjectType subtype = gameobj.SubType;
                if (subtype == WoWGameObjectType.GarrisonShipment)
                {
                    SubType = WoWObjectTypes.GarrisonShipment;
                }
                else if (subtype == WoWGameObjectType.Mailbox)
                {
                    SubType = WoWObjectTypes.Mailbox;
                }

                break;
            }
            }
        }
Пример #2
0
 public static List <C_WoWUnit> GetWoWUnits(WoWObjectTypes type)
 {
     return
         (ObjectCollection.Values.OfType <C_WoWUnit>()
          .Where(obj => CheckFlag(obj.SubType, type) &&
                 !Blacklist.TempBlacklistGuids.Contains(obj.Guid) &&
                 obj.IsValid)
          .ToList());
 }
Пример #3
0
 public IEnumerable <C_WoWObject> GetObjectsOfSubType(WoWObjectTypes type)
 {
     foreach (var obj in _objects.Values)
     {
         if (ObjectCacheManager.CheckFlag(obj.SubType, type))
         {
             yield return(obj);
         }
     }
 }
Пример #4
0
 public static List <C_WoWGameObject> GetGameObjectsNearPoint(WoWPoint location, float maxdistance, WoWObjectTypes type)
 {
     return
         (ObjectCollection.Values.OfType <C_WoWGameObject>()
          .Where(obj => CheckFlag(obj.SubType, type) &&
                 location.Distance(obj.Location) <= maxdistance &&
                 !Blacklist.TempBlacklistGuids.Contains(obj.Guid))
          .OrderBy(o => location.Distance(o.Location)).ToList());
 }
Пример #5
0
 public static List <C_WoWObject> GetWoWObjects(WoWObjectTypes type)
 {
     //ObjectCacheManager.CheckFlag(SubType, WoWObjectTypes.Herb)
     return(ObjectCollection.Values.Where(obj => CheckFlag(obj.SubType, type) && !Blacklist.TempBlacklistGuids.Contains(obj.Guid)).ToList());
 }
Пример #6
0
 internal static bool CheckFlag(WoWObjectTypes property, WoWObjectTypes flag)
 {
     return((property & flag) != 0);
 }
Пример #7
0
 public ObjectEntryInfo(WoWObjectType type, WoWObjectTypes subtype)
 {
     Type    = type;
     SubType = subtype;
 }
Пример #8
0
 public ObjectEntryInfo()
 {
     Type    = WoWObjectType.None;
     SubType = WoWObjectTypes.Unknown;
 }