Files
real-shooter/Assets/Scripts/Character/CameraMouseScript.cs
2022-05-13 13:29:38 +07:00

47 lines
1.9 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CameraMouseScript : MonoBehaviour
{
public float moveSpeed;
public float shiftAdditionalSpeed;
public float mouseSensitivity;
public bool invertMouse;
public bool autoLockCursor;
public Camera cam;
public GameObject character;
void Awake()
{
cam = this.gameObject.GetComponent<Camera>();
this.gameObject.name = "SpectatorCamera";
Cursor.lockState = (autoLockCursor) ? CursorLockMode.Locked : CursorLockMode.None;
}
void Update () {
if (character.transform.rotation.x < 15 && character.transform.rotation.x > -15)
{
float speed = (moveSpeed + (Input.GetAxis("Fire3") * shiftAdditionalSpeed));
this.gameObject.transform.Translate(Vector3.forward * speed * Input.GetAxis("Vertical"));
this.gameObject.transform.Translate(Vector3.right * speed * Input.GetAxis("Horizontal"));
this.gameObject.transform.Translate(Vector3.up * speed *
(Input.GetAxis("Jump") + (Input.GetAxis("Fire1") * -1)));
this.gameObject.transform.Rotate(Input.GetAxis("Mouse Y") * mouseSensitivity * ((invertMouse) ? 1 : -1),
Input.GetAxis("Mouse X") * mouseSensitivity * ((invertMouse) ? -1 : 1), 0);
this.gameObject.transform.localEulerAngles = new Vector3(this.gameObject.transform.localEulerAngles.x,
this.gameObject.transform.localEulerAngles.y, 0);
if (Cursor.lockState == CursorLockMode.None && Input.GetMouseButtonDown(0))
{
Cursor.lockState = CursorLockMode.Locked;
}
else if (Cursor.lockState == CursorLockMode.Locked && Input.GetKeyDown(KeyCode.Escape))
{
Cursor.lockState = CursorLockMode.None;
}
}
}
}