static bool Prefix(ReplayCameraController __instance)
        {
            // if not presset, skip
            PatchData.Instance.FreeInput(__instance);

            return(true);
        }
示例#2
0
 public void FreeInput(ReplayCameraController replayCameraController)
 {
     if (Input.GetKey(KeyCode.LeftControl))
     {
         InputPosition();
         InputRotation();
         InputFOV();
         InputKeyFrames(replayCameraController);
     }
 }
示例#3
0
 private void Awake()
 {
     gameTimer                   = FindObjectOfType <Timer>();
     replayController            = FindObjectOfType <ReplayController>();
     replayCameraController      = FindObjectOfType <ReplayCameraController>();
     frozenGameObjectsVelocities = new Vector3[gameObjectsToFreezeOnPause.Count];
     if (enableDebug)
     {
         dbgInfo = gameObject.AddComponent <DebugInformation>(); //Only adds the component if the checkbox is true on Inspector.
     }
 }
        static bool Prefix(ReplayCameraController __instance)
        {
            // update the value only if the slider is enabled
            if (PatchData.Instance.cameraController.override_fov == false)
            {
                float num = -PlayerController.Instance.inputController.player.GetAxis("LeftStickY");
                if (Mathf.Abs(num) > 0.01)
                {
                    // limit value between 1 and 179
                    var new_fov = PatchData.Instance.cameraController.replay_fov + num * __instance.FOVChangeSpeed * Time.unscaledDeltaTime;
                    new_fov = Mathf.Max(1, Mathf.Min(179, new_fov));

                    PatchData.Instance.UpdateReplayFov(new_fov);
                }
            }
            return(false);
        }
示例#5
0
        static bool Prefix(ReplayCameraController __instance)
        {
            // update the value only if the slider is enabled
            if (!CustomCameraController.Instance.override_fov)
            {
                float num = -PlayerController.Instance.inputController.player.GetAxis(20);
                if ((double)Mathf.Abs(num) > 0.01)
                {
                    CinemachineVirtualCamera virtualCamera = __instance.VirtualCamera;
                    var new_fov = CustomCameraController.Instance.replay_fov + num * __instance.FOVChangeSpeed * Time.unscaledDeltaTime;
                    new_fov = Mathf.Max(1, Mathf.Min(179, new_fov));

                    CustomCameraController.Instance.replay_fov = new_fov;
                    ReplayFovUI.Instance.fov.OverrideValue(new_fov);
                }
            }
            return(false);
        }
示例#6
0
        private void InputKeyFrames(ReplayCameraController replayCameraController)
        {
            // started pressing
            if (Input.GetMouseButtonDown(1))
            {
                xDownTime = Time.unscaledTime;
            }

            // still pressed after 1.5 seconds
            if (Input.GetMouseButton(1) && Time.unscaledTime - xDownTime > 1.5f)
            {
                if (deleteKeyFrameTraverse == null)
                {
                    deleteKeyFrameTraverse = Traverse.Create(replayCameraController).Method("DeleteKeyFrameAtCurrentPosition", new Type[] { typeof(float) });
                }
                deleteKeyFrameTraverse.GetValue(ReplayEditorController.Instance.PlaybackTime);
                replayCameraController.keyframeUI.UpdateKeyframes(replayCameraController.keyFrames);
            }

            // released in less than 0.5 seconds
            if (Input.GetMouseButtonUp(1) && Time.unscaledTime - xDownTime < 0.5f)
            {
                if (addKeyFrameTraverse == null)
                {
                    addKeyFrameTraverse = Traverse.Create(replayCameraController).Method("AddKeyFrame", new Type[] { typeof(float) });
                }
                if (addKeyFrameTraverse.MethodExists())
                {
                    Logger.Log("Method found");
                    addKeyFrameTraverse.GetValue(ReplayEditorController.Instance.PlaybackTime);
                    replayCameraController.keyframeUI.UpdateKeyframes(replayCameraController.keyFrames);
                }
                else
                {
                    Logger.Log("No method found");
                }
            }
        }