123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- namespace Visyde{
- public class V_SMC_Camera : MonoBehaviour {
- // The handler of crosshair sprites:
- public V_SMC_Handler crosshairHandler;
- // For the FPS mouse look:
- float rotationX = 0F;
- float rotationY = 0F;
- // For the raycasting function:
- Vector3 fireDirection;
- Vector3 firePoint;
- // Use this for initialization
- void Start () {
- // Lock and hide the cursor:
- Cursor.lockState = CursorLockMode.Locked;
- Cursor.visible = false;
- }
- // Update is called once per frame
- void Update () {
- // FPS mouse look:
- rotationX += Input.GetAxis("Mouse X") * 2;
- rotationY -= Input.GetAxis("Mouse Y") * 2;
- Quaternion rotation = Quaternion.Euler(rotationY, rotationX, 0);
- transform.rotation = rotation;
- // Call raycast method:
- Hit ();
- }
- void Hit(){
- // Raycasting variables:
- RaycastHit hit;
- fireDirection = transform.TransformDirection(Vector3.forward) * 10;
- firePoint = transform.position;
- // Do raycasting:
- if (Physics.Raycast (firePoint, (fireDirection), out hit, Mathf.Infinity)) {
- // Change the color based on what object is under the crosshair:
- if (hit.transform.name == "Friendly") {
- crosshairHandler.ChangeColor (Color.green);
- } else if (hit.transform.name == "Enemy") {
- crosshairHandler.ChangeColor (Color.red);
- } else {
- crosshairHandler.ChangeColor (Color.white);
- }
- } else {
- crosshairHandler.ChangeColor (Color.white);
- }
- // Debug the ray out in the editor:
- Debug.DrawRay(firePoint, fireDirection, Color.green);
- }
- }
- }
|