Loading...
Searching...
No Matches
LocationWindowBuildingExample.m
Go to the documentation of this file.
1#import <Foundation/Foundation.h>
2#import <NavigineSDK/NavigineSDK.h>
3
4@interface DemoBuildingListener : NSObject <NCBuildingListener>
5@end
6
7@implementation DemoBuildingListener
8
9// [objc_BuildingListener_onActiveBuildingFocused]
10- (void)onActiveBuildingFocused:(id<NCBuilding>)activeBuilding {
11 // [objc_Building_getSublocations]
12 NSArray<id<NCSublocation>> *floors = [activeBuilding getSublocations];
13 NSLog(@"Focused building, floor count: %lu", (unsigned long)floors.count);
14 // [objc_Building_getSublocations]
15
16 // [objc_Building_getActiveSublocationId]
17 int32_t activeFloorId = [activeBuilding getActiveSublocationId];
18 NSLog(@"Active sublocation id: %d", activeFloorId);
19 // [objc_Building_getActiveSublocationId]
20
21 // [objc_Building_setActiveSublocationId]
22 [activeBuilding setActiveSublocationId:activeFloorId];
23 // [objc_Building_setActiveSublocationId]
24}
25// [objc_BuildingListener_onActiveBuildingFocused]
26
27// [objc_BuildingListener_onActiveBuildingLeft]
28- (void)onActiveBuildingLeft {
29 NSLog(@"Camera left all building areas");
30}
31// [objc_BuildingListener_onActiveBuildingLeft]
32
33// [objc_BuildingListener_onActiveSublocationChanged]
34- (void)onActiveSublocationChanged:(int32_t)activeSublocationId {
35 NSLog(@"Active floor changed to sublocation id: %d", activeSublocationId);
36}
37// [objc_BuildingListener_onActiveSublocationChanged]
38
39@end
40
41@interface LocationWindowBuildingExample : NSObject
42@property (nonatomic, strong) NCLocationWindow *locationWindow;
43@property (nonatomic, strong) DemoBuildingListener *buildingListener;
44@end
45
46@implementation LocationWindowBuildingExample
47
48- (instancetype)init {
49 self = [super init];
50 if (self) {
51 [self demonstrateBuildingListenerRegistration];
52 }
53 return self;
54}
55
56- (void)demonstrateBuildingListenerRegistration {
57 if (_locationWindow == nil) {
58 NSLog(@"LocationWindow not available yet");
59 return;
60 }
61
62 _buildingListener = [[DemoBuildingListener alloc] init];
63
64 // [objc_LocationWindow_addBuildingListener]
65 [_locationWindow addBuildingListener:_buildingListener];
66 NSLog(@"Added building listener");
67 // [objc_LocationWindow_addBuildingListener]
68
69 // [objc_LocationWindow_removeBuildingListener]
70 [_locationWindow removeBuildingListener:_buildingListener];
71 NSLog(@"Removed building listener");
72 // [objc_LocationWindow_removeBuildingListener]
73}
74
75@end