public override void DidPop() { var ident = new BeaconIdentifier("23A01AF0-232A-4518-9C0E-323FB773F5EF"); BeaconService.Instance.StopRangingBeacons(ident, "beaconpanel"); base.DidPop(); }
public void StartRanging(BeaconIdentifier beaconIdentifier, Action <BeaconIdentifier, IEnumerable <BeaconState> > onUpdate) { BeaconMonitorContext ctxt = new BeaconMonitorContext { BeaconIdentifier = beaconIdentifier, OnUpdate = onUpdate }; m_monitorBeacons[beaconIdentifier.IdentifierKey] = ctxt; }
public override void Populate() { var ident = new BeaconIdentifier("23A01AF0-232A-4518-9C0E-323FB773F5EF"); BeaconService.Instance.StartRangingBeacons(ident, "beaconpanel", (_ident, key, states) => { ThreadHelper.Instance.CallOnMainThread(() => { ReloadTable(); }); }); ReloadTable(); }
// Update is called once per frame void Update() { //Debug.Log("time=" + Time.time + "next fire time=" + m_nextFireTime); if (Time.time >= m_nextFireTime) { ListDictionary <string, BeaconState> proxStates = new ListDictionary <string, BeaconState>(); ListDictionary <BeaconMonitorContext, BeaconState> callContexts = new ListDictionary <BeaconMonitorContext, BeaconState>(); foreach (var b in GetComponentsInChildren <UnityBeacon>()) { var state = new BeaconState { Timestamp = DateTime.Now, ProximityUUID = b.ProximityUUID, Distance = b.Distance, MajorNumber = b.Major, MinorNumber = b.Minor }; proxStates.Add(b.ProximityUUID, state); var ident = new BeaconIdentifier(state.ProximityUUID, state.MajorNumber, state.MinorNumber); if (m_monitorBeacons.ContainsKey(ident.IdentifierKey)) { var ctxt = m_monitorBeacons[ident.IdentifierKey]; callContexts.Add(ctxt, state); } } foreach (var ctxt in callContexts.Keys) { ctxt.OnUpdate(ctxt.BeaconIdentifier, callContexts[ctxt]); } foreach (var proxId in proxStates.Keys) { var ident = new BeaconIdentifier(proxId, 0, 0); if (m_monitorBeacons.ContainsKey(ident.IdentifierKey)) { m_monitorBeacons[ident.IdentifierKey].OnUpdate(ident, proxStates[proxId]); } } m_nextFireTime += UpdateInterval; } }
public void StopRanging(BeaconIdentifier beaconIdentifier) { m_monitorBeacons.Remove(beaconIdentifier.IdentifierKey); }