using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public abstract class ModuleViewCamera : MonoBehaviour {
/// 视图空间位置
public abstract Vector3 Position { get; set; }
/// 视图空间旋转
public abstract Vector3 EulerAngles { get; set; }
/// 视图空间缩放
public abstract Vector3 LocalScale { get; set; }
/// 相机正交大小
public abstract float OrthographicSize { get; set; }
/// 当前视图空间的中心点
public abstract Vector3 CurrentViewSpaceCenter { get; }
/// 相机的世界位置
public abstract Vector3 CameraWorldPosition { get; }
/// 渲染纹理
public abstract RenderTexture RenderTexture { get; }
protected abstract void Awake();
protected virtual ModuleCore ModuleCore => ModuleCore.I;
/// 更新渲染纹理
public abstract void UpdateRenderTexture(int x, int y);
/// 屏幕坐标转换世界坐标
public abstract Vector2 ScreenToWorldPosition(Vector2 screenPosition);
/// 屏幕坐标转换世界坐标 (0-1)
public abstract Vector2 ScreenToViewPosition(Vector2 screenPosition);
/// 从屏幕坐标发射一条射线
public abstract Ray ScreenPointToRay(Vector2 screenPosition);
}