protected override void OnAwake() { base.OnAwake(); Entity.Components.AddComponent(new NearbySubscribers()); presenceSceneProvider = Entity.Components.GetComponent <IPresenceSceneProvider>().AssertNotNull(); SubscribeToPositionChanged(); }
protected override void OnAwake() { base.OnAwake(); positionTransform = Entity.Components.GetComponent <IPositionTransform>().AssertNotNull(); presenceSceneProvider = Entity.Components.GetComponent <IPresenceSceneProvider>().AssertNotNull(); var presenceSceneChangesNotifier = Entity.Components.GetComponent <IPresenceSceneChangesNotifier>().AssertNotNull(); presenceSceneChangesNotifier.SceneChanged += OnSceneChanged; var executor = presenceSceneProvider.GetScene().Components.GetComponent <ISceneOrderExecutor>().AssertNotNull(); updatePosition = executor.GetPreUpdateExecutor().StartCoroutine(UpdatePosition()); }