diff --git a/Assets/ModuleCore/ModuleAssets.meta b/Assets/ModuleCore/ModuleAssets.meta
deleted file mode 100644
index 864bc85..0000000
--- a/Assets/ModuleCore/ModuleAssets.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 66fc15151bdec0642aa0d9f313f50e72
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/ModuleCore/ModuleAssets/ModuleAssets.cs b/Assets/ModuleCore/ModuleAssets/ModuleAssets.cs
deleted file mode 100644
index 1249f76..0000000
--- a/Assets/ModuleCore/ModuleAssets/ModuleAssets.cs
+++ /dev/null
@@ -1,58 +0,0 @@
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-///
-/// 资源模块
-///
-public class ModuleAssets {
- protected List datas = new List();
- /// 核心模块
- protected virtual ModuleCore ModuleCore => ModuleCore.I;
-
- /// 更改事件
- public virtual event Action OnChange;
- /// 数据列表
- public virtual List Datas => datas;
- /// 数据计数
- public virtual int Count => Datas.Count;
- /// 数据计数 Datas[index];
-
- /// 添加数据
- public virtual void Add(Data data) { Datas.Add(data); OnChange?.Invoke(); }
- /// 添加数据
- public virtual void AddRange(IList data) { Datas.AddRange(data); OnChange?.Invoke(); }
- /// 删除数据
- public virtual void Remove(Data data) { Datas.Remove(data); OnChange?.Invoke(); }
-
- /// 保存数据
- public virtual void Save() { throw new NotImplementedException(); }
- /// 加载数据
- public virtual void Load() { throw new NotImplementedException(); }
-
- /// 循环列表
- public virtual void ForEach(Action action) => Datas.ForEach(action);
-}
-///
-/// 资源模块工具
-///
-public static class ModuleAssetsTool {
- /// 头尾循环标准化索引
- public static Data LoopIndex(this ModuleAssets assets, int index) {
- return assets[LoopIndex(index, assets.Count)];
- }
- /// 头尾循环标准化索引
- public static Data LoopIndex(this List list, int index) {
- return list[LoopIndex(index, list.Count)];
- }
- /// 头尾循环标准化索引
- public static Data LoopIndex(this Data[] array, int index) {
- return array[LoopIndex(index, array.Length)];
- }
- /// 头尾循环标准化索引
- public static int LoopIndex(int index, int maxIndex) {
- return index % maxIndex;
- }
-}
\ No newline at end of file
diff --git a/Assets/ModuleCore/ModuleCamera.meta b/Assets/ModuleCore/ModuleCamera.meta
deleted file mode 100644
index cb520ab..0000000
--- a/Assets/ModuleCore/ModuleCamera.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: e145339febf0e6f469eb3a650e52f3d9
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/ModuleCore/ModuleCamera/ModuleCamera.cs b/Assets/ModuleCore/ModuleCamera/ModuleCamera.cs
deleted file mode 100644
index 11da97f..0000000
--- a/Assets/ModuleCore/ModuleCamera/ModuleCamera.cs
+++ /dev/null
@@ -1,85 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-///
-/// 相机模块
-///
-public abstract class ModuleCamera : MonoBehaviour {
- /// 默认图层遮罩
- public static readonly LayerMask DefaultLayerMask = ~(1 << 0) | 1 << 0;
- /// 必须要初始化
- protected abstract void Awake();
-
- /// 相机位置
- public abstract Vector3 Position { get; set; }
- /// 相机旋转
- public abstract Vector3 EulerAngles { get; set; }
- /// 相机视野
- public abstract float VisualField { get; set; }
- /// 当前相机
- public abstract Camera ViewCamera { get; }
-
- /// 渲染纹理
- public virtual RenderTexture RenderTexture { get; }
- /// 更新渲染纹理
- public virtual void UpdateRenderTexture(int x, int y) { }
-
- #region 坐标转换
- /// 屏幕坐标转换视图坐标(0-1)
- public virtual Vector3 ScreenToViewPosition(Vector3 screenPosition) {
- return ViewCamera.ScreenToViewportPoint(screenPosition);
- }
- /// 屏幕坐标转换世界坐标
- public virtual Vector3 ScreenToWorldPosition(Vector3 screenPosition) {
- return ViewCamera.ScreenToWorldPoint(screenPosition);
- }
- /// 视图坐标(0-1)转换屏幕坐标
- public virtual Vector3 ViewToScreenPosition(Vector3 screenPosition) {
- return ViewCamera.ViewportToScreenPoint(screenPosition);
- }
- /// 视图坐标(0-1)转换世界坐标
- public virtual Vector3 ViewToWorldPosition(Vector3 screenPosition) {
- return ViewCamera.ViewportToWorldPoint(screenPosition);
- }
- /// 世界坐标转换屏幕坐标
- public virtual Vector3 WorldToScreenPosition(Vector3 screenPosition) {
- return ViewCamera.WorldToScreenPoint(screenPosition);
- }
- /// 世界坐标转换视图坐标(0-1)
- public virtual Vector3 WorldToViewPosition(Vector3 screenPosition) {
- return ViewCamera.WorldToViewportPoint(screenPosition);
- }
- #endregion
-
- #region 射线检测
- private Ray ray;
- private RaycastHit hitInfo;
- /// 屏幕坐标获取世界对象
- public virtual bool ScreenToWorldObject(Vector3 screenPosition, out T value) where T : Object {
- return ScreenToWorldObject(screenPosition, out value, DefaultLayerMask);
- }
- /// 屏幕坐标获取世界对象
- public virtual bool ScreenToWorldObject(Vector3 screenPosition, out T value, LayerMask planeLayerMask) where T : Object {
- ray = ViewCamera.ScreenPointToRay(screenPosition);
- Physics.Raycast(ray, out hitInfo, 200, planeLayerMask);
- value = hitInfo.transform?.GetComponent();
- return value != null;
- }
- /// 屏幕坐标获取世界对象的父对象
- public virtual bool ScreenToWorldObjectParent(Vector3 screenPosition, out T value) where T : Object {
- return ScreenToWorldObjectParent(screenPosition, out value, DefaultLayerMask);
- }
- /// 屏幕坐标获取世界对象的父对象
- public virtual bool ScreenToWorldObjectParent(Vector3 screenPosition, out T value, LayerMask planeLayerMask) where T : Object {
- ray = ViewCamera.ScreenPointToRay(screenPosition);
- Physics.Raycast(ray, out hitInfo, 200, planeLayerMask);
- value = hitInfo.transform?.GetComponentInParent();
- return value != null;
- }
- #endregion
-
- protected virtual void Update() {
- Debug.DrawRay(ray.origin, ray.direction * 10, Color.yellow);
- }
-}
diff --git a/Assets/ModuleCore/ModuleCore.cs b/Assets/ModuleCore/ModuleCore.cs
deleted file mode 100644
index 0c021f0..0000000
--- a/Assets/ModuleCore/ModuleCore.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-///
-/// 核心模块,实现业务逻辑
-///
-public class ModuleCore : Module {
-
-}
-///
-/// 模块基类
-///
-///
-public class Module where ModuleCore : Module, new() {
- /// 模块单例
- public static ModuleCore I => Instantiate();
-
- private static ModuleCore core;
- private static ModuleCore Instantiate() => core == null ? core = new ModuleCore() : core;
-}
\ No newline at end of file
diff --git a/Assets/ModuleCore/ModuleExecute.meta b/Assets/ModuleCore/ModuleExecute.meta
deleted file mode 100644
index 4a78940..0000000
--- a/Assets/ModuleCore/ModuleExecute.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 9939a58498acfda448d6f494f52e8da4
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/ModuleCore/ModuleExecute/ExecuteWebRequest.cs b/Assets/ModuleCore/ModuleExecute/ExecuteWebRequest.cs
deleted file mode 100644
index 7d1a791..0000000
--- a/Assets/ModuleCore/ModuleExecute/ExecuteWebRequest.cs
+++ /dev/null
@@ -1,182 +0,0 @@
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-using UnityEngine.Networking;
-using System.Runtime.CompilerServices;
-using System.Threading.Tasks;
-
-///
-/// Web请求执行模块
-///
-public class ExecuteWebRequest : ModuleExecute {
- /// 发送请求
- public void Execute(DataRequest request) {
- if (request.RequestType == WebRequestType.GET) { Get(request); }
- if (request.RequestType == WebRequestType.PostForm) { PostForm(request); }
- if (request.RequestType == WebRequestType.PostJson) { PostJson(request); }
- if (request.RequestType == WebRequestType.Texture) { Texture(request); }
- }
- public static async void Get(DataRequest request) {
- string url = request.Url;
- using UnityWebRequest web = UnityWebRequest.Get(url);
- await web.SendWebRequest();
- bool isDone = web.isDone && web.result == UnityWebRequest.Result.Success;
- request.RequestResultHandle(isDone, web.downloadHandler);
- }
- public static async void PostForm(DataRequest request) {
- string url = request.Url;
- WWWForm form = request.Form;
- using UnityWebRequest web = UnityWebRequest.Post(url, form);
- await web.SendWebRequest();
- bool isDone = web.isDone && web.result == UnityWebRequest.Result.Success;
- request.RequestResultHandle(isDone, web.downloadHandler);
- }
- public static async void PostJson(DataRequest request) {
- string url = request.Url;
- string json = request.Json;
- byte[] postBytes = System.Text.Encoding.Default.GetBytes(json);
-#if UNITY_2022
- using UnityWebRequest web = UnityWebRequest.PostWwwForm(url, "POST");
-#else
- using UnityWebRequest web = UnityWebRequest.Post(url, "POST");
-#endif
- web.uploadHandler.Dispose();
- web.uploadHandler = new UploadHandlerRaw(postBytes);
- web.SetRequestHeader("Content-Type", "application/json");
- await web.SendWebRequest();
- bool isDone = web.isDone && web.result == UnityWebRequest.Result.Success;
- request.RequestResultHandle(isDone, web.downloadHandler);
-
- }
- public static async void Texture(DataRequest request) {
- string url = request.Url;
- using UnityWebRequest web = UnityWebRequestTexture.GetTexture(url);
- await web.SendWebRequest();
- bool isDone = web.isDone && web.result == UnityWebRequest.Result.Success;
- request.RequestResultHandle(isDone, web.downloadHandler);
- }
-}
-///
-/// Web请求执行模块工具
-///
-public static class ExecuteWebRequestTool {
- public static TaskAwaiter