2 * Building and BuildingListener usage example for Swift (outdoor / multi-building camera focus).
4class LocationWindowBuildingExample {
6 private var locationWindow: NCLocationWindow?
7 private var buildingListener: DemoBuildingListener?
10 demonstrateBuildingListenerRegistration()
13 private func demonstrateBuildingListenerRegistration() {
14 guard let locationWindow = locationWindow else {
15 print("LocationWindow not available yet")
19 let listener = DemoBuildingListener()
20 buildingListener = listener
22 // [swift_LocationWindow_addBuildingListener]
23 locationWindow.addBuildingListener(listener)
24 print("Added building listener")
25 // [swift_LocationWindow_addBuildingListener]
27 // [swift_LocationWindow_removeBuildingListener]
28 locationWindow.removeBuildingListener(listener)
29 print("Removed building listener")
30 // [swift_LocationWindow_removeBuildingListener]
34class DemoBuildingListener: NSObject, BuildingListener {
36 // [swift_BuildingListener_onActiveBuildingFocused]
37 func onActiveBuildingFocused(_ activeBuilding: Building) {
38 // [swift_Building_getSublocations]
39 let floors = activeBuilding.getSublocations()
40 print("Focused building, floor count: \(floors.count)")
41 // [swift_Building_getSublocations]
43 // [swift_Building_getActiveSublocationId]
44 let activeFloorId = activeBuilding.getActiveSublocationId()
45 print("Active sublocation id: \(activeFloorId)")
46 // [swift_Building_getActiveSublocationId]
48 // [swift_Building_setActiveSublocationId]
49 activeBuilding.setActiveSublocationId(activeFloorId)
50 // [swift_Building_setActiveSublocationId]
52 // [swift_BuildingListener_onActiveBuildingFocused]
54 // [swift_BuildingListener_onActiveBuildingLeft]
55 func onActiveBuildingLeft() {
56 print("Camera left all building areas")
58 // [swift_BuildingListener_onActiveBuildingLeft]
60 // [swift_BuildingListener_onActiveSublocationChanged]
61 func onActiveSublocationChanged(_ activeSublocationId: Int32) {
62 print("Active floor changed to sublocation id: \(activeSublocationId)")
64 // [swift_BuildingListener_onActiveSublocationChanged]