示例#1
0
        private void SceneTransitionDidFinish()
        {
            Camera mainCamera = Camera.main;

            if (mainCamera)
            {
                SetCameraCullingMask(mainCamera);
            }

            PlayerAvatarManager?.OnSceneTransitioned(SceneManager.GetActiveScene());
        }
示例#2
0
        private void AvatarsLoaded(IReadOnlyList <CustomAvatar> loadedAvatars)
        {
            if (loadedAvatars.Count == 0)
            {
                Log("No custom avatars found in path " + Path.GetFullPath(CustomAvatarsPath));
                return;
            }

            var previousAvatarPath = PlayerPrefs.GetString(PreviousAvatarKey, null);
            var previousAvatar     = AvatarLoader.Avatars.FirstOrDefault(x => x.FullPath == previousAvatarPath);

            PlayerAvatarManager = new PlayerAvatarManager(AvatarLoader, previousAvatar);
            PlayerAvatarManager.AvatarChanged += PlayerAvatarManagerOnAvatarChanged;
        }
示例#3
0
 public void OnUpdate()
 {
     if (Input.GetKeyDown(KeyCode.PageDown))
     {
         PlayerAvatarManager?.SwitchToNextAvatar();
     }
     else if (Input.GetKeyDown(KeyCode.PageUp))
     {
         PlayerAvatarManager?.SwitchToPreviousAvatar();
     }
     else if (Input.GetKeyDown(KeyCode.Home))
     {
         FirstPersonEnabled = !FirstPersonEnabled;
     }
     else if (Input.GetKeyDown(KeyCode.F6))
     {
         IsTrackerAsHand = !IsTrackerAsHand;
     }
     else if (Input.GetKeyDown(KeyCode.F5))
     {
         IsFullBodyTracking = !IsFullBodyTracking;
     }
     else if (Input.GetKeyDown(KeyCode.End))
     {
         int policy = (int)Plugin.Instance.AvatarTailor.ResizePolicy + 1;
         if (policy > 2)
         {
             policy = 0;
         }
         Plugin.Instance.AvatarTailor.ResizePolicy = (AvatarTailor.ResizePolicyType)policy;
         Log($"Set Resize Policy to {Plugin.Instance.AvatarTailor.ResizePolicy}");
         Plugin.Instance.PlayerAvatarManager.ResizePlayerAvatar();
     }
     else if (Input.GetKeyDown(KeyCode.Insert))
     {
         if (Plugin.Instance.AvatarTailor.FloorMovePolicy == AvatarTailor.FloorMovePolicyType.AllowMove)
         {
             Plugin.Instance.AvatarTailor.FloorMovePolicy = AvatarTailor.FloorMovePolicyType.NeverMove;
         }
         else
         {
             Plugin.Instance.AvatarTailor.FloorMovePolicy = AvatarTailor.FloorMovePolicyType.AllowMove;
         }
         Log($"Set Floor Move Policy to {Plugin.Instance.AvatarTailor.FloorMovePolicy}");
         Plugin.Instance.PlayerAvatarManager.ResizePlayerAvatar();
     }
 }
示例#4
0
        private void AvatarsLoaded(IReadOnlyList <CustomAvatar> loadedAvatars)
        {
            if (loadedAvatars.Count == 0)
            {
                Log("No custom avatars found in path " + Path.GetFullPath(CustomAvatarsPath));
                return;
            }

            var previousAvatarPath = PlayerPrefs.GetString(PreviousAvatarKey, null);

            if (!File.Exists(previousAvatarPath))
            {
                previousAvatarPath = AvatarLoader.Avatars[0].FullPath;
            }

            var previousAvatar = AvatarLoader.Avatars.FirstOrDefault(x => x.FullPath == previousAvatarPath);

            PlayerAvatarManager = new PlayerAvatarManager(AvatarLoader, AvatarTailor, previousAvatar);
            PlayerAvatarManager.AvatarChanged += PlayerAvatarManagerOnAvatarChanged;
            IsFullBodyTracking = true;
        }
示例#5
0
 public void OnUpdate()
 {
     if (Input.GetKeyDown(KeyCode.PageUp))
     {
         if (PlayerAvatarManager == null)
         {
             return;
         }
         PlayerAvatarManager.SwitchToNextAvatar();
     }
     else if (Input.GetKeyDown(KeyCode.PageDown))
     {
         if (PlayerAvatarManager == null)
         {
             return;
         }
         PlayerAvatarManager.SwitchToPreviousAvatar();
     }
     else if (Input.GetKeyDown(KeyCode.Home))
     {
         FirstPersonEnabled = !FirstPersonEnabled;
     }
 }
示例#6
0
 public void OnUpdate()
 {
     if (Input.GetKeyDown(KeyCode.PageDown))
     {
         PlayerAvatarManager?.SwitchToNextAvatar();
     }
     else if (Input.GetKeyDown(KeyCode.PageUp))
     {
         PlayerAvatarManager?.SwitchToPreviousAvatar();
     }
     else if (Input.GetKeyDown(KeyCode.Home))
     {
         FirstPersonEnabled = !FirstPersonEnabled;
     }
     else if (Input.GetKeyDown(KeyCode.F6))
     {
         IsTrackerAsHand = !IsTrackerAsHand;
     }
     else if (Input.GetKeyDown(KeyCode.F5))
     {
         IsFullBodyTracking = !IsFullBodyTracking;
     }
 }