Files
JJBB/Assets/Project/Script/Player/Controller/ProcessCamera.cs

43 lines
968 B
C#
Raw Normal View History

2024-08-23 15:49:34 +08:00
using Games.GlobeDefine;
using Games.Scene;
using UnityEngine;
using UnityEngine.Events;
public class ProcessCamera
{
public event UnityAction<Vector2> onCameraAngle;
public event UnityAction<float> onCameraDistance;
public void MoveCamera(Vector2 delta)
{
if (SceneLogic.CameraController != null)
{
var dpi = GetDeviceDpi();
if (onCameraAngle != null)
onCameraAngle(delta / dpi);
}
}
public void ScaleCamera(float scale)
{
if (SceneLogic.CameraController != null)
{
var dpi = GetDeviceDpi();
if (onCameraDistance != null)
onCameraDistance(scale / dpi);
}
}
private float GetDeviceDpi()
{
#if UNITY_EDITOR || UNITY_STANDALONE
return GlobeVar.defaultDpi;
#else
var dpi = Screen.dpi;
if (dpi <= 0f)
dpi = GlobeVar.defaultDpi;
return dpi;
#endif
}
}