Advertisement
Guest User

CM3D2CameraUtility.Plugin

a guest
Aug 20th, 2015
4,878
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 23.21 KB | None | 0 0
  1. using System;
  2. using System.Reflection;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using UnityEngine;
  7. using UnityInjector;
  8. using UnityInjector.Attributes;
  9.  
  10. namespace CM3D2CameraUtility
  11. {
  12.     [PluginFilter("CM3D2x64"),
  13.     PluginFilter("CM3D2x86"),
  14.     PluginFilter("CM3D2VRx64"),
  15.     PluginName("Camera Utility"),
  16.     PluginVersion("2.0.1.1")]
  17.  
  18.     public class CameraUtility : PluginBase
  19.     {
  20.         //移動関係キー設定
  21.         private KeyCode bgLeftMoveKey = KeyCode.LeftArrow;
  22.         private KeyCode bgRightMoveKey = KeyCode.RightArrow;
  23.         private KeyCode bgForwardMoveKey = KeyCode.UpArrow;
  24.         private KeyCode bgBackMoveKey = KeyCode.DownArrow;
  25.         private KeyCode bgUpMoveKey = KeyCode.PageUp;
  26.         private KeyCode bgDownMoveKey = KeyCode.PageDown;
  27.         private KeyCode bgLeftRotateKey = KeyCode.Delete;
  28.         private KeyCode bgRightRotateKey = KeyCode.End;
  29.         private KeyCode bgLeftPitchKey = KeyCode.Insert;
  30.         private KeyCode bgRightPitchKey = KeyCode.Home;
  31.         private KeyCode bgInitializeKey = KeyCode.Backspace;
  32.  
  33.         //VR用移動関係キー設定
  34.         private KeyCode bgLeftMoveKeyVR = KeyCode.J;
  35.         private KeyCode bgRightMoveKeyVR = KeyCode.L;
  36.         private KeyCode bgForwardMoveKeyVR = KeyCode.I;
  37.         private KeyCode bgBackMoveKeyVR = KeyCode.K;
  38.         private KeyCode bgUpMoveKeyVR = KeyCode.Alpha0;
  39.         private KeyCode bgDownMoveKeyVR = KeyCode.P;
  40.         private KeyCode bgLeftRotateKeyVR = KeyCode.U;
  41.         private KeyCode bgRightRotateKeyVR = KeyCode.O;
  42.         private KeyCode bgLeftPitchKeyVR = KeyCode.Alpha8;
  43.         private KeyCode bgRightPitchKeyVR = KeyCode.Alpha9;
  44.         private KeyCode bgInitializeKeyVR = KeyCode.Backspace;
  45.  
  46.         //カメラ操作関係キー設定
  47.         private KeyCode cameraLeftPitchKey = KeyCode.Period;
  48.         private KeyCode cameraRightPitchKey = KeyCode.Backslash;
  49.         private KeyCode cameraPitchInitializeKey = KeyCode.Slash;
  50.         private KeyCode cameraFoVPlusKey = KeyCode.RightBracket;
  51.         //Equalsになっているが日本語キーボードだとセミコロン
  52.         private KeyCode cameraFoVMinusKey = KeyCode.Equals;
  53.         //Semicolonになっているが日本語キーボードだとコロン
  54.         private KeyCode cameraFoVInitializeKey = KeyCode.Semicolon;
  55.  
  56.         //こっち見てキー設定
  57.         private KeyCode eyetoCamToggleKey = KeyCode.G;
  58.         private KeyCode eyetoCamChangeKey = KeyCode.T;
  59.  
  60.         //夜伽UI消しキー設定
  61.         private KeyCode hideUIToggleKey = KeyCode.Tab;
  62.  
  63.         //FPSモード切替キー設定
  64.         private KeyCode cameraFPSModeToggleKey = KeyCode.F;
  65.  
  66.         //TimeScale変更関係キー設定
  67.         private KeyCode timeScalePlusKey = KeyCode.LeftBracket;
  68.         private KeyCode timeScaleMinusKey = KeyCode.P;
  69.         private KeyCode timeScaleInitialize = KeyCode.BackQuote;
  70.         private KeyCode timeScaleZero = KeyCode.O;
  71.  
  72.         private enum modKey
  73.         {
  74.             Shift,
  75.             Alt,
  76.             Ctrl
  77.         }
  78.  
  79.         private Maid maid;
  80.         private CameraMain mainCamera;
  81.         private Transform mainCameraTransform;
  82.         private Transform maidTransform;
  83.         private Transform bg;
  84.         private GameObject manBipHead;
  85.         private GameObject smManHead;
  86.         private GameObject manHead;
  87.         private GameObject uiObject;
  88.  
  89.         private float defaultFOV = 35f;
  90.         private bool allowUpdate = false;
  91.         private bool occulusVR = false;
  92.         private bool fpsMode = false;
  93.         private bool eyetoCamToggle = false;
  94.  
  95.         private float cameraRotateSpeed = 1f;
  96.         private float cameraFOVChangeSpeed = 0.25f;
  97.         private float floorMoveSpeed = 0.05f;
  98.         private float maidRotateSpeed = 2f;
  99.         private float fpsModeFoV = 60f;
  100.  
  101.         private int sceneLevel;
  102.         private int frameCount = 0;
  103.  
  104.         private float fpsOffsetForward = 0.02f;
  105.         private float fpsOffsetUp = -0.06f;
  106.         private float fpsOffsetRight = 0f;
  107.  
  108.         //private float fpsOffsetForward = 0.02f;
  109.  
  110.         ////以下の数値だと男の目の付近にカメラが移動しますが
  111.         ////うちのメイドはデフォで顔ではなく喉元見てるのであんまりこっち見てくれません
  112.         //private float fpsOffsetForward = 0.1f;
  113.         //private float fpsOffsetUp = 0.12f;
  114.  
  115.         private Vector3 oldPos;
  116.         private Vector3 oldTargetPos;
  117.         private float oldDistance;
  118.         private float oldFoV;
  119.         private Quaternion oldRotation;
  120.  
  121.         private bool oldEyetoCamToggle;
  122.         private int eyeToCamIndex = 0;
  123.  
  124.         private bool uiVisible = true;
  125.         private GameObject profilePanel;
  126.  
  127.         public void Awake()
  128.         {
  129.             GameObject.DontDestroyOnLoad(this);
  130.  
  131.             string path = Application.dataPath;
  132.             occulusVR = path.Contains("CM3D2VRx64");
  133.             if (occulusVR)
  134.             {
  135.                 bgLeftMoveKey = bgLeftMoveKeyVR;
  136.                 bgRightMoveKey = bgRightMoveKeyVR;
  137.                 bgForwardMoveKey = bgForwardMoveKeyVR;
  138.                 bgBackMoveKey = bgBackMoveKeyVR;
  139.                 bgUpMoveKey = bgUpMoveKeyVR;
  140.                 bgDownMoveKey = bgDownMoveKeyVR;
  141.                 bgLeftRotateKey = bgLeftRotateKeyVR;
  142.                 bgRightRotateKey = bgRightRotateKeyVR;
  143.                 bgLeftPitchKey = bgLeftPitchKeyVR;
  144.                 bgRightPitchKey = bgRightPitchKeyVR;
  145.                 bgInitializeKey = bgInitializeKeyVR;
  146.             }
  147.         }
  148.  
  149.         public void Start()
  150.         {
  151.             mainCameraTransform = Camera.main.gameObject.transform;
  152.         }
  153.  
  154.         public void OnLevelWasLoaded(int level)
  155.         {
  156.             sceneLevel = level;
  157.  
  158.             maid = GameMain.Instance.CharacterMgr.GetMaid(0);
  159.  
  160.             if (maid)
  161.             {
  162.                 maidTransform = maid.body0.transform;
  163.             }
  164.  
  165.             bg = GameObject.Find("__GameMain__/BG").transform;
  166.  
  167.             mainCamera = GameMain.Instance.MainCamera;
  168.  
  169.             if (maid && bg && maidTransform)
  170.             {
  171.                 allowUpdate = true;
  172.             }
  173.             else
  174.             {
  175.                 allowUpdate = false;
  176.             }
  177.  
  178.             if (occulusVR)
  179.             {
  180.                 uiObject = GameObject.Find("ovr_screen");
  181.             }
  182.             else
  183.             {
  184.                 uiObject = GameObject.Find("/UI Root/Camera");
  185.                 defaultFOV = Camera.main.fieldOfView;
  186.             }
  187.  
  188.             if (level == 5)
  189.             {
  190.                 GameObject uiRoot = GameObject.Find("/UI Root");
  191.                 profilePanel = uiRoot.transform.Find("ProfilePanel").gameObject;
  192.             }
  193.             else if (level == 12)
  194.             {
  195.                 GameObject uiRoot = GameObject.Find("/UI Root");
  196.                 profilePanel = uiRoot.transform.Find("UserEditPanel").gameObject;
  197.             }
  198.             fpsMode = false;
  199.         }
  200.  
  201.         private bool getModKeyPressing(modKey key)
  202.         {
  203.             switch (key)
  204.             {
  205.                 case modKey.Shift:
  206.                     return (Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift));
  207.                 case modKey.Alt:
  208.                     return (Input.GetKey(KeyCode.LeftAlt) || Input.GetKey(KeyCode.RightAlt));
  209.                 case modKey.Ctrl:
  210.                     return (Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.RightControl));
  211.                 default:
  212.                     return false;
  213.             }
  214.         }
  215.  
  216.         private void SaveCameraPos()
  217.         {
  218.             oldPos = mainCamera.GetPos();
  219.             oldTargetPos = mainCamera.GetTargetPos();
  220.             oldDistance = mainCamera.GetDistance();
  221.             oldRotation = mainCameraTransform.rotation;
  222.             oldFoV = Camera.main.fieldOfView;
  223.         }
  224.  
  225.         private void LoadCameraPos()
  226.         {
  227.             mainCameraTransform.rotation = oldRotation;
  228.             mainCamera.SetPos(oldPos);
  229.             mainCamera.SetTargetPos(oldTargetPos, true);
  230.             mainCamera.SetDistance(oldDistance, true);
  231.             Camera.main.fieldOfView = oldFoV;
  232.         }
  233.  
  234.         private Vector3 GetYotogiPlayPosition()
  235.         {
  236.             var field = mainCamera.GetType().GetField("m_vCenter", BindingFlags.GetField | BindingFlags.NonPublic | BindingFlags.Instance);
  237.             return (Vector3)field.GetValue(mainCamera);
  238.         }
  239.  
  240.         private void FirstPersonCamera()
  241.         {
  242.             if (sceneLevel == 14)
  243.             {
  244.                 if (!manHead)
  245.                 {
  246.                     if (frameCount == 60)
  247.                     {
  248.                         manBipHead = GameObject.Find("__GameMain__/Character/Active/AllOffset/Man[0]/Offset/_BO_mbody/ManBip/ManBip Spine/ManBip Spine1/ManBip Spine2/ManBip Neck/ManBip Head");
  249.                         Transform[] manHedas = manBipHead.GetComponentsInChildren<Transform>();
  250.  
  251.                         if (manBipHead)
  252.                         {
  253.                             foreach (Transform t in manHedas)
  254.                             {
  255.                                 if (t.name.IndexOf("_SM_mhead") > -1)
  256.                                 {
  257.                                     smManHead = t.gameObject;
  258.                                 }
  259.                             }
  260.                         }
  261.                         if (smManHead)
  262.                         {
  263.                             foreach (Transform t in smManHead.transform)
  264.                             {
  265.                                 if (t.name.IndexOf("ManHead") > -1)
  266.                                 {
  267.                                     manHead = t.gameObject;
  268.                                 }
  269.                             }
  270.  
  271.                         }
  272.                         frameCount = 0;
  273.                     }
  274.                     else
  275.                     {
  276.                         frameCount++;
  277.                     }
  278.                 }
  279.                 else
  280.                 {
  281.                     if (occulusVR)
  282.                     {
  283.                         if (Input.GetKeyDown(cameraFPSModeToggleKey))
  284.                         {
  285.                             //    eyetoCamToggle = false;
  286.                             //    maid.EyeToCamera(Maid.EyeMoveType.無し, 0f);
  287.                             Vector3 localPos = uiObject.transform.localPosition;
  288.                             mainCamera.SetPos(manHead.transform.position);
  289.                             uiObject.transform.position = manHead.transform.position;
  290.                             uiObject.transform.localPosition = localPos;
  291.  
  292.                         }
  293.                     }
  294.                     else
  295.                     {
  296.                         if (Input.GetKeyDown(cameraFPSModeToggleKey))
  297.                         {
  298.                             fpsMode = !fpsMode;
  299.                             Console.WriteLine("fpsmode = " + fpsMode.ToString());
  300.                             if (fpsMode)
  301.                             {
  302.                                 SaveCameraPos();
  303.  
  304.                                 Camera.main.fieldOfView = fpsModeFoV;
  305.                                 eyetoCamToggle = false;
  306.                                 maid.EyeToCamera(Maid.EyeMoveType.無し, 0f);
  307.  
  308.                                 mainCameraTransform.rotation = Quaternion.LookRotation(-manHead.transform.up);
  309.  
  310.                                     manHead.renderer.enabled = false;
  311.  
  312.                             }
  313.                             else
  314.                             {
  315.                                 Vector3 cameraTargetPosFromScript = GetYotogiPlayPosition();
  316.  
  317.                                 if (oldTargetPos != cameraTargetPosFromScript)
  318.                                 {
  319.                                     Console.WriteLine("Position Changed!");
  320.                                     oldTargetPos = cameraTargetPosFromScript;
  321.                                 }
  322.                                 manHead.renderer.enabled = true;
  323.  
  324.                                 LoadCameraPos();
  325.                                 eyetoCamToggle = oldEyetoCamToggle;
  326.                                 oldEyetoCamToggle = eyetoCamToggle;
  327.                             }
  328.                         }
  329.                         if (fpsMode)
  330.                         {
  331.                             Vector3 cameraTargetPosFromScript = GetYotogiPlayPosition();
  332.                             if (oldTargetPos != cameraTargetPosFromScript)
  333.                             {
  334.                                 Console.WriteLine("Position Changed!");
  335.                                 mainCameraTransform.rotation = Quaternion.LookRotation(-manHead.transform.up);
  336.                                 oldTargetPos = cameraTargetPosFromScript;
  337.  
  338.                             }
  339.  
  340.                             mainCamera.SetPos(manHead.transform.position + manHead.transform.up * fpsOffsetUp + manHead.transform.right * fpsOffsetRight + manHead.transform.forward * fpsOffsetForward);
  341.                             mainCamera.SetTargetPos(manHead.transform.position + manHead.transform.up * fpsOffsetUp + manHead.transform.right * fpsOffsetRight + manHead.transform.forward * fpsOffsetForward, true);
  342.                             mainCamera.SetDistance(0f, true);
  343.  
  344.                         }
  345.                     }
  346.                 }
  347.             }
  348.         }
  349.  
  350.         private void ExtendedCameraHandle()
  351.         {
  352.             if (!occulusVR)
  353.             {
  354.                 if (mainCameraTransform)
  355.                 {
  356.                     if (Input.GetKey(cameraFoVMinusKey))
  357.                     {
  358.                         Camera.main.fieldOfView += -cameraFOVChangeSpeed;
  359.                     }
  360.                     if (Input.GetKey(cameraFoVInitializeKey))
  361.                     {
  362.                         Camera.main.fieldOfView = defaultFOV;
  363.                     }
  364.                     if (Input.GetKey(cameraFoVPlusKey))
  365.                     {
  366.                         Camera.main.fieldOfView += cameraFOVChangeSpeed;
  367.                     }
  368.                     if (Input.GetKey(cameraLeftPitchKey))
  369.                     {
  370.                         mainCameraTransform.Rotate(0, 0, cameraRotateSpeed);
  371.                     }
  372.                     if (Input.GetKey(cameraPitchInitializeKey))
  373.                     {
  374.                         mainCameraTransform.eulerAngles = new Vector3(
  375.                             mainCameraTransform.rotation.eulerAngles.x,
  376.                             mainCameraTransform.rotation.eulerAngles.y,
  377.                             0f);
  378.                     }
  379.                     if (Input.GetKey(cameraRightPitchKey))
  380.                     {
  381.                         mainCameraTransform.Rotate(0, 0, -cameraRotateSpeed);
  382.                     }
  383.                 }
  384.             }
  385.         }
  386.  
  387.         private void FloorMover(float moveSpeed, float rotateSpeed)
  388.         {
  389.             if (bg)
  390.             {
  391.                 Vector3 cameraForward = mainCameraTransform.TransformDirection(Vector3.forward);
  392.                 Vector3 cameraRight = mainCameraTransform.TransformDirection(Vector3.right);
  393.                 Vector3 cameraUp = mainCameraTransform.TransformDirection(Vector3.up);
  394.  
  395.                 Vector3 direction = Vector3.zero;
  396.  
  397.                 if (Input.GetKey(bgLeftMoveKey))
  398.                 {
  399.                     direction += new Vector3(cameraRight.x, 0f, cameraRight.z) * moveSpeed;
  400.                 }
  401.                 if (Input.GetKey(bgRightMoveKey))
  402.                 {
  403.                     direction += new Vector3(cameraRight.x, 0f, cameraRight.z) * -moveSpeed;
  404.                 }
  405.                 if (Input.GetKey(bgBackMoveKey))
  406.                 {
  407.                     direction += new Vector3(cameraForward.x, 0f, cameraForward.z) * moveSpeed;
  408.                 }
  409.                 if (Input.GetKey(bgForwardMoveKey))
  410.                 {
  411.                     direction += new Vector3(cameraForward.x, 0f, cameraForward.z) * -moveSpeed;
  412.                 }
  413.                 if (Input.GetKey(bgUpMoveKey))
  414.                 {
  415.                     direction += new Vector3(0f, cameraUp.y, 0f) * -moveSpeed;
  416.                 }
  417.                 if (Input.GetKey(bgDownMoveKey))
  418.                 {
  419.                     direction += new Vector3(0f, cameraUp.y, 0f) * moveSpeed;
  420.                 }
  421.  
  422.                 bg.localPosition += direction;
  423.  
  424.                 if (Input.GetKey(bgLeftRotateKey))
  425.                 {
  426.                     bg.RotateAround(maidTransform.transform.position, Vector3.up, rotateSpeed);
  427.                 }
  428.                 if (Input.GetKey(bgRightRotateKey))
  429.                 {
  430.                     bg.RotateAround(maidTransform.transform.position, Vector3.up, -rotateSpeed);
  431.                 }
  432.                 if (Input.GetKey(bgLeftPitchKey))
  433.                 {
  434.                     bg.RotateAround(maidTransform.transform.position, new Vector3(cameraForward.x, 0f, cameraForward.z), rotateSpeed);
  435.                 }
  436.                 if (Input.GetKey(bgRightPitchKey))
  437.                 {
  438.                     bg.RotateAround(maidTransform.transform.position, new Vector3(cameraForward.x, 0f, cameraForward.z), -rotateSpeed);
  439.                 }
  440.  
  441.                 if (getModKeyPressing(modKey.Alt) && (Input.GetKey(bgLeftRotateKey) || Input.GetKey(bgRightRotateKey)))
  442.                 {
  443.                     bg.RotateAround(maidTransform.position, Vector3.up, -bg.rotation.eulerAngles.y);
  444.                 }
  445.                 if (getModKeyPressing(modKey.Alt) && (Input.GetKey(bgLeftPitchKey) || Input.GetKey(bgRightPitchKey)))
  446.                 {
  447.                     bg.RotateAround(maidTransform.position, Vector3.forward, -bg.rotation.eulerAngles.z);
  448.                     bg.RotateAround(maidTransform.position, Vector3.right, -bg.rotation.eulerAngles.x);
  449.                 }
  450.                 if (getModKeyPressing(modKey.Alt) && (Input.GetKey(bgLeftMoveKey) || Input.GetKey(bgRightMoveKey) || Input.GetKey(bgBackMoveKey) || Input.GetKey(bgForwardMoveKey)))
  451.                 {
  452.                     bg.localPosition = new Vector3(0f, bg.localPosition.y, 0f);
  453.                 }
  454.                 if (getModKeyPressing(modKey.Alt) && (Input.GetKey(bgUpMoveKey) || Input.GetKey(bgDownMoveKey)))
  455.                 {
  456.                     bg.localPosition = new Vector3(bg.localPosition.x, 0f, bg.localPosition.z);
  457.                 }
  458.                 if (Input.GetKeyDown(bgInitializeKey))
  459.                 {
  460.                     bg.localPosition = Vector3.zero;
  461.                     bg.RotateAround(maidTransform.position, Vector3.up, -bg.rotation.eulerAngles.y);
  462.                     bg.RotateAround(maidTransform.position, Vector3.right, -bg.rotation.eulerAngles.x);
  463.                     bg.RotateAround(maidTransform.position, Vector3.forward, -bg.rotation.eulerAngles.z);
  464.                     bg.RotateAround(maidTransform.position, Vector3.up, -bg.rotation.eulerAngles.y);
  465.                 }
  466.             }
  467.         }
  468.  
  469.         private void LookAtThis()
  470.         {
  471.             if (Input.GetKeyDown(eyetoCamChangeKey))
  472.             {
  473.                 if (eyeToCamIndex == Enum.GetNames(typeof(Maid.EyeMoveType)).Length - 1)
  474.                 {
  475.                     eyetoCamToggle = false;
  476.                     eyeToCamIndex = 0;
  477.                 }
  478.                 else
  479.                 {
  480.                     eyeToCamIndex++;
  481.                     eyetoCamToggle = true;
  482.                 }
  483.                 maid.EyeToCamera((Maid.EyeMoveType)eyeToCamIndex, 0f);
  484.                 Console.WriteLine("EyeToCam:{0}", eyeToCamIndex);
  485.             }
  486.  
  487.             if (Input.GetKeyDown(eyetoCamToggleKey))
  488.             {
  489.                 eyetoCamToggle = !eyetoCamToggle;
  490.                 //Console.WriteLine("Eye to Cam : {0}", eyetoCamToggle);
  491.                 if (!eyetoCamToggle)
  492.                 {
  493.                     maid.EyeToCamera(Maid.EyeMoveType.無し, 0f);
  494.                     eyeToCamIndex = 0;
  495.                     Console.WriteLine("EyeToCam:{0}", eyeToCamIndex);
  496.                 }
  497.                 else
  498.                 {
  499.                     maid.EyeToCamera(Maid.EyeMoveType.目と顔を向ける, 0f);
  500.                     eyeToCamIndex = 5;
  501.                     Console.WriteLine("EyeToCam:{0}", eyeToCamIndex);
  502.                 }
  503.             }
  504.         }
  505.  
  506.         private void TimeScaleChanger()
  507.         {
  508.             if (Input.GetKeyDown(timeScaleMinusKey))
  509.             {
  510.                 Time.timeScale = Mathf.Max(0f, Time.timeScale - 0.2f);
  511.                 Console.WriteLine("TileScale:{0}", Time.timeScale);
  512.             }
  513.             if (Input.GetKeyDown(timeScalePlusKey))
  514.             {
  515.                 Time.timeScale += 0.2f;
  516.                 Console.WriteLine("TileScale:{0}", Time.timeScale);
  517.             }
  518.             if (Input.GetKeyDown(timeScaleZero))
  519.             {
  520.                 Time.timeScale = 0f;
  521.                 Console.WriteLine("TileScale:{0}", Time.timeScale);
  522.             }
  523.             if (Input.GetKeyDown(timeScaleInitialize))
  524.             {
  525.                 Time.timeScale = 1f;
  526.                 Console.WriteLine("TileScale:{0}", Time.timeScale);
  527.             }
  528.         }
  529.  
  530.         private void HideUI()
  531.         {
  532.             if (Input.GetKeyDown(hideUIToggleKey))
  533.             {
  534.                 if (sceneLevel == 5 || sceneLevel == 14)
  535.                 {
  536.                     var field = GameMain.Instance.MainCamera.GetType().GetField("m_eFadeState", BindingFlags.GetField | BindingFlags.NonPublic | BindingFlags.Instance);
  537.  
  538.                     int i = (int)field.GetValue(mainCamera);
  539.                     //Console.WriteLine("FadeState:{0}", i);
  540.                     if (i == 0)
  541.                     {
  542.                         uiVisible = !uiVisible;
  543.                         if (uiObject)
  544.                         {
  545.                             uiObject.SetActive(uiVisible);
  546.                         }
  547.                     }
  548.                     Console.WriteLine("UIVisible:{0}", uiVisible);
  549.                 }
  550.             }
  551.         }
  552.  
  553.         public void Update()
  554.         {
  555.  
  556.             if (sceneLevel == 5)
  557.             {
  558.                 if (profilePanel.activeSelf)
  559.                 {
  560.                     allowUpdate = false;
  561.                 }
  562.                 else
  563.                 {
  564.                     allowUpdate = true;
  565.                 }
  566.             }
  567.             else if (sceneLevel == 12)
  568.             {
  569.                 if (profilePanel.activeSelf)
  570.                 {
  571.                     allowUpdate = false;
  572.                 }
  573.                 else
  574.                 {
  575.                     allowUpdate = true;
  576.                 }
  577.             }
  578.  
  579.             if (allowUpdate)
  580.             {
  581.                 float moveSpeed = floorMoveSpeed;
  582.                 float rotateSpeed = maidRotateSpeed;
  583.  
  584.                 if (getModKeyPressing(modKey.Shift))
  585.                 {
  586.                     moveSpeed *= 0.1f;
  587.                     rotateSpeed *= 0.1f;
  588.                 }
  589.  
  590.                 //TimeScaleChanger();
  591.                
  592.                 FirstPersonCamera();
  593.  
  594.                 LookAtThis();
  595.  
  596.                 FloorMover(moveSpeed, rotateSpeed);
  597.  
  598.                 if (!occulusVR)
  599.                 {
  600.                     ExtendedCameraHandle();
  601.  
  602.                     HideUI();
  603.                 }
  604.             }
  605.         }
  606.     }
  607. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement