Loading...
Searching...
No Matches
LocationWindowBuildingExample.swift
Go to the documentation of this file.
1/**
2 * Building and BuildingListener usage example for Swift (outdoor / multi-building camera focus).
3 */
4class LocationWindowBuildingExample {
5
6 private var locationWindow: NCLocationWindow?
7 private var buildingListener: DemoBuildingListener?
8
9 init() {
10 demonstrateBuildingListenerRegistration()
11 }
12
13 private func demonstrateBuildingListenerRegistration() {
14 guard let locationWindow = locationWindow else {
15 print("LocationWindow not available yet")
16 return
17 }
18
19 let listener = DemoBuildingListener()
20 buildingListener = listener
21
22 // [swift_LocationWindow_addBuildingListener]
23 locationWindow.addBuildingListener(listener)
24 print("Added building listener")
25 // [swift_LocationWindow_addBuildingListener]
26
27 // [swift_LocationWindow_removeBuildingListener]
28 locationWindow.removeBuildingListener(listener)
29 print("Removed building listener")
30 // [swift_LocationWindow_removeBuildingListener]
31 }
32}
33
34class DemoBuildingListener: NSObject, BuildingListener {
35
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]
42
43 // [swift_Building_getActiveSublocationId]
44 let activeFloorId = activeBuilding.getActiveSublocationId()
45 print("Active sublocation id: \‍(activeFloorId)")
46 // [swift_Building_getActiveSublocationId]
47
48 // [swift_Building_setActiveSublocationId]
49 activeBuilding.setActiveSublocationId(activeFloorId)
50 // [swift_Building_setActiveSublocationId]
51 }
52 // [swift_BuildingListener_onActiveBuildingFocused]
53
54 // [swift_BuildingListener_onActiveBuildingLeft]
55 func onActiveBuildingLeft() {
56 print("Camera left all building areas")
57 }
58 // [swift_BuildingListener_onActiveBuildingLeft]
59
60 // [swift_BuildingListener_onActiveSublocationChanged]
61 func onActiveSublocationChanged(_ activeSublocationId: Int32) {
62 print("Active floor changed to sublocation id: \‍(activeSublocationId)")
63 }
64 // [swift_BuildingListener_onActiveSublocationChanged]
65}