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
    }
}