// called when the Plugin is deselected OR when Liv is being closed down. public void OnDeactivate() { PluginLog.Log("ActionCameraPlugin", "OnDeactivate "); ApplySettings?.Invoke(this, EventArgs.Empty); avatarRefSignal?.OnChanged.RemoveListener(OnAvatarChanged); avatarRefSignal = null; }
// Called when the Plugin is selected public void OnActivate(PluginCameraHelper helper) { PluginLog.Log("ActionCameraPlugin", "OnActivate"); timerHelper = new TimerHelper(); ConfigUtility utility = new ConfigUtility(_settings.configurationName); cameraDirector = new ActionCameraDirector(utility.Config, helper, ref timerHelper); AvatarManager avatarManager = Resources.FindObjectsOfTypeAll <AvatarManager>().FirstOrDefault(); avatarRefSignal = avatarManager?.GetPrivateField <AvatarReferenceSignal>("_avatarInstantiated"); avatarRefSignal?.OnChanged.AddListener(OnAvatarChanged); OnAvatarChanged(avatarRefSignal?.Value); }