void locationMgr_DidRangeBeacons(object sender, CLRegionBeaconsRangedEventArgs e) { if (EnteredRange != null) { if (e.Beacons.Length > 0) { IBRangeEventArgs iba = new IBRangeEventArgs(); iba.Region = new IBRegion(e.Region.Major, e.Region.Minor, e.Region.ProximityUuid.ToString(), e.Region.Identifier); iba.Beacons = new List<IBBeacon>(); foreach (CLBeacon b in e.Beacons) { int proximity = 0; switch(b.Proximity) { case CLProximity.Immediate: proximity = (int)IBProximityType.Immediate; break; case CLProximity.Near: proximity = (int)IBProximityType.Near; break; case CLProximity.Far: proximity = (int)IBProximityType.Far; break; case CLProximity.Unknown: proximity = (int)IBProximityType.Unknown; break; } iba.Beacons.Add(new IBBeacon() { Accuracy = b.Accuracy, Major = (int)b.Major, Minor = (int)b.Minor, Proximity = proximity, ProximityUuid = b.ProximityUuid.ToString(), Rssi = b.Rssi }); } EnteredRange(sender, iba); } } }
void EnteredRangeHandler(object sender, RangeEventArgs e) { if (EnteredRange != null) { IBRangeEventArgs iba = new IBRangeEventArgs(); iba.Region = new IBRegion(e.Region.Major, e.Region.Minor, e.Region.ProximityUuid, e.Region.UniqueId); iba.Beacons = new List<IBBeacon>(); foreach (IBeacon b in e.Beacons) { iba.Beacons.Add(new IBBeacon() { Accuracy = b.Accuracy, Major = b.Major, Minor = b.Minor, Proximity = b.Proximity, ProximityUuid = b.ProximityUuid, Rssi = b.Rssi }); } EnteredRange(sender, iba); } }