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; } } }
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()); }
public IEnumerable <C_WoWObject> GetObjectsOfSubType(WoWObjectTypes type) { foreach (var obj in _objects.Values) { if (ObjectCacheManager.CheckFlag(obj.SubType, type)) { yield return(obj); } } }
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()); }
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()); }
internal static bool CheckFlag(WoWObjectTypes property, WoWObjectTypes flag) { return((property & flag) != 0); }
public ObjectEntryInfo(WoWObjectType type, WoWObjectTypes subtype) { Type = type; SubType = subtype; }
public ObjectEntryInfo() { Type = WoWObjectType.None; SubType = WoWObjectTypes.Unknown; }