using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class CameraRotate : MonoBehaviour {
// private float targetingRayLength = Mathf.Infinity;
// public LayerMask targetingLayerMask = -1;
public float xDeg = -282f;
public float yDeg = 0.0f;
public float xSpeed = 100f;
public float ySpeed = 100f;
public int yMinLimit = -80;
public int yMaxLimit = 80;
private Quaternion rotation;
public float zoomDampening = 1.0f;
// Use this for initialization
void Start () {
}
// RaycastHit hitInfo;
// Ray rayy;
// Update is called once per frame
void Update ()
{
if (Input.touchCount == 1 && Input.GetTouch(0).phase == TouchPhase.Moved)
//if(Input.GetMouseButton(0))
{
PointerEventData eventDataCurrentPosition = new PointerEventData(EventSystem.current);
eventDataCurrentPosition.position = new Vector2(Input.mousePosition.x, Input.mousePosition.y);
List<RaycastResult> results = new List<RaycastResult>();
EventSystem.current.RaycastAll(eventDataCurrentPosition, results);
for(int i=0;i<results.Count;i++)
{
string str= results[i].gameObject.name;
if (str.Equals(" BGImage "))
{
xDeg -= Input.GetAxis("Mouse X") * xSpeed * 0.02f;
yDeg += Input.GetAxis("Mouse Y") * ySpeed * 0.02f;
yDeg = ClampAngle(yDeg, yMinLimit, yMaxLimit);
rotation = Quaternion.Lerp(Camera.main.transform.rotation, Quaternion.Euler(yDeg, xDeg, 0), Time.deltaTime * zoomDampening);
Camera.main.transform.rotation = rotation;
}
}
}
}
private static float ClampAngle(float angle, float min, float max)
{
if (angle < -360)
angle += 360;
if (angle > 360)
angle -= 360;
return Mathf.Clamp(angle, min, max);
}
}