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