void LeaveFollowUserMode() { if (!string.IsNullOrEmpty(m_FollowUserIDSelector?.GetValue())) { var followUserData = new FollowUserAction.FollowUserData(); followUserData.matchmakerId = ""; followUserData.visualRepresentationGameObject = null; Dispatcher.Dispatch(FollowUserAction.From(followUserData)); } }
IEnumerator FollowObjectUpdate() { while (m_IsFollowingGetter.GetValue()) { if (IsObjectValid(m_UserObjectGetter.GetValue())) { m_Camera.TransformTo(m_UserObjectGetter.GetValue().transform); yield return(null); } else { var followUserData = new FollowUserAction.FollowUserData(); followUserData.matchmakerId = ""; followUserData.visualRepresentationGameObject = null; Dispatcher.Dispatch(FollowUserAction.From(followUserData)); } } }
void ToggleFollowUserTool() { var networkUserData = m_UsersSelector.GetValue().Find(user => user.matchmakerId == MatchmakerId); if (m_NavigationModeSelector.GetValue() == SetNavigationModeAction.NavigationMode.VR) { if (!ReferenceEquals(networkUserData.visualRepresentation, null)) { Dispatcher.Dispatch(TeleportAction.From(networkUserData.visualRepresentation.transform.position)); } } else { Dispatcher.Dispatch(SetWalkEnableAction.From(false)); var followUserData = new FollowUserAction.FollowUserData(); followUserData.matchmakerId = networkUserData.matchmakerId; followUserData.visualRepresentationGameObject = networkUserData.visualRepresentation.gameObject; Dispatcher.Dispatch(FollowUserAction.From(followUserData)); Dispatcher.Dispatch(SetDeltaDNAButtonAction.From($"FollowUser")); } }