diff --git a/.gitignore b/.gitignore index 702e68b..8aea2c4 100644 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,5 @@ opencode.json .claude/settings.json .omc/ docs/.omc/ -docs/.vitepress/cache/ \ No newline at end of file +docs/.vitepress/cache/ +local-plan/ \ No newline at end of file diff --git a/GFramework.Core.Abstractions/architecture/ArchitectureModuleRegistry.cs b/GFramework.Core.Abstractions/Architecture/ArchitectureModuleRegistry.cs similarity index 95% rename from GFramework.Core.Abstractions/architecture/ArchitectureModuleRegistry.cs rename to GFramework.Core.Abstractions/Architecture/ArchitectureModuleRegistry.cs index ab5a7c3..5779a65 100644 --- a/GFramework.Core.Abstractions/architecture/ArchitectureModuleRegistry.cs +++ b/GFramework.Core.Abstractions/Architecture/ArchitectureModuleRegistry.cs @@ -1,6 +1,6 @@ using System.Collections.Concurrent; -namespace GFramework.Core.Abstractions.architecture; +namespace GFramework.Core.Abstractions.Architecture; /// /// 架构模块注册表 - 用于外部模块的自动注册 diff --git a/GFramework.Core.Abstractions/architecture/IArchitecture.cs b/GFramework.Core.Abstractions/Architecture/IArchitecture.cs similarity index 94% rename from GFramework.Core.Abstractions/architecture/IArchitecture.cs rename to GFramework.Core.Abstractions/Architecture/IArchitecture.cs index 7425123..87996ca 100644 --- a/GFramework.Core.Abstractions/architecture/IArchitecture.cs +++ b/GFramework.Core.Abstractions/Architecture/IArchitecture.cs @@ -1,10 +1,10 @@ -using GFramework.Core.Abstractions.lifecycle; -using GFramework.Core.Abstractions.model; -using GFramework.Core.Abstractions.system; -using GFramework.Core.Abstractions.utility; +using GFramework.Core.Abstractions.Lifecycle; +using GFramework.Core.Abstractions.Model; +using GFramework.Core.Abstractions.Systems; +using GFramework.Core.Abstractions.Utility; using Microsoft.Extensions.DependencyInjection; -namespace GFramework.Core.Abstractions.architecture; +namespace GFramework.Core.Abstractions.Architecture; /// /// 架构接口,专注于生命周期管理,包括系统、模型、工具的注册和获取 diff --git a/GFramework.Core.Abstractions/architecture/IArchitectureConfiguration.cs b/GFramework.Core.Abstractions/Architecture/IArchitectureConfiguration.cs similarity index 83% rename from GFramework.Core.Abstractions/architecture/IArchitectureConfiguration.cs rename to GFramework.Core.Abstractions/Architecture/IArchitectureConfiguration.cs index 3504e47..b9a3001 100644 --- a/GFramework.Core.Abstractions/architecture/IArchitectureConfiguration.cs +++ b/GFramework.Core.Abstractions/Architecture/IArchitectureConfiguration.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.properties; +using GFramework.Core.Abstractions.Properties; -namespace GFramework.Core.Abstractions.architecture; +namespace GFramework.Core.Abstractions.Architecture; /// /// 定义架构配置的接口,提供日志工厂、日志级别和架构选项的配置功能 diff --git a/GFramework.Core.Abstractions/architecture/IArchitectureContext.cs b/GFramework.Core.Abstractions/Architecture/IArchitectureContext.cs similarity index 90% rename from GFramework.Core.Abstractions/architecture/IArchitectureContext.cs rename to GFramework.Core.Abstractions/Architecture/IArchitectureContext.cs index 0558b0d..ae817e5 100644 --- a/GFramework.Core.Abstractions/architecture/IArchitectureContext.cs +++ b/GFramework.Core.Abstractions/Architecture/IArchitectureContext.cs @@ -1,14 +1,14 @@ -using GFramework.Core.Abstractions.command; -using GFramework.Core.Abstractions.environment; -using GFramework.Core.Abstractions.events; -using GFramework.Core.Abstractions.model; -using GFramework.Core.Abstractions.query; -using GFramework.Core.Abstractions.system; -using GFramework.Core.Abstractions.utility; +using GFramework.Core.Abstractions.Command; +using GFramework.Core.Abstractions.Environment; +using GFramework.Core.Abstractions.Events; +using GFramework.Core.Abstractions.Model; +using GFramework.Core.Abstractions.Query; +using GFramework.Core.Abstractions.Systems; +using GFramework.Core.Abstractions.Utility; using Mediator; -using ICommand = GFramework.Core.Abstractions.command.ICommand; +using ICommand = GFramework.Core.Abstractions.Command.ICommand; -namespace GFramework.Core.Abstractions.architecture; +namespace GFramework.Core.Abstractions.Architecture; /// /// 架构上下文接口,提供对系统、模型、工具类的访问以及命令、查询、事件的发送和注册功能 @@ -19,8 +19,8 @@ public interface IArchitectureContext /// 获取指定类型的服务实例 /// /// 服务类型 - /// 服务实例,如果不存在则返回null - TService? GetService() where TService : class; + /// 服务实例,如果不存在则抛出异常 + TService GetService() where TService : class; /// /// 获取指定类型的所有服务实例 @@ -33,8 +33,8 @@ public interface IArchitectureContext /// 获取指定类型的系统实例 /// /// 系统类型,必须继承自ISystem接口 - /// 系统实例,如果不存在则返回null - TSystem? GetSystem() where TSystem : class, ISystem; + /// 系统实例,如果不存在则抛出异常 + TSystem GetSystem() where TSystem : class, ISystem; /// /// 获取指定类型的所有系统实例 @@ -47,8 +47,8 @@ public interface IArchitectureContext /// 获取指定类型的模型实例 /// /// 模型类型,必须继承自IModel接口 - /// 模型实例,如果不存在则返回null - TModel? GetModel() where TModel : class, IModel; + /// 模型实例,如果不存在则抛出异常 + TModel GetModel() where TModel : class, IModel; /// /// 获取指定类型的所有模型实例 @@ -61,8 +61,8 @@ public interface IArchitectureContext /// 获取指定类型的工具类实例 /// /// 工具类类型,必须继承自IUtility接口 - /// 工具类实例,如果不存在则返回null - TUtility? GetUtility() where TUtility : class, IUtility; + /// 工具类实例,如果不存在则抛出异常 + TUtility GetUtility() where TUtility : class, IUtility; /// /// 获取指定类型的所有工具类实例 @@ -115,7 +115,7 @@ public interface IArchitectureContext /// 命令执行结果类型 /// 要发送的命令 /// 命令执行结果 - TResult SendCommand(command.ICommand command); + TResult SendCommand(Command.ICommand command); /// /// [Mediator] 发送命令的同步版本(不推荐,仅用于兼容性) @@ -158,7 +158,7 @@ public interface IArchitectureContext /// 查询结果类型 /// 要发送的查询 /// 查询结果 - TResult SendQuery(query.IQuery query); + TResult SendQuery(Query.IQuery query); /// /// [Mediator] 发送查询的同步版本(不推荐,仅用于兼容性) diff --git a/GFramework.Core.Abstractions/architecture/IArchitectureContextProvider.cs b/GFramework.Core.Abstractions/Architecture/IArchitectureContextProvider.cs similarity index 92% rename from GFramework.Core.Abstractions/architecture/IArchitectureContextProvider.cs rename to GFramework.Core.Abstractions/Architecture/IArchitectureContextProvider.cs index 220e497..e4bc1f4 100644 --- a/GFramework.Core.Abstractions/architecture/IArchitectureContextProvider.cs +++ b/GFramework.Core.Abstractions/Architecture/IArchitectureContextProvider.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.architecture; +namespace GFramework.Core.Abstractions.Architecture; /// /// 架构上下文提供者接口,用于解耦上下文获取逻辑 diff --git a/GFramework.Core.Abstractions/architecture/IArchitectureLifecycleHook.cs b/GFramework.Core.Abstractions/Architecture/IArchitectureLifecycleHook.cs similarity index 85% rename from GFramework.Core.Abstractions/architecture/IArchitectureLifecycleHook.cs rename to GFramework.Core.Abstractions/Architecture/IArchitectureLifecycleHook.cs index 54dc6f8..8be8d1e 100644 --- a/GFramework.Core.Abstractions/architecture/IArchitectureLifecycleHook.cs +++ b/GFramework.Core.Abstractions/Architecture/IArchitectureLifecycleHook.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.enums; +using GFramework.Core.Abstractions.Enums; -namespace GFramework.Core.Abstractions.architecture; +namespace GFramework.Core.Abstractions.Architecture; /// /// 架构生命周期钩子接口,用于在架构的不同生命周期阶段执行自定义逻辑。 diff --git a/GFramework.Core.Abstractions/architecture/IArchitectureModule.cs b/GFramework.Core.Abstractions/Architecture/IArchitectureModule.cs similarity index 88% rename from GFramework.Core.Abstractions/architecture/IArchitectureModule.cs rename to GFramework.Core.Abstractions/Architecture/IArchitectureModule.cs index 5442830..7ca587a 100644 --- a/GFramework.Core.Abstractions/architecture/IArchitectureModule.cs +++ b/GFramework.Core.Abstractions/Architecture/IArchitectureModule.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.architecture; +namespace GFramework.Core.Abstractions.Architecture; /// /// 架构模块接口,继承自架构生命周期接口。 diff --git a/GFramework.Core.Abstractions/architecture/IArchitecturePhaseListener.cs b/GFramework.Core.Abstractions/Architecture/IArchitecturePhaseListener.cs similarity index 84% rename from GFramework.Core.Abstractions/architecture/IArchitecturePhaseListener.cs rename to GFramework.Core.Abstractions/Architecture/IArchitecturePhaseListener.cs index 3a8dce2..98a644b 100644 --- a/GFramework.Core.Abstractions/architecture/IArchitecturePhaseListener.cs +++ b/GFramework.Core.Abstractions/Architecture/IArchitecturePhaseListener.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.enums; +using GFramework.Core.Abstractions.Enums; -namespace GFramework.Core.Abstractions.architecture; +namespace GFramework.Core.Abstractions.Architecture; /// /// 架构阶段监听器接口,用于监听和响应架构生命周期中的不同阶段变化。 diff --git a/GFramework.Core.Abstractions/architecture/IArchitectureServices.cs b/GFramework.Core.Abstractions/Architecture/IArchitectureServices.cs similarity index 83% rename from GFramework.Core.Abstractions/architecture/IArchitectureServices.cs rename to GFramework.Core.Abstractions/Architecture/IArchitectureServices.cs index d90b850..552b6cc 100644 --- a/GFramework.Core.Abstractions/architecture/IArchitectureServices.cs +++ b/GFramework.Core.Abstractions/Architecture/IArchitectureServices.cs @@ -1,10 +1,10 @@ -using GFramework.Core.Abstractions.command; -using GFramework.Core.Abstractions.events; -using GFramework.Core.Abstractions.ioc; -using GFramework.Core.Abstractions.query; -using GFramework.Core.Abstractions.rule; +using GFramework.Core.Abstractions.Command; +using GFramework.Core.Abstractions.Events; +using GFramework.Core.Abstractions.IoC; +using GFramework.Core.Abstractions.Query; +using GFramework.Core.Abstractions.Rule; -namespace GFramework.Core.Abstractions.architecture; +namespace GFramework.Core.Abstractions.Architecture; /// /// 架构服务接口,定义了框架核心架构所需的服务组件 diff --git a/GFramework.Core.Abstractions/architecture/IServiceModule.cs b/GFramework.Core.Abstractions/Architecture/IServiceModule.cs similarity index 87% rename from GFramework.Core.Abstractions/architecture/IServiceModule.cs rename to GFramework.Core.Abstractions/Architecture/IServiceModule.cs index 950bdd2..6237560 100644 --- a/GFramework.Core.Abstractions/architecture/IServiceModule.cs +++ b/GFramework.Core.Abstractions/Architecture/IServiceModule.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.ioc; -using GFramework.Core.Abstractions.lifecycle; +using GFramework.Core.Abstractions.IoC; +using GFramework.Core.Abstractions.Lifecycle; -namespace GFramework.Core.Abstractions.architecture; +namespace GFramework.Core.Abstractions.Architecture; /// /// 服务模块接口,定义了服务模块的基本契约。 diff --git a/GFramework.Core.Abstractions/architecture/IServiceModuleManager.cs b/GFramework.Core.Abstractions/Architecture/IServiceModuleManager.cs similarity index 92% rename from GFramework.Core.Abstractions/architecture/IServiceModuleManager.cs rename to GFramework.Core.Abstractions/Architecture/IServiceModuleManager.cs index 8c7face..70910b1 100644 --- a/GFramework.Core.Abstractions/architecture/IServiceModuleManager.cs +++ b/GFramework.Core.Abstractions/Architecture/IServiceModuleManager.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.ioc; +using GFramework.Core.Abstractions.IoC; -namespace GFramework.Core.Abstractions.architecture; +namespace GFramework.Core.Abstractions.Architecture; /// /// 服务模块管理器接口,用于管理架构中的服务模块。 diff --git a/GFramework.Core.Abstractions/bases/IHasKey.cs b/GFramework.Core.Abstractions/Bases/IHasKey.cs similarity index 94% rename from GFramework.Core.Abstractions/bases/IHasKey.cs rename to GFramework.Core.Abstractions/Bases/IHasKey.cs index a2b09fa..c225b3b 100644 --- a/GFramework.Core.Abstractions/bases/IHasKey.cs +++ b/GFramework.Core.Abstractions/Bases/IHasKey.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Core.Abstractions.bases; +namespace GFramework.Core.Abstractions.Bases; /// /// 定义具有键值访问能力的接口契约 diff --git a/GFramework.Core.Abstractions/bases/IKeyValue.cs b/GFramework.Core.Abstractions/Bases/IKeyValue.cs similarity index 90% rename from GFramework.Core.Abstractions/bases/IKeyValue.cs rename to GFramework.Core.Abstractions/Bases/IKeyValue.cs index eb3116d..6c96f2e 100644 --- a/GFramework.Core.Abstractions/bases/IKeyValue.cs +++ b/GFramework.Core.Abstractions/Bases/IKeyValue.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.bases; +namespace GFramework.Core.Abstractions.Bases; /// /// 表示键值对的接口,定义了通用的键值对数据结构契约 diff --git a/GFramework.Core.Abstractions/bases/IPrioritized.cs b/GFramework.Core.Abstractions/Bases/IPrioritized.cs similarity index 90% rename from GFramework.Core.Abstractions/bases/IPrioritized.cs rename to GFramework.Core.Abstractions/Bases/IPrioritized.cs index be0c5a7..ee57f71 100644 --- a/GFramework.Core.Abstractions/bases/IPrioritized.cs +++ b/GFramework.Core.Abstractions/Bases/IPrioritized.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.bases; +namespace GFramework.Core.Abstractions.Bases; /// /// 定义具有优先级的对象接口。 diff --git a/GFramework.Core.Abstractions/bases/PriorityGroup.cs b/GFramework.Core.Abstractions/Bases/PriorityGroup.cs similarity index 97% rename from GFramework.Core.Abstractions/bases/PriorityGroup.cs rename to GFramework.Core.Abstractions/Bases/PriorityGroup.cs index cee876c..3283896 100644 --- a/GFramework.Core.Abstractions/bases/PriorityGroup.cs +++ b/GFramework.Core.Abstractions/Bases/PriorityGroup.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.bases; +namespace GFramework.Core.Abstractions.Bases; /// /// 预定义的优先级分组常量 diff --git a/GFramework.Core.Abstractions/cqrs/command/ICommandInput.cs b/GFramework.Core.Abstractions/CQRS/Command/ICommandInput.cs similarity index 79% rename from GFramework.Core.Abstractions/cqrs/command/ICommandInput.cs rename to GFramework.Core.Abstractions/CQRS/Command/ICommandInput.cs index 97ec861..d924aef 100644 --- a/GFramework.Core.Abstractions/cqrs/command/ICommandInput.cs +++ b/GFramework.Core.Abstractions/CQRS/Command/ICommandInput.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.cqrs.command; +namespace GFramework.Core.Abstractions.CQRS.Command; /// /// 命令输入接口,定义命令模式中输入数据的契约 diff --git a/GFramework.Core.Abstractions/cqrs/IInput.cs b/GFramework.Core.Abstractions/CQRS/IInput.cs similarity index 94% rename from GFramework.Core.Abstractions/cqrs/IInput.cs rename to GFramework.Core.Abstractions/CQRS/IInput.cs index 18a0789..b17fa0a 100644 --- a/GFramework.Core.Abstractions/cqrs/IInput.cs +++ b/GFramework.Core.Abstractions/CQRS/IInput.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Core.Abstractions.cqrs; +namespace GFramework.Core.Abstractions.CQRS; /// /// 表示输入数据的标记接口。 diff --git a/GFramework.Core.Abstractions/cqrs/notification/INotificationInput.cs b/GFramework.Core.Abstractions/CQRS/Notification/INotificationInput.cs similarity index 93% rename from GFramework.Core.Abstractions/cqrs/notification/INotificationInput.cs rename to GFramework.Core.Abstractions/CQRS/Notification/INotificationInput.cs index 05fa05d..c06cf13 100644 --- a/GFramework.Core.Abstractions/cqrs/notification/INotificationInput.cs +++ b/GFramework.Core.Abstractions/CQRS/Notification/INotificationInput.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Core.Abstractions.cqrs.notification; +namespace GFramework.Core.Abstractions.CQRS.Notification; /// /// 表示通知输入数据的标记接口。 diff --git a/GFramework.Core.Abstractions/cqrs/query/IQueryInput.cs b/GFramework.Core.Abstractions/CQRS/Query/IQueryInput.cs similarity index 71% rename from GFramework.Core.Abstractions/cqrs/query/IQueryInput.cs rename to GFramework.Core.Abstractions/CQRS/Query/IQueryInput.cs index 1494f36..b19da8a 100644 --- a/GFramework.Core.Abstractions/cqrs/query/IQueryInput.cs +++ b/GFramework.Core.Abstractions/CQRS/Query/IQueryInput.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.cqrs.query; +namespace GFramework.Core.Abstractions.CQRS.Query; /// /// 查询输入接口,定义了查询操作的输入规范 diff --git a/GFramework.Core.Abstractions/cqrs/request/IRequestInput.cs b/GFramework.Core.Abstractions/CQRS/Request/IRequestInput.cs similarity index 93% rename from GFramework.Core.Abstractions/cqrs/request/IRequestInput.cs rename to GFramework.Core.Abstractions/CQRS/Request/IRequestInput.cs index cec8802..eb73e4d 100644 --- a/GFramework.Core.Abstractions/cqrs/request/IRequestInput.cs +++ b/GFramework.Core.Abstractions/CQRS/Request/IRequestInput.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Core.Abstractions.cqrs.request; +namespace GFramework.Core.Abstractions.CQRS.Request; /// /// 表示请求输入数据的标记接口。 diff --git a/GFramework.Core.Abstractions/command/IAsyncCommand.cs b/GFramework.Core.Abstractions/Command/IAsyncCommand.cs similarity index 89% rename from GFramework.Core.Abstractions/command/IAsyncCommand.cs rename to GFramework.Core.Abstractions/Command/IAsyncCommand.cs index ff094eb..7267619 100644 --- a/GFramework.Core.Abstractions/command/IAsyncCommand.cs +++ b/GFramework.Core.Abstractions/Command/IAsyncCommand.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.rule; +using GFramework.Core.Abstractions.Rule; -namespace GFramework.Core.Abstractions.command; +namespace GFramework.Core.Abstractions.Command; /// /// 表示一个异步命令接口,该命令不返回结果 diff --git a/GFramework.Core.Abstractions/command/ICommand.cs b/GFramework.Core.Abstractions/Command/ICommand.cs similarity index 92% rename from GFramework.Core.Abstractions/command/ICommand.cs rename to GFramework.Core.Abstractions/Command/ICommand.cs index 16fd392..1af5bb6 100644 --- a/GFramework.Core.Abstractions/command/ICommand.cs +++ b/GFramework.Core.Abstractions/Command/ICommand.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.rule; +using GFramework.Core.Abstractions.Rule; -namespace GFramework.Core.Abstractions.command; +namespace GFramework.Core.Abstractions.Command; /// /// 命令接口,定义了无返回值命令的基本契约 diff --git a/GFramework.Core.Abstractions/command/ICommandExecutor.cs b/GFramework.Core.Abstractions/Command/ICommandExecutor.cs similarity index 97% rename from GFramework.Core.Abstractions/command/ICommandExecutor.cs rename to GFramework.Core.Abstractions/Command/ICommandExecutor.cs index 538a866..40bde64 100644 --- a/GFramework.Core.Abstractions/command/ICommandExecutor.cs +++ b/GFramework.Core.Abstractions/Command/ICommandExecutor.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.command; +namespace GFramework.Core.Abstractions.Command; /// /// 定义命令执行器接口,提供同步和异步方式发送并执行命令的方法。 diff --git a/GFramework.Core.Abstractions/configuration/IConfigurationManager.cs b/GFramework.Core.Abstractions/Configuration/IConfigurationManager.cs similarity index 95% rename from GFramework.Core.Abstractions/configuration/IConfigurationManager.cs rename to GFramework.Core.Abstractions/Configuration/IConfigurationManager.cs index d75fff5..10176a4 100644 --- a/GFramework.Core.Abstractions/configuration/IConfigurationManager.cs +++ b/GFramework.Core.Abstractions/Configuration/IConfigurationManager.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.events; -using GFramework.Core.Abstractions.utility; +using GFramework.Core.Abstractions.Events; +using GFramework.Core.Abstractions.Utility; -namespace GFramework.Core.Abstractions.configuration; +namespace GFramework.Core.Abstractions.Configuration; /// /// 配置管理器接口,提供类型安全的配置存储和访问 diff --git a/GFramework.Core.Abstractions/controller/IController.cs b/GFramework.Core.Abstractions/Controller/IController.cs similarity index 89% rename from GFramework.Core.Abstractions/controller/IController.cs rename to GFramework.Core.Abstractions/Controller/IController.cs index 3fd94f3..1208f72 100644 --- a/GFramework.Core.Abstractions/controller/IController.cs +++ b/GFramework.Core.Abstractions/Controller/IController.cs @@ -1,38 +1,38 @@ -namespace GFramework.Core.Abstractions.controller; - -/// -/// 控制器标记接口,用于标识控制器组件 -/// -/// -/// -/// IController 是一个标记接口(Marker Interface),不包含任何方法或属性。 -/// 它的作用是标识一个类是控制器,用于协调 Model、System 和 UI 之间的交互。 -/// -/// -/// 架构访问 :控制器通常需要访问架构上下文。使用 [ContextAware] 特性 -/// 自动生成上下文访问能力: -/// -/// -/// using GFramework.SourceGenerators.Abstractions.rule; -/// -/// [ContextAware] -/// public partial class PlayerController : IController -/// { -/// public void Initialize() -/// { -/// // [ContextAware] 实现 IContextAware 接口,可使用扩展方法 -/// var playerModel = this.GetModel<PlayerModel>(); -/// var gameSystem = this.GetSystem<GameSystem>(); -/// } -/// } -/// -/// -/// 注意: -/// -/// -/// 必须添加 partial 关键字 -/// [ContextAware] 特性会自动实现 IContextAware 接口 -/// 可使用 this.GetModel()、this.GetSystem() 等扩展方法访问架构 -/// -/// +namespace GFramework.Core.Abstractions.Controller; + +/// +/// 控制器标记接口,用于标识控制器组件 +/// +/// +/// +/// IController 是一个标记接口(Marker Interface),不包含任何方法或属性。 +/// 它的作用是标识一个类是控制器,用于协调 Model、System 和 UI 之间的交互。 +/// +/// +/// 架构访问 :控制器通常需要访问架构上下文。使用 [ContextAware] 特性 +/// 自动生成上下文访问能力: +/// +/// +/// using GFramework.SourceGenerators.Abstractions.Rule; +/// +/// [ContextAware] +/// public partial class PlayerController : IController +/// { +/// public void Initialize() +/// { +/// // [ContextAware] 实现 IContextAware 接口,可使用扩展方法 +/// var playerModel = this.GetModel<PlayerModel>(); +/// var gameSystem = this.GetSystem<GameSystem>(); +/// } +/// } +/// +/// +/// 注意: +/// +/// +/// 必须添加 partial 关键字 +/// [ContextAware] 特性会自动实现 IContextAware 接口 +/// 可使用 this.GetModel()、this.GetSystem() 等扩展方法访问架构 +/// +/// public interface IController; \ No newline at end of file diff --git a/GFramework.Core.Abstractions/coroutine/CoroutinePriority.cs b/GFramework.Core.Abstractions/Coroutine/CoroutinePriority.cs similarity index 92% rename from GFramework.Core.Abstractions/coroutine/CoroutinePriority.cs rename to GFramework.Core.Abstractions/Coroutine/CoroutinePriority.cs index 0e39073..3fab0e2 100644 --- a/GFramework.Core.Abstractions/coroutine/CoroutinePriority.cs +++ b/GFramework.Core.Abstractions/Coroutine/CoroutinePriority.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.coroutine; +namespace GFramework.Core.Abstractions.Coroutine; /// /// 协程优先级枚举 diff --git a/GFramework.Core.Abstractions/coroutine/CoroutineState.cs b/GFramework.Core.Abstractions/Coroutine/CoroutineState.cs similarity index 89% rename from GFramework.Core.Abstractions/coroutine/CoroutineState.cs rename to GFramework.Core.Abstractions/Coroutine/CoroutineState.cs index 6eb7535..939d24d 100644 --- a/GFramework.Core.Abstractions/coroutine/CoroutineState.cs +++ b/GFramework.Core.Abstractions/Coroutine/CoroutineState.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.coroutine; +namespace GFramework.Core.Abstractions.Coroutine; /// /// 表示协程的执行状态枚举 diff --git a/GFramework.Core.Abstractions/coroutine/ICoroutineStatistics.cs b/GFramework.Core.Abstractions/Coroutine/ICoroutineStatistics.cs similarity index 97% rename from GFramework.Core.Abstractions/coroutine/ICoroutineStatistics.cs rename to GFramework.Core.Abstractions/Coroutine/ICoroutineStatistics.cs index 139b4e2..76d0fd5 100644 --- a/GFramework.Core.Abstractions/coroutine/ICoroutineStatistics.cs +++ b/GFramework.Core.Abstractions/Coroutine/ICoroutineStatistics.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.coroutine; +namespace GFramework.Core.Abstractions.Coroutine; /// /// 协程统计信息接口 diff --git a/GFramework.Core.Abstractions/coroutine/ITimeSource.cs b/GFramework.Core.Abstractions/Coroutine/ITimeSource.cs similarity index 89% rename from GFramework.Core.Abstractions/coroutine/ITimeSource.cs rename to GFramework.Core.Abstractions/Coroutine/ITimeSource.cs index 0fa2a03..6da1040 100644 --- a/GFramework.Core.Abstractions/coroutine/ITimeSource.cs +++ b/GFramework.Core.Abstractions/Coroutine/ITimeSource.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.coroutine; +namespace GFramework.Core.Abstractions.Coroutine; /// /// 时间源接口,提供当前时间、时间增量以及更新功能 diff --git a/GFramework.Core.Abstractions/coroutine/IYieldInstruction.cs b/GFramework.Core.Abstractions/Coroutine/IYieldInstruction.cs similarity index 90% rename from GFramework.Core.Abstractions/coroutine/IYieldInstruction.cs rename to GFramework.Core.Abstractions/Coroutine/IYieldInstruction.cs index 1d75bfe..f0d968c 100644 --- a/GFramework.Core.Abstractions/coroutine/IYieldInstruction.cs +++ b/GFramework.Core.Abstractions/Coroutine/IYieldInstruction.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.coroutine; +namespace GFramework.Core.Abstractions.Coroutine; /// /// 定义一个可等待指令的接口,用于协程系统中的异步操作控制 diff --git a/GFramework.Core.Abstractions/data/ILoadableFrom.cs b/GFramework.Core.Abstractions/Data/ILoadableFrom.cs similarity index 95% rename from GFramework.Core.Abstractions/data/ILoadableFrom.cs rename to GFramework.Core.Abstractions/Data/ILoadableFrom.cs index bb773f7..1dee076 100644 --- a/GFramework.Core.Abstractions/data/ILoadableFrom.cs +++ b/GFramework.Core.Abstractions/Data/ILoadableFrom.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Core.Abstractions.data; +namespace GFramework.Core.Abstractions.Data; /// /// 定义从指定类型数据源加载数据的接口 diff --git a/GFramework.Core.Abstractions/enums/ArchitecturePhase.cs b/GFramework.Core.Abstractions/Enums/ArchitecturePhase.cs similarity index 96% rename from GFramework.Core.Abstractions/enums/ArchitecturePhase.cs rename to GFramework.Core.Abstractions/Enums/ArchitecturePhase.cs index 8df1bc9..54e8cc4 100644 --- a/GFramework.Core.Abstractions/enums/ArchitecturePhase.cs +++ b/GFramework.Core.Abstractions/Enums/ArchitecturePhase.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.enums; +namespace GFramework.Core.Abstractions.Enums; /// /// 架构阶段枚举,定义了系统架构初始化和运行过程中的各个关键阶段 diff --git a/GFramework.Core.Abstractions/environment/IEnvironment.cs b/GFramework.Core.Abstractions/Environment/IEnvironment.cs similarity index 97% rename from GFramework.Core.Abstractions/environment/IEnvironment.cs rename to GFramework.Core.Abstractions/Environment/IEnvironment.cs index 3456802..09fc9bd 100644 --- a/GFramework.Core.Abstractions/environment/IEnvironment.cs +++ b/GFramework.Core.Abstractions/Environment/IEnvironment.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.environment; +namespace GFramework.Core.Abstractions.Environment; /// /// 定义环境接口,提供应用程序运行环境的相关信息 diff --git a/GFramework.Core.Abstractions/events/EventContext.cs b/GFramework.Core.Abstractions/Events/EventContext.cs similarity index 92% rename from GFramework.Core.Abstractions/events/EventContext.cs rename to GFramework.Core.Abstractions/Events/EventContext.cs index 6d4e736..f0bd08c 100644 --- a/GFramework.Core.Abstractions/events/EventContext.cs +++ b/GFramework.Core.Abstractions/Events/EventContext.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.events; +namespace GFramework.Core.Abstractions.Events; /// /// 事件上下文,包装事件数据并提供控制方法 diff --git a/GFramework.Core.Abstractions/events/EventPropagation.cs b/GFramework.Core.Abstractions/Events/EventPropagation.cs similarity index 89% rename from GFramework.Core.Abstractions/events/EventPropagation.cs rename to GFramework.Core.Abstractions/Events/EventPropagation.cs index 61e3d86..0b4b2cc 100644 --- a/GFramework.Core.Abstractions/events/EventPropagation.cs +++ b/GFramework.Core.Abstractions/Events/EventPropagation.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.events; +namespace GFramework.Core.Abstractions.Events; /// /// 事件传播模式 diff --git a/GFramework.Core.Abstractions/events/IEvent.cs b/GFramework.Core.Abstractions/Events/IEvent.cs similarity index 88% rename from GFramework.Core.Abstractions/events/IEvent.cs rename to GFramework.Core.Abstractions/Events/IEvent.cs index cd4e7a3..5e7bacf 100644 --- a/GFramework.Core.Abstractions/events/IEvent.cs +++ b/GFramework.Core.Abstractions/Events/IEvent.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.events; +namespace GFramework.Core.Abstractions.Events; /// /// 事件接口,定义了事件注册的基本功能 diff --git a/GFramework.Core.Abstractions/events/IEventBus.cs b/GFramework.Core.Abstractions/Events/IEventBus.cs similarity index 97% rename from GFramework.Core.Abstractions/events/IEventBus.cs rename to GFramework.Core.Abstractions/Events/IEventBus.cs index 25f68e6..4b57343 100644 --- a/GFramework.Core.Abstractions/events/IEventBus.cs +++ b/GFramework.Core.Abstractions/Events/IEventBus.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.events; +namespace GFramework.Core.Abstractions.Events; /// /// 事件总线接口,提供事件的发送、注册和注销功能 diff --git a/GFramework.Core.Abstractions/events/IEventFilter.cs b/GFramework.Core.Abstractions/Events/IEventFilter.cs similarity index 92% rename from GFramework.Core.Abstractions/events/IEventFilter.cs rename to GFramework.Core.Abstractions/Events/IEventFilter.cs index d97b545..2729a08 100644 --- a/GFramework.Core.Abstractions/events/IEventFilter.cs +++ b/GFramework.Core.Abstractions/Events/IEventFilter.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.events; +namespace GFramework.Core.Abstractions.Events; /// /// 事件过滤器接口 diff --git a/GFramework.Core.Abstractions/events/IEventStatistics.cs b/GFramework.Core.Abstractions/Events/IEventStatistics.cs similarity index 96% rename from GFramework.Core.Abstractions/events/IEventStatistics.cs rename to GFramework.Core.Abstractions/Events/IEventStatistics.cs index 23adadb..3920201 100644 --- a/GFramework.Core.Abstractions/events/IEventStatistics.cs +++ b/GFramework.Core.Abstractions/Events/IEventStatistics.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.events; +namespace GFramework.Core.Abstractions.Events; /// /// 事件统计信息接口 diff --git a/GFramework.Core.Abstractions/events/IUnRegister.cs b/GFramework.Core.Abstractions/Events/IUnRegister.cs similarity index 79% rename from GFramework.Core.Abstractions/events/IUnRegister.cs rename to GFramework.Core.Abstractions/Events/IUnRegister.cs index a41b8c7..6f29d3b 100644 --- a/GFramework.Core.Abstractions/events/IUnRegister.cs +++ b/GFramework.Core.Abstractions/Events/IUnRegister.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.events; +namespace GFramework.Core.Abstractions.Events; /// /// 提供注销功能的接口 diff --git a/GFramework.Core.Abstractions/events/IUnRegisterList.cs b/GFramework.Core.Abstractions/Events/IUnRegisterList.cs similarity index 84% rename from GFramework.Core.Abstractions/events/IUnRegisterList.cs rename to GFramework.Core.Abstractions/Events/IUnRegisterList.cs index 970abd0..f13afee 100644 --- a/GFramework.Core.Abstractions/events/IUnRegisterList.cs +++ b/GFramework.Core.Abstractions/Events/IUnRegisterList.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.events; +namespace GFramework.Core.Abstractions.Events; /// /// 提供统一注销功能的接口,用于管理需要注销的对象列表 diff --git a/GFramework.Game.Abstractions/internals/IsExternalInit.cs b/GFramework.Core.Abstractions/Internals/IsExternalInit.cs similarity index 97% rename from GFramework.Game.Abstractions/internals/IsExternalInit.cs rename to GFramework.Core.Abstractions/Internals/IsExternalInit.cs index 880389a..be0cd50 100644 --- a/GFramework.Game.Abstractions/internals/IsExternalInit.cs +++ b/GFramework.Core.Abstractions/Internals/IsExternalInit.cs @@ -1,18 +1,18 @@ -// IsExternalInit.cs -// This type is required to support init-only setters and record types -// when targeting netstandard2.0 or older frameworks. - -#if !NET5_0_OR_GREATER -using System.ComponentModel; - -namespace System.Runtime.CompilerServices; - -/// -/// 提供一个占位符类型,用于支持 C# 9.0 的 init 访问器功能。 -/// 该类型在 .NET 5.0 及更高版本中已内置,因此仅在较低版本的 .NET 中定义。 -/// -[EditorBrowsable(EditorBrowsableState.Never)] -internal static class IsExternalInit -{ -} +// IsExternalInit.cs +// This type is required to support init-only setters and record types +// when targeting netstandard2.0 or older frameworks. + +#if !NET5_0_OR_GREATER +using System.ComponentModel; + +namespace System.Runtime.CompilerServices; + +/// +/// 提供一个占位符类型,用于支持 C# 9.0 的 init 访问器功能。 +/// 该类型在 .NET 5.0 及更高版本中已内置,因此仅在较低版本的 .NET 中定义。 +/// +[EditorBrowsable(EditorBrowsableState.Never)] +internal static class IsExternalInit +{ +} #endif \ No newline at end of file diff --git a/GFramework.Core.Abstractions/ioc/IIocContainer.cs b/GFramework.Core.Abstractions/IoC/IIocContainer.cs similarity index 98% rename from GFramework.Core.Abstractions/ioc/IIocContainer.cs rename to GFramework.Core.Abstractions/IoC/IIocContainer.cs index 8e87a2a..42fcb7d 100644 --- a/GFramework.Core.Abstractions/ioc/IIocContainer.cs +++ b/GFramework.Core.Abstractions/IoC/IIocContainer.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.rule; -using GFramework.Core.Abstractions.system; +using GFramework.Core.Abstractions.Rule; +using GFramework.Core.Abstractions.Systems; using Microsoft.Extensions.DependencyInjection; -namespace GFramework.Core.Abstractions.ioc; +namespace GFramework.Core.Abstractions.IoC; /// /// 依赖注入容器接口,定义了服务注册、解析和管理的基本操作 diff --git a/GFramework.Core.Abstractions/lifecycle/IAsyncDestroyable.cs b/GFramework.Core.Abstractions/Lifecycle/IAsyncDestroyable.cs similarity index 86% rename from GFramework.Core.Abstractions/lifecycle/IAsyncDestroyable.cs rename to GFramework.Core.Abstractions/Lifecycle/IAsyncDestroyable.cs index 73ee300..27edc59 100644 --- a/GFramework.Core.Abstractions/lifecycle/IAsyncDestroyable.cs +++ b/GFramework.Core.Abstractions/Lifecycle/IAsyncDestroyable.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.lifecycle; +namespace GFramework.Core.Abstractions.Lifecycle; /// /// 定义异步销毁接口,用于需要异步清理资源的组件 diff --git a/GFramework.Core.Abstractions/lifecycle/IAsyncInitializable.cs b/GFramework.Core.Abstractions/Lifecycle/IAsyncInitializable.cs similarity index 88% rename from GFramework.Core.Abstractions/lifecycle/IAsyncInitializable.cs rename to GFramework.Core.Abstractions/Lifecycle/IAsyncInitializable.cs index 4236768..7e6faf3 100644 --- a/GFramework.Core.Abstractions/lifecycle/IAsyncInitializable.cs +++ b/GFramework.Core.Abstractions/Lifecycle/IAsyncInitializable.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.lifecycle; +namespace GFramework.Core.Abstractions.Lifecycle; /// /// 定义异步初始化接口,用于需要异步初始化的组件或服务 diff --git a/GFramework.Core.Abstractions/lifecycle/IAsyncLifecycle.cs b/GFramework.Core.Abstractions/Lifecycle/IAsyncLifecycle.cs similarity index 78% rename from GFramework.Core.Abstractions/lifecycle/IAsyncLifecycle.cs rename to GFramework.Core.Abstractions/Lifecycle/IAsyncLifecycle.cs index d9acc1b..0b648c9 100644 --- a/GFramework.Core.Abstractions/lifecycle/IAsyncLifecycle.cs +++ b/GFramework.Core.Abstractions/Lifecycle/IAsyncLifecycle.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.lifecycle; +namespace GFramework.Core.Abstractions.Lifecycle; /// /// 定义异步生命周期接口,组合了异步初始化和异步销毁 diff --git a/GFramework.Core.Abstractions/lifecycle/IDestroyable.cs b/GFramework.Core.Abstractions/Lifecycle/IDestroyable.cs similarity index 81% rename from GFramework.Core.Abstractions/lifecycle/IDestroyable.cs rename to GFramework.Core.Abstractions/Lifecycle/IDestroyable.cs index e856543..51f192d 100644 --- a/GFramework.Core.Abstractions/lifecycle/IDestroyable.cs +++ b/GFramework.Core.Abstractions/Lifecycle/IDestroyable.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.lifecycle; +namespace GFramework.Core.Abstractions.Lifecycle; /// /// 可销毁接口,为需要资源清理的组件提供标准销毁能力 diff --git a/GFramework.Core.Abstractions/lifecycle/IInitializable.cs b/GFramework.Core.Abstractions/Lifecycle/IInitializable.cs similarity index 81% rename from GFramework.Core.Abstractions/lifecycle/IInitializable.cs rename to GFramework.Core.Abstractions/Lifecycle/IInitializable.cs index 1275840..005fdac 100644 --- a/GFramework.Core.Abstractions/lifecycle/IInitializable.cs +++ b/GFramework.Core.Abstractions/Lifecycle/IInitializable.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.lifecycle; +namespace GFramework.Core.Abstractions.Lifecycle; /// /// 可初始化接口,为需要初始化的组件提供标准初始化能力 diff --git a/GFramework.Core.Abstractions/lifecycle/ILifecycle.cs b/GFramework.Core.Abstractions/Lifecycle/ILifecycle.cs similarity index 74% rename from GFramework.Core.Abstractions/lifecycle/ILifecycle.cs rename to GFramework.Core.Abstractions/Lifecycle/ILifecycle.cs index 631a361..9c39230 100644 --- a/GFramework.Core.Abstractions/lifecycle/ILifecycle.cs +++ b/GFramework.Core.Abstractions/Lifecycle/ILifecycle.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.lifecycle; +namespace GFramework.Core.Abstractions.Lifecycle; /// /// 完整生命周期接口,组合了初始化和销毁能力 diff --git a/GFramework.Core.Abstractions/logging/ILogAppender.cs b/GFramework.Core.Abstractions/Logging/ILogAppender.cs similarity index 89% rename from GFramework.Core.Abstractions/logging/ILogAppender.cs rename to GFramework.Core.Abstractions/Logging/ILogAppender.cs index e47c4dd..d8ac74f 100644 --- a/GFramework.Core.Abstractions/logging/ILogAppender.cs +++ b/GFramework.Core.Abstractions/Logging/ILogAppender.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.logging; +namespace GFramework.Core.Abstractions.Logging; /// /// 日志输出器接口,负责将日志条目写入特定目标 diff --git a/GFramework.Core.Abstractions/logging/ILogFilter.cs b/GFramework.Core.Abstractions/Logging/ILogFilter.cs similarity index 88% rename from GFramework.Core.Abstractions/logging/ILogFilter.cs rename to GFramework.Core.Abstractions/Logging/ILogFilter.cs index c5e8e5c..debedcf 100644 --- a/GFramework.Core.Abstractions/logging/ILogFilter.cs +++ b/GFramework.Core.Abstractions/Logging/ILogFilter.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.logging; +namespace GFramework.Core.Abstractions.Logging; /// /// 日志过滤器接口,用于决定是否应该记录某条日志 diff --git a/GFramework.Core.Abstractions/logging/ILogFormatter.cs b/GFramework.Core.Abstractions/Logging/ILogFormatter.cs similarity index 88% rename from GFramework.Core.Abstractions/logging/ILogFormatter.cs rename to GFramework.Core.Abstractions/Logging/ILogFormatter.cs index 00792e1..0913eb9 100644 --- a/GFramework.Core.Abstractions/logging/ILogFormatter.cs +++ b/GFramework.Core.Abstractions/Logging/ILogFormatter.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.logging; +namespace GFramework.Core.Abstractions.Logging; /// /// 日志格式化器接口,用于将日志条目格式化为字符串 diff --git a/GFramework.Core.Abstractions/logging/ILogger.cs b/GFramework.Core.Abstractions/Logging/ILogger.cs similarity index 99% rename from GFramework.Core.Abstractions/logging/ILogger.cs rename to GFramework.Core.Abstractions/Logging/ILogger.cs index 72efefc..b1064b9 100644 --- a/GFramework.Core.Abstractions/logging/ILogger.cs +++ b/GFramework.Core.Abstractions/Logging/ILogger.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.logging; +namespace GFramework.Core.Abstractions.Logging; /// /// 定义日志记录接口,提供日志记录和级别检查功能 diff --git a/GFramework.Core.Abstractions/logging/ILoggerFactory.cs b/GFramework.Core.Abstractions/Logging/ILoggerFactory.cs similarity index 90% rename from GFramework.Core.Abstractions/logging/ILoggerFactory.cs rename to GFramework.Core.Abstractions/Logging/ILoggerFactory.cs index f0e0a6d..f8af144 100644 --- a/GFramework.Core.Abstractions/logging/ILoggerFactory.cs +++ b/GFramework.Core.Abstractions/Logging/ILoggerFactory.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.logging; +namespace GFramework.Core.Abstractions.Logging; /// /// 定义日志工厂接口,用于创建日志记录器实例 diff --git a/GFramework.Core.Abstractions/logging/ILoggerFactoryProvider.cs b/GFramework.Core.Abstractions/Logging/ILoggerFactoryProvider.cs similarity index 92% rename from GFramework.Core.Abstractions/logging/ILoggerFactoryProvider.cs rename to GFramework.Core.Abstractions/Logging/ILoggerFactoryProvider.cs index d0321dd..0cc3c74 100644 --- a/GFramework.Core.Abstractions/logging/ILoggerFactoryProvider.cs +++ b/GFramework.Core.Abstractions/Logging/ILoggerFactoryProvider.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.logging; +namespace GFramework.Core.Abstractions.Logging; /// /// 定义日志工厂提供者的接口,用于创建具有指定名称和最小日志级别的日志记录器 diff --git a/GFramework.Core.Abstractions/logging/IStructuredLogger.cs b/GFramework.Core.Abstractions/Logging/IStructuredLogger.cs similarity index 95% rename from GFramework.Core.Abstractions/logging/IStructuredLogger.cs rename to GFramework.Core.Abstractions/Logging/IStructuredLogger.cs index eee7092..9efc398 100644 --- a/GFramework.Core.Abstractions/logging/IStructuredLogger.cs +++ b/GFramework.Core.Abstractions/Logging/IStructuredLogger.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.logging; +namespace GFramework.Core.Abstractions.Logging; /// /// 支持结构化日志的日志记录器接口 diff --git a/GFramework.Core.Abstractions/logging/LogContext.cs b/GFramework.Core.Abstractions/Logging/LogContext.cs similarity index 98% rename from GFramework.Core.Abstractions/logging/LogContext.cs rename to GFramework.Core.Abstractions/Logging/LogContext.cs index 6effb1d..3360d74 100644 --- a/GFramework.Core.Abstractions/logging/LogContext.cs +++ b/GFramework.Core.Abstractions/Logging/LogContext.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.logging; +namespace GFramework.Core.Abstractions.Logging; /// /// 日志上下文,用于在异步流中传递结构化属性 diff --git a/GFramework.Core.Abstractions/logging/LogEntry.cs b/GFramework.Core.Abstractions/Logging/LogEntry.cs similarity index 95% rename from GFramework.Core.Abstractions/logging/LogEntry.cs rename to GFramework.Core.Abstractions/Logging/LogEntry.cs index 740353e..261ceb9 100644 --- a/GFramework.Core.Abstractions/logging/LogEntry.cs +++ b/GFramework.Core.Abstractions/Logging/LogEntry.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.logging; +namespace GFramework.Core.Abstractions.Logging; /// /// 日志条目,包含完整的日志信息 diff --git a/GFramework.Core.Abstractions/logging/LogLevel.cs b/GFramework.Core.Abstractions/Logging/LogLevel.cs similarity index 94% rename from GFramework.Core.Abstractions/logging/LogLevel.cs rename to GFramework.Core.Abstractions/Logging/LogLevel.cs index 9f70f89..abad89d 100644 --- a/GFramework.Core.Abstractions/logging/LogLevel.cs +++ b/GFramework.Core.Abstractions/Logging/LogLevel.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.logging; +namespace GFramework.Core.Abstractions.Logging; /// /// 定义日志级别的枚举,用于标识不同严重程度的日志消息 diff --git a/GFramework.Core.Abstractions/Model/IModel.cs b/GFramework.Core.Abstractions/Model/IModel.cs new file mode 100644 index 0000000..a0985ce --- /dev/null +++ b/GFramework.Core.Abstractions/Model/IModel.cs @@ -0,0 +1,10 @@ +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Abstractions.Lifecycle; +using GFramework.Core.Abstractions.Rule; + +namespace GFramework.Core.Abstractions.Model; + +/// +/// 模型接口,定义了模型的基本行为和功能 +/// +public interface IModel : IContextAware, IArchitecturePhaseListener, IInitializable; \ No newline at end of file diff --git a/GFramework.Core.Abstractions/pause/IPauseHandler.cs b/GFramework.Core.Abstractions/Pause/IPauseHandler.cs similarity index 91% rename from GFramework.Core.Abstractions/pause/IPauseHandler.cs rename to GFramework.Core.Abstractions/Pause/IPauseHandler.cs index f8ac3fe..50fec59 100644 --- a/GFramework.Core.Abstractions/pause/IPauseHandler.cs +++ b/GFramework.Core.Abstractions/Pause/IPauseHandler.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.pause; +namespace GFramework.Core.Abstractions.Pause; /// /// 暂停处理器接口,由引擎层实现具体的暂停/恢复逻辑 diff --git a/GFramework.Core.Abstractions/pause/IPauseStackManager.cs b/GFramework.Core.Abstractions/Pause/IPauseStackManager.cs similarity index 96% rename from GFramework.Core.Abstractions/pause/IPauseStackManager.cs rename to GFramework.Core.Abstractions/Pause/IPauseStackManager.cs index ae06c9b..7c40ab7 100644 --- a/GFramework.Core.Abstractions/pause/IPauseStackManager.cs +++ b/GFramework.Core.Abstractions/Pause/IPauseStackManager.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.utility; +using GFramework.Core.Abstractions.Utility; -namespace GFramework.Core.Abstractions.pause; +namespace GFramework.Core.Abstractions.Pause; /// /// 暂停栈管理器接口,管理嵌套暂停状态 diff --git a/GFramework.Core.Abstractions/pause/PauseGroup.cs b/GFramework.Core.Abstractions/Pause/PauseGroup.cs similarity index 93% rename from GFramework.Core.Abstractions/pause/PauseGroup.cs rename to GFramework.Core.Abstractions/Pause/PauseGroup.cs index 68bbf15..5b72d2a 100644 --- a/GFramework.Core.Abstractions/pause/PauseGroup.cs +++ b/GFramework.Core.Abstractions/Pause/PauseGroup.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.pause; +namespace GFramework.Core.Abstractions.Pause; /// /// 暂停组枚举,定义不同的暂停作用域 diff --git a/GFramework.Core.Abstractions/pause/PauseToken.cs b/GFramework.Core.Abstractions/Pause/PauseToken.cs similarity index 98% rename from GFramework.Core.Abstractions/pause/PauseToken.cs rename to GFramework.Core.Abstractions/Pause/PauseToken.cs index be0c345..ebc5cc2 100644 --- a/GFramework.Core.Abstractions/pause/PauseToken.cs +++ b/GFramework.Core.Abstractions/Pause/PauseToken.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.pause; +namespace GFramework.Core.Abstractions.Pause; /// /// 暂停令牌,唯一标识一个暂停请求 diff --git a/GFramework.Core.Abstractions/pool/IObjectPoolSystem.cs b/GFramework.Core.Abstractions/Pool/IObjectPoolSystem.cs similarity index 97% rename from GFramework.Core.Abstractions/pool/IObjectPoolSystem.cs rename to GFramework.Core.Abstractions/Pool/IObjectPoolSystem.cs index 62c3631..66d8aac 100644 --- a/GFramework.Core.Abstractions/pool/IObjectPoolSystem.cs +++ b/GFramework.Core.Abstractions/Pool/IObjectPoolSystem.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.pool; +namespace GFramework.Core.Abstractions.Pool; /// /// 对象池系统接口,定义了对象池的基本操作 diff --git a/GFramework.Core.Abstractions/pool/IPoolableObject.cs b/GFramework.Core.Abstractions/Pool/IPoolableObject.cs similarity index 92% rename from GFramework.Core.Abstractions/pool/IPoolableObject.cs rename to GFramework.Core.Abstractions/Pool/IPoolableObject.cs index acbc5a9..be5bdf8 100644 --- a/GFramework.Core.Abstractions/pool/IPoolableObject.cs +++ b/GFramework.Core.Abstractions/Pool/IPoolableObject.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.pool; +namespace GFramework.Core.Abstractions.Pool; /// /// 定义可池化对象的接口,提供对象在池中的生命周期管理方法 diff --git a/GFramework.Core.Abstractions/pool/PoolStatistics.cs b/GFramework.Core.Abstractions/Pool/PoolStatistics.cs similarity index 95% rename from GFramework.Core.Abstractions/pool/PoolStatistics.cs rename to GFramework.Core.Abstractions/Pool/PoolStatistics.cs index 45bfdc5..e33130a 100644 --- a/GFramework.Core.Abstractions/pool/PoolStatistics.cs +++ b/GFramework.Core.Abstractions/Pool/PoolStatistics.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.pool; +namespace GFramework.Core.Abstractions.Pool; /// /// 对象池统计信息 diff --git a/GFramework.Core.Abstractions/properties/ArchitectureProperties.cs b/GFramework.Core.Abstractions/Properties/ArchitectureProperties.cs similarity index 93% rename from GFramework.Core.Abstractions/properties/ArchitectureProperties.cs rename to GFramework.Core.Abstractions/Properties/ArchitectureProperties.cs index f1a5eca..78b8a89 100644 --- a/GFramework.Core.Abstractions/properties/ArchitectureProperties.cs +++ b/GFramework.Core.Abstractions/Properties/ArchitectureProperties.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.properties; +namespace GFramework.Core.Abstractions.Properties; /// /// 架构选项配置类,用于定义架构行为的相关配置选项。 diff --git a/GFramework.Core.Abstractions/properties/LoggerProperties.cs b/GFramework.Core.Abstractions/Properties/LoggerProperties.cs similarity index 79% rename from GFramework.Core.Abstractions/properties/LoggerProperties.cs rename to GFramework.Core.Abstractions/Properties/LoggerProperties.cs index a6364c4..980389b 100644 --- a/GFramework.Core.Abstractions/properties/LoggerProperties.cs +++ b/GFramework.Core.Abstractions/Properties/LoggerProperties.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.logging; +using GFramework.Core.Abstractions.Logging; -namespace GFramework.Core.Abstractions.properties; +namespace GFramework.Core.Abstractions.Properties; /// /// 日志配置选项类,用于配置日志系统的相关参数 diff --git a/GFramework.Core.Abstractions/property/IBindableProperty.cs b/GFramework.Core.Abstractions/Property/IBindableProperty.cs similarity index 91% rename from GFramework.Core.Abstractions/property/IBindableProperty.cs rename to GFramework.Core.Abstractions/Property/IBindableProperty.cs index 4b27ac0..e341330 100644 --- a/GFramework.Core.Abstractions/property/IBindableProperty.cs +++ b/GFramework.Core.Abstractions/Property/IBindableProperty.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.property; +namespace GFramework.Core.Abstractions.Property; /// /// 可绑定属性接口,继承自只读可绑定属性接口,提供可读写的属性绑定功能 diff --git a/GFramework.Core.Abstractions/property/IReadonlyBindableProperty.cs b/GFramework.Core.Abstractions/Property/IReadonlyBindableProperty.cs similarity index 92% rename from GFramework.Core.Abstractions/property/IReadonlyBindableProperty.cs rename to GFramework.Core.Abstractions/Property/IReadonlyBindableProperty.cs index 36510fc..8592e8a 100644 --- a/GFramework.Core.Abstractions/property/IReadonlyBindableProperty.cs +++ b/GFramework.Core.Abstractions/Property/IReadonlyBindableProperty.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.events; +using GFramework.Core.Abstractions.Events; -namespace GFramework.Core.Abstractions.property; +namespace GFramework.Core.Abstractions.Property; /// /// 只读可绑定属性接口,提供属性值的读取和变更监听功能 diff --git a/GFramework.Core.Abstractions/query/IAsyncQuery.cs b/GFramework.Core.Abstractions/Query/IAsyncQuery.cs similarity index 88% rename from GFramework.Core.Abstractions/query/IAsyncQuery.cs rename to GFramework.Core.Abstractions/Query/IAsyncQuery.cs index 202d057..91be19f 100644 --- a/GFramework.Core.Abstractions/query/IAsyncQuery.cs +++ b/GFramework.Core.Abstractions/Query/IAsyncQuery.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.query; +namespace GFramework.Core.Abstractions.Query; /// /// 异步查询接口,定义了执行异步查询操作的方法 diff --git a/GFramework.Core.Abstractions/query/IAsyncQueryExecutor.cs b/GFramework.Core.Abstractions/Query/IAsyncQueryExecutor.cs similarity index 92% rename from GFramework.Core.Abstractions/query/IAsyncQueryExecutor.cs rename to GFramework.Core.Abstractions/Query/IAsyncQueryExecutor.cs index 22f18f0..e106921 100644 --- a/GFramework.Core.Abstractions/query/IAsyncQueryExecutor.cs +++ b/GFramework.Core.Abstractions/Query/IAsyncQueryExecutor.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.query; +namespace GFramework.Core.Abstractions.Query; /// diff --git a/GFramework.Core.Abstractions/query/IQuery.cs b/GFramework.Core.Abstractions/Query/IQuery.cs similarity index 81% rename from GFramework.Core.Abstractions/query/IQuery.cs rename to GFramework.Core.Abstractions/Query/IQuery.cs index 8e3ffee..2d4e5aa 100644 --- a/GFramework.Core.Abstractions/query/IQuery.cs +++ b/GFramework.Core.Abstractions/Query/IQuery.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.rule; +using GFramework.Core.Abstractions.Rule; -namespace GFramework.Core.Abstractions.query; +namespace GFramework.Core.Abstractions.Query; /// /// 查询接口,定义了执行查询操作的契约 diff --git a/GFramework.Core.Abstractions/query/IQueryExecutor.cs b/GFramework.Core.Abstractions/Query/IQueryExecutor.cs similarity index 91% rename from GFramework.Core.Abstractions/query/IQueryExecutor.cs rename to GFramework.Core.Abstractions/Query/IQueryExecutor.cs index 6d47947..babc9f7 100644 --- a/GFramework.Core.Abstractions/query/IQueryExecutor.cs +++ b/GFramework.Core.Abstractions/Query/IQueryExecutor.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.query; +namespace GFramework.Core.Abstractions.Query; /// diff --git a/GFramework.Core.Abstractions/registries/IRegistry.cs b/GFramework.Core.Abstractions/Registries/IRegistry.cs similarity index 95% rename from GFramework.Core.Abstractions/registries/IRegistry.cs rename to GFramework.Core.Abstractions/Registries/IRegistry.cs index 74002b8..7610f35 100644 --- a/GFramework.Core.Abstractions/registries/IRegistry.cs +++ b/GFramework.Core.Abstractions/Registries/IRegistry.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.bases; +using GFramework.Core.Abstractions.Bases; -namespace GFramework.Core.Abstractions.registries; +namespace GFramework.Core.Abstractions.Registries; /// /// 表示一个通用的注册表接口,用于根据键类型T获取值类型TR的对象 diff --git a/GFramework.Core.Abstractions/registries/KeyValueRegistryBase.cs b/GFramework.Core.Abstractions/Registries/KeyValueRegistryBase.cs similarity index 97% rename from GFramework.Core.Abstractions/registries/KeyValueRegistryBase.cs rename to GFramework.Core.Abstractions/Registries/KeyValueRegistryBase.cs index 8ab1b5d..4510a16 100644 --- a/GFramework.Core.Abstractions/registries/KeyValueRegistryBase.cs +++ b/GFramework.Core.Abstractions/Registries/KeyValueRegistryBase.cs @@ -1,7 +1,7 @@ using System.Collections.ObjectModel; -using GFramework.Core.Abstractions.bases; +using GFramework.Core.Abstractions.Bases; -namespace GFramework.Core.Abstractions.registries; +namespace GFramework.Core.Abstractions.Registries; /// /// 基于Dictionary的通用键值注册表基类 diff --git a/GFramework.Core.Abstractions/resource/IResourceHandle.cs b/GFramework.Core.Abstractions/Resource/IResourceHandle.cs similarity index 94% rename from GFramework.Core.Abstractions/resource/IResourceHandle.cs rename to GFramework.Core.Abstractions/Resource/IResourceHandle.cs index bfdfc50..f7baf97 100644 --- a/GFramework.Core.Abstractions/resource/IResourceHandle.cs +++ b/GFramework.Core.Abstractions/Resource/IResourceHandle.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.resource; +namespace GFramework.Core.Abstractions.Resource; /// /// 资源句柄接口,用于管理资源的生命周期和引用 diff --git a/GFramework.Core.Abstractions/resource/IResourceLoader.cs b/GFramework.Core.Abstractions/Resource/IResourceLoader.cs similarity index 95% rename from GFramework.Core.Abstractions/resource/IResourceLoader.cs rename to GFramework.Core.Abstractions/Resource/IResourceLoader.cs index 01e8834..44c75dc 100644 --- a/GFramework.Core.Abstractions/resource/IResourceLoader.cs +++ b/GFramework.Core.Abstractions/Resource/IResourceLoader.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.resource; +namespace GFramework.Core.Abstractions.Resource; /// /// 资源加载器接口,用于加载特定类型的资源 diff --git a/GFramework.Core.Abstractions/resource/IResourceManager.cs b/GFramework.Core.Abstractions/Resource/IResourceManager.cs similarity index 96% rename from GFramework.Core.Abstractions/resource/IResourceManager.cs rename to GFramework.Core.Abstractions/Resource/IResourceManager.cs index dbdc5bd..267f24f 100644 --- a/GFramework.Core.Abstractions/resource/IResourceManager.cs +++ b/GFramework.Core.Abstractions/Resource/IResourceManager.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.utility; +using GFramework.Core.Abstractions.Utility; -namespace GFramework.Core.Abstractions.resource; +namespace GFramework.Core.Abstractions.Resource; /// /// 资源管理器接口,提供资源加载、缓存和卸载功能 diff --git a/GFramework.Core.Abstractions/resource/IResourceReleaseStrategy.cs b/GFramework.Core.Abstractions/Resource/IResourceReleaseStrategy.cs similarity index 90% rename from GFramework.Core.Abstractions/resource/IResourceReleaseStrategy.cs rename to GFramework.Core.Abstractions/Resource/IResourceReleaseStrategy.cs index c3ae8f8..fe28ed6 100644 --- a/GFramework.Core.Abstractions/resource/IResourceReleaseStrategy.cs +++ b/GFramework.Core.Abstractions/Resource/IResourceReleaseStrategy.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.resource; +namespace GFramework.Core.Abstractions.Resource; /// /// 资源释放策略接口 diff --git a/GFramework.Core.Abstractions/rule/IContextAware.cs b/GFramework.Core.Abstractions/Rule/IContextAware.cs similarity index 85% rename from GFramework.Core.Abstractions/rule/IContextAware.cs rename to GFramework.Core.Abstractions/Rule/IContextAware.cs index 9fb8e6a..449ebbc 100644 --- a/GFramework.Core.Abstractions/rule/IContextAware.cs +++ b/GFramework.Core.Abstractions/Rule/IContextAware.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.architecture; +using GFramework.Core.Abstractions.Architecture; -namespace GFramework.Core.Abstractions.rule; +namespace GFramework.Core.Abstractions.Rule; /// /// 上下文感知接口,用于为实现该接口的类提供设置和获取架构上下文的能力 diff --git a/GFramework.Core.Abstractions/rule/ILogAware.cs b/GFramework.Core.Abstractions/Rule/ILogAware.cs similarity index 78% rename from GFramework.Core.Abstractions/rule/ILogAware.cs rename to GFramework.Core.Abstractions/Rule/ILogAware.cs index 12b4daa..56ba85e 100644 --- a/GFramework.Core.Abstractions/rule/ILogAware.cs +++ b/GFramework.Core.Abstractions/Rule/ILogAware.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.logging; +using GFramework.Core.Abstractions.Logging; -namespace GFramework.Core.Abstractions.rule; +namespace GFramework.Core.Abstractions.Rule; /// /// 定义一个支持日志记录的接口,允许实现类设置和使用日志记录器 diff --git a/GFramework.Core.Abstractions/serializer/IRuntimeTypeSerializer.cs b/GFramework.Core.Abstractions/Serializer/IRuntimeTypeSerializer.cs similarity index 96% rename from GFramework.Core.Abstractions/serializer/IRuntimeTypeSerializer.cs rename to GFramework.Core.Abstractions/Serializer/IRuntimeTypeSerializer.cs index 44466e0..80a32f0 100644 --- a/GFramework.Core.Abstractions/serializer/IRuntimeTypeSerializer.cs +++ b/GFramework.Core.Abstractions/Serializer/IRuntimeTypeSerializer.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Core.Abstractions.serializer; +namespace GFramework.Core.Abstractions.Serializer; /// /// 运行时类型序列化器接口,继承自ISerializer接口 diff --git a/GFramework.Core.Abstractions/serializer/ISerializer.cs b/GFramework.Core.Abstractions/Serializer/ISerializer.cs similarity index 89% rename from GFramework.Core.Abstractions/serializer/ISerializer.cs rename to GFramework.Core.Abstractions/Serializer/ISerializer.cs index dade5cb..3f007f0 100644 --- a/GFramework.Core.Abstractions/serializer/ISerializer.cs +++ b/GFramework.Core.Abstractions/Serializer/ISerializer.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.utility; +using GFramework.Core.Abstractions.Utility; -namespace GFramework.Core.Abstractions.serializer; +namespace GFramework.Core.Abstractions.Serializer; /// /// 定义序列化器接口,提供对象序列化和反序列化的通用方法 diff --git a/GFramework.Core.Abstractions/state/IAsyncState.cs b/GFramework.Core.Abstractions/State/IAsyncState.cs similarity index 96% rename from GFramework.Core.Abstractions/state/IAsyncState.cs rename to GFramework.Core.Abstractions/State/IAsyncState.cs index 517642b..4577f00 100644 --- a/GFramework.Core.Abstractions/state/IAsyncState.cs +++ b/GFramework.Core.Abstractions/State/IAsyncState.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Core.Abstractions.state; +namespace GFramework.Core.Abstractions.State; /// /// 异步状态机状态接口,定义了状态的异步行为和转换规则 diff --git a/GFramework.Core.Abstractions/state/IState.cs b/GFramework.Core.Abstractions/State/IState.cs similarity index 94% rename from GFramework.Core.Abstractions/state/IState.cs rename to GFramework.Core.Abstractions/State/IState.cs index 8867c6f..61108e4 100644 --- a/GFramework.Core.Abstractions/state/IState.cs +++ b/GFramework.Core.Abstractions/State/IState.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.state; +namespace GFramework.Core.Abstractions.State; /// /// 状态机状态接口,定义了状态的基本行为和转换规则 diff --git a/GFramework.Core.Abstractions/state/IStateMachine.cs b/GFramework.Core.Abstractions/State/IStateMachine.cs similarity index 98% rename from GFramework.Core.Abstractions/state/IStateMachine.cs rename to GFramework.Core.Abstractions/State/IStateMachine.cs index 53b09ed..5cb924b 100644 --- a/GFramework.Core.Abstractions/state/IStateMachine.cs +++ b/GFramework.Core.Abstractions/State/IStateMachine.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.state; +namespace GFramework.Core.Abstractions.State; /// /// 状态机接口,用于管理状态的注册、切换和验证 diff --git a/GFramework.Core.Abstractions/state/IStateMachineSystem.cs b/GFramework.Core.Abstractions/State/IStateMachineSystem.cs similarity index 73% rename from GFramework.Core.Abstractions/state/IStateMachineSystem.cs rename to GFramework.Core.Abstractions/State/IStateMachineSystem.cs index 982400f..16a93eb 100644 --- a/GFramework.Core.Abstractions/state/IStateMachineSystem.cs +++ b/GFramework.Core.Abstractions/State/IStateMachineSystem.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.system; +using GFramework.Core.Abstractions.Systems; -namespace GFramework.Core.Abstractions.state; +namespace GFramework.Core.Abstractions.State; /// /// 状态机系统接口,继承自ISystem和IStateMachine接口 diff --git a/GFramework.Core.Abstractions/storage/IStorage.cs b/GFramework.Core.Abstractions/Storage/IStorage.cs similarity index 97% rename from GFramework.Core.Abstractions/storage/IStorage.cs rename to GFramework.Core.Abstractions/Storage/IStorage.cs index cc8ad40..39fd789 100644 --- a/GFramework.Core.Abstractions/storage/IStorage.cs +++ b/GFramework.Core.Abstractions/Storage/IStorage.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.utility; +using GFramework.Core.Abstractions.Utility; -namespace GFramework.Core.Abstractions.storage; +namespace GFramework.Core.Abstractions.Storage; /// /// 存储接口,提供同步和异步的数据存储操作功能 diff --git a/GFramework.Core.Abstractions/system/ISystem.cs b/GFramework.Core.Abstractions/Systems/ISystem.cs similarity index 59% rename from GFramework.Core.Abstractions/system/ISystem.cs rename to GFramework.Core.Abstractions/Systems/ISystem.cs index 0c91dcd..22699b7 100644 --- a/GFramework.Core.Abstractions/system/ISystem.cs +++ b/GFramework.Core.Abstractions/Systems/ISystem.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.Abstractions.lifecycle; -using GFramework.Core.Abstractions.rule; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Abstractions.Lifecycle; +using GFramework.Core.Abstractions.Rule; -namespace GFramework.Core.Abstractions.system; +namespace GFramework.Core.Abstractions.Systems; /// /// 系统接口,定义了系统的基本行为和功能 diff --git a/GFramework.Core.Abstractions/time/ITimeProvider.cs b/GFramework.Core.Abstractions/Time/ITimeProvider.cs similarity index 84% rename from GFramework.Core.Abstractions/time/ITimeProvider.cs rename to GFramework.Core.Abstractions/Time/ITimeProvider.cs index 5d9c6ac..f52fa81 100644 --- a/GFramework.Core.Abstractions/time/ITimeProvider.cs +++ b/GFramework.Core.Abstractions/Time/ITimeProvider.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.time; +namespace GFramework.Core.Abstractions.Time; /// /// 时间提供者接口,用于抽象时间获取以支持测试 diff --git a/GFramework.Core.Abstractions/utility/IContextUtility.cs b/GFramework.Core.Abstractions/Utility/IContextUtility.cs similarity index 62% rename from GFramework.Core.Abstractions/utility/IContextUtility.cs rename to GFramework.Core.Abstractions/Utility/IContextUtility.cs index 93641b8..3d92015 100644 --- a/GFramework.Core.Abstractions/utility/IContextUtility.cs +++ b/GFramework.Core.Abstractions/Utility/IContextUtility.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.lifecycle; -using GFramework.Core.Abstractions.rule; +using GFramework.Core.Abstractions.Lifecycle; +using GFramework.Core.Abstractions.Rule; -namespace GFramework.Core.Abstractions.utility; +namespace GFramework.Core.Abstractions.Utility; /// /// 上下文工具接口,继承自IUtility和IContextAware接口 diff --git a/GFramework.Core.Abstractions/utility/IUtility.cs b/GFramework.Core.Abstractions/Utility/IUtility.cs similarity index 80% rename from GFramework.Core.Abstractions/utility/IUtility.cs rename to GFramework.Core.Abstractions/Utility/IUtility.cs index db2c418..4cc0ce1 100644 --- a/GFramework.Core.Abstractions/utility/IUtility.cs +++ b/GFramework.Core.Abstractions/Utility/IUtility.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Abstractions.utility; +namespace GFramework.Core.Abstractions.Utility; /// /// IUtility接口定义了通用工具类的基本契约 diff --git a/GFramework.Core.Abstractions/versioning/IVersioned.cs b/GFramework.Core.Abstractions/Versioning/IVersioned.cs similarity index 93% rename from GFramework.Core.Abstractions/versioning/IVersioned.cs rename to GFramework.Core.Abstractions/Versioning/IVersioned.cs index a0d5ca3..c525414 100644 --- a/GFramework.Core.Abstractions/versioning/IVersioned.cs +++ b/GFramework.Core.Abstractions/Versioning/IVersioned.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Core.Abstractions.versioning; +namespace GFramework.Core.Abstractions.Versioning; /// /// 定义具有版本信息的接口 diff --git a/GFramework.Core.Abstractions/model/IModel.cs b/GFramework.Core.Abstractions/model/IModel.cs deleted file mode 100644 index 38f2f52..0000000 --- a/GFramework.Core.Abstractions/model/IModel.cs +++ /dev/null @@ -1,10 +0,0 @@ -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.Abstractions.lifecycle; -using GFramework.Core.Abstractions.rule; - -namespace GFramework.Core.Abstractions.model; - -/// -/// 模型接口,定义了模型的基本行为和功能 -/// -public interface IModel : IContextAware, IArchitecturePhaseListener, IInitializable; \ No newline at end of file diff --git a/GFramework.Core.Tests/architecture/ArchitectureConfigurationTests.cs b/GFramework.Core.Tests/Architectures/ArchitectureConfigurationTests.cs similarity index 95% rename from GFramework.Core.Tests/architecture/ArchitectureConfigurationTests.cs rename to GFramework.Core.Tests/Architectures/ArchitectureConfigurationTests.cs index af6afa9..2750fcc 100644 --- a/GFramework.Core.Tests/architecture/ArchitectureConfigurationTests.cs +++ b/GFramework.Core.Tests/Architectures/ArchitectureConfigurationTests.cs @@ -1,11 +1,10 @@ -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.Abstractions.logging; -using GFramework.Core.Abstractions.properties; -using GFramework.Core.architecture; -using GFramework.Core.logging; -using NUnit.Framework; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Abstractions.Properties; +using GFramework.Core.Architectures; +using GFramework.Core.Logging; -namespace GFramework.Core.Tests.architecture; +namespace GFramework.Core.Tests.Architectures; /// /// ArchitectureConfiguration类的单元测试 diff --git a/GFramework.Core.Tests/architecture/ArchitectureConstantsTests.cs b/GFramework.Core.Tests/Architectures/ArchitectureConstantsTests.cs similarity index 98% rename from GFramework.Core.Tests/architecture/ArchitectureConstantsTests.cs rename to GFramework.Core.Tests/Architectures/ArchitectureConstantsTests.cs index 866bf2d..1b7514f 100644 --- a/GFramework.Core.Tests/architecture/ArchitectureConstantsTests.cs +++ b/GFramework.Core.Tests/Architectures/ArchitectureConstantsTests.cs @@ -1,9 +1,8 @@ using System.Collections.Immutable; -using GFramework.Core.Abstractions.enums; -using GFramework.Core.architecture; -using NUnit.Framework; +using GFramework.Core.Abstractions.Enums; +using GFramework.Core.Architectures; -namespace GFramework.Core.Tests.architecture; +namespace GFramework.Core.Tests.Architectures; /// /// ArchitectureConstants类的单元测试 diff --git a/GFramework.Core.Tests/architecture/ArchitectureContextTests.cs b/GFramework.Core.Tests/Architectures/ArchitectureContextTests.cs similarity index 87% rename from GFramework.Core.Tests/architecture/ArchitectureContextTests.cs rename to GFramework.Core.Tests/Architectures/ArchitectureContextTests.cs index f1b54be..a3c2411 100644 --- a/GFramework.Core.Tests/architecture/ArchitectureContextTests.cs +++ b/GFramework.Core.Tests/Architectures/ArchitectureContextTests.cs @@ -1,22 +1,21 @@ using System.Reflection; -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.Abstractions.command; -using GFramework.Core.Abstractions.enums; -using GFramework.Core.Abstractions.environment; -using GFramework.Core.Abstractions.model; -using GFramework.Core.Abstractions.query; -using GFramework.Core.Abstractions.system; -using GFramework.Core.Abstractions.utility; -using GFramework.Core.architecture; -using GFramework.Core.command; -using GFramework.Core.environment; -using GFramework.Core.events; -using GFramework.Core.ioc; -using GFramework.Core.logging; -using GFramework.Core.query; -using NUnit.Framework; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Abstractions.Command; +using GFramework.Core.Abstractions.Enums; +using GFramework.Core.Abstractions.Environment; +using GFramework.Core.Abstractions.Model; +using GFramework.Core.Abstractions.Query; +using GFramework.Core.Abstractions.Systems; +using GFramework.Core.Abstractions.Utility; +using GFramework.Core.Architectures; +using GFramework.Core.Command; +using GFramework.Core.Environment; +using GFramework.Core.Events; +using GFramework.Core.IoC; +using GFramework.Core.Logging; +using GFramework.Core.Query; -namespace GFramework.Core.Tests.architecture; +namespace GFramework.Core.Tests.Architectures; /// /// ArchitectureContext类的单元测试 @@ -33,11 +32,11 @@ namespace GFramework.Core.Tests.architecture; /// - SendEvent_WithInstance方法 - 正常事件发送 /// - SendEvent_WithInstance方法 - 空事件异常 /// - GetSystem方法 - 获取已注册系统 -/// - GetSystem方法 - 获取未注册系统 +/// - GetSystem方法 - 获取未注册系统时抛出异常 /// - GetModel方法 - 获取已注册模型 -/// - GetModel方法 - 获取未注册模型 +/// - GetModel方法 - 获取未注册模型时抛出异常 /// - GetUtility方法 - 获取已注册工具 -/// - GetUtility方法 - 获取未注册工具 +/// - GetUtility方法 - 获取未注册工具时抛出异常 /// - GetEnvironment方法 - 获取环境对象 /// [TestFixture] @@ -229,14 +228,13 @@ public class ArchitectureContextTests } /// - /// 测试GetSystem方法在系统未注册时返回null + /// 测试GetSystem方法在系统未注册时应抛出 InvalidOperationException /// [Test] - public void GetSystem_Should_ReturnNull_When_SystemIsNotRegistered() + public void GetSystem_Should_ThrowInvalidOperationException_When_SystemIsNotRegistered() { - var result = _context!.GetSystem(); - - Assert.That(result, Is.Null); + Assert.That(() => _context!.GetSystem(), + Throws.InvalidOperationException); } /// @@ -255,14 +253,13 @@ public class ArchitectureContextTests } /// - /// 测试GetModel方法在模型未注册时返回null + /// 测试GetModel方法在模型未注册时应抛出 InvalidOperationException /// [Test] - public void GetModel_Should_ReturnNull_When_ModelIsNotRegistered() + public void GetModel_Should_ThrowInvalidOperationException_When_ModelIsNotRegistered() { - var result = _context!.GetModel(); - - Assert.That(result, Is.Null); + Assert.That(() => _context!.GetModel(), + Throws.InvalidOperationException); } /// @@ -281,14 +278,13 @@ public class ArchitectureContextTests } /// - /// 测试GetUtility方法在工具未注册时返回null + /// 测试GetUtility方法在工具未注册时应抛出 InvalidOperationException /// [Test] - public void GetUtility_Should_ReturnNull_When_UtilityIsNotRegistered() + public void GetUtility_Should_ThrowInvalidOperationException_When_UtilityIsNotRegistered() { - var result = _context!.GetUtility(); - - Assert.That(result, Is.Null); + Assert.That(() => _context!.GetUtility(), + Throws.InvalidOperationException); } /// diff --git a/GFramework.Core.Tests/architecture/ArchitectureServicesTests.cs b/GFramework.Core.Tests/Architectures/ArchitectureServicesTests.cs similarity index 90% rename from GFramework.Core.Tests/architecture/ArchitectureServicesTests.cs rename to GFramework.Core.Tests/Architectures/ArchitectureServicesTests.cs index 5621b33..a8d92f9 100644 --- a/GFramework.Core.Tests/architecture/ArchitectureServicesTests.cs +++ b/GFramework.Core.Tests/Architectures/ArchitectureServicesTests.cs @@ -1,22 +1,22 @@ -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.Abstractions.command; -using GFramework.Core.Abstractions.environment; -using GFramework.Core.Abstractions.events; -using GFramework.Core.Abstractions.ioc; -using GFramework.Core.Abstractions.model; -using GFramework.Core.Abstractions.query; -using GFramework.Core.Abstractions.system; -using GFramework.Core.Abstractions.utility; -using GFramework.Core.architecture; -using GFramework.Core.command; -using GFramework.Core.environment; -using GFramework.Core.events; -using GFramework.Core.ioc; -using GFramework.Core.query; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Abstractions.Command; +using GFramework.Core.Abstractions.Environment; +using GFramework.Core.Abstractions.Events; +using GFramework.Core.Abstractions.IoC; +using GFramework.Core.Abstractions.Model; +using GFramework.Core.Abstractions.Query; +using GFramework.Core.Abstractions.Systems; +using GFramework.Core.Abstractions.Utility; +using GFramework.Core.Architectures; +using GFramework.Core.Command; +using GFramework.Core.Environment; +using GFramework.Core.Events; +using GFramework.Core.IoC; +using GFramework.Core.Query; using Mediator; -using ICommand = GFramework.Core.Abstractions.command.ICommand; +using ICommand = GFramework.Core.Abstractions.Command.ICommand; -namespace GFramework.Core.Tests.architecture; +namespace GFramework.Core.Tests.Architectures; /// /// ArchitectureServices类的单元测试 @@ -358,24 +358,24 @@ public class TestArchitectureContextV3 : IArchitectureContext throw new NotImplementedException(); } - public ValueTask SendCommandAsync(Mediator.ICommand command, + public ValueTask SendCommandAsync(global::Mediator.ICommand command, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } - public TResponse SendCommand(Mediator.ICommand command) + public TResponse SendCommand(global::Mediator.ICommand command) { throw new NotImplementedException(); } - public ValueTask SendQueryAsync(Mediator.IQuery query, + public ValueTask SendQueryAsync(global::Mediator.IQuery query, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } - public TResponse SendQuery(Mediator.IQuery query) + public TResponse SendQuery(global::Mediator.IQuery query) { throw new NotImplementedException(); } @@ -408,7 +408,7 @@ public class TestArchitectureContextV3 : IArchitectureContext { } - public TResult SendCommand(Abstractions.command.ICommand command) + public TResult SendCommand(Abstractions.Command.ICommand command) { return default!; } @@ -423,7 +423,7 @@ public class TestArchitectureContextV3 : IArchitectureContext return (Task)Task.CompletedTask; } - public TResult SendQuery(Abstractions.query.IQuery query) + public TResult SendQuery(Abstractions.Query.IQuery query) { return default!; } diff --git a/GFramework.Core.Tests/architecture/AsyncTestArchitecture.cs b/GFramework.Core.Tests/Architectures/AsyncTestArchitecture.cs similarity index 79% rename from GFramework.Core.Tests/architecture/AsyncTestArchitecture.cs rename to GFramework.Core.Tests/Architectures/AsyncTestArchitecture.cs index 69caddc..d260caa 100644 --- a/GFramework.Core.Tests/architecture/AsyncTestArchitecture.cs +++ b/GFramework.Core.Tests/Architectures/AsyncTestArchitecture.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Tests.model; -using GFramework.Core.Tests.system; +using GFramework.Core.Tests.Model; +using GFramework.Core.Tests.Systems; -namespace GFramework.Core.Tests.architecture; +namespace GFramework.Core.Tests.Architectures; /// /// 异步测试架构,用于测试异步模型和系统的初始化 diff --git a/GFramework.Core.Tests/architecture/ContextProviderTests.cs b/GFramework.Core.Tests/Architectures/ContextProviderTests.cs similarity index 96% rename from GFramework.Core.Tests/architecture/ContextProviderTests.cs rename to GFramework.Core.Tests/Architectures/ContextProviderTests.cs index d1358a7..2e5ad0c 100644 --- a/GFramework.Core.Tests/architecture/ContextProviderTests.cs +++ b/GFramework.Core.Tests/Architectures/ContextProviderTests.cs @@ -1,8 +1,7 @@ -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.architecture; -using NUnit.Framework; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Architectures; -namespace GFramework.Core.Tests.architecture; +namespace GFramework.Core.Tests.Architectures; /// /// ContextProvider 相关类的单元测试 diff --git a/GFramework.Core.Tests/architecture/GameContextTests.cs b/GFramework.Core.Tests/Architectures/GameContextTests.cs similarity index 92% rename from GFramework.Core.Tests/architecture/GameContextTests.cs rename to GFramework.Core.Tests/Architectures/GameContextTests.cs index 7ab2400..083d21b 100644 --- a/GFramework.Core.Tests/architecture/GameContextTests.cs +++ b/GFramework.Core.Tests/Architectures/GameContextTests.cs @@ -1,23 +1,22 @@ -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.Abstractions.command; -using GFramework.Core.Abstractions.environment; -using GFramework.Core.Abstractions.events; -using GFramework.Core.Abstractions.ioc; -using GFramework.Core.Abstractions.model; -using GFramework.Core.Abstractions.query; -using GFramework.Core.Abstractions.system; -using GFramework.Core.Abstractions.utility; -using GFramework.Core.architecture; -using GFramework.Core.command; -using GFramework.Core.environment; -using GFramework.Core.events; -using GFramework.Core.ioc; -using GFramework.Core.query; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Abstractions.Command; +using GFramework.Core.Abstractions.Environment; +using GFramework.Core.Abstractions.Events; +using GFramework.Core.Abstractions.IoC; +using GFramework.Core.Abstractions.Model; +using GFramework.Core.Abstractions.Query; +using GFramework.Core.Abstractions.Systems; +using GFramework.Core.Abstractions.Utility; +using GFramework.Core.Architectures; +using GFramework.Core.Command; +using GFramework.Core.Environment; +using GFramework.Core.Events; +using GFramework.Core.IoC; +using GFramework.Core.Query; using Mediator; -using NUnit.Framework; -using ICommand = GFramework.Core.Abstractions.command.ICommand; +using ICommand = GFramework.Core.Abstractions.Command.ICommand; -namespace GFramework.Core.Tests.architecture; +namespace GFramework.Core.Tests.Architectures; /// /// GameContext类的单元测试 @@ -406,24 +405,24 @@ public class TestArchitectureContext : IArchitectureContext throw new NotImplementedException(); } - public ValueTask SendCommandAsync(Mediator.ICommand command, + public ValueTask SendCommandAsync(global::Mediator.ICommand command, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } - public TResponse SendCommand(Mediator.ICommand command) + public TResponse SendCommand(global::Mediator.ICommand command) { throw new NotImplementedException(); } - public ValueTask SendQueryAsync(Mediator.IQuery query, + public ValueTask SendQueryAsync(global::Mediator.IQuery query, CancellationToken cancellationToken = default) { throw new NotImplementedException(); } - public TResponse SendQuery(Mediator.IQuery query) + public TResponse SendQuery(global::Mediator.IQuery query) { throw new NotImplementedException(); } @@ -466,7 +465,7 @@ public class TestArchitectureContext : IArchitectureContext /// 返回值类型 /// 命令对象 /// 命令执行结果 - public TResult SendCommand(Abstractions.command.ICommand command) + public TResult SendCommand(Abstractions.Command.ICommand command) { return default!; } @@ -487,7 +486,7 @@ public class TestArchitectureContext : IArchitectureContext /// 查询结果类型 /// 查询对象 /// 查询结果 - public TResult SendQuery(Abstractions.query.IQuery query) + public TResult SendQuery(Abstractions.Query.IQuery query) { return default!; } diff --git a/GFramework.Core.Tests/architecture/PriorityServiceTests.cs b/GFramework.Core.Tests/Architectures/PriorityServiceTests.cs similarity index 94% rename from GFramework.Core.Tests/architecture/PriorityServiceTests.cs rename to GFramework.Core.Tests/Architectures/PriorityServiceTests.cs index 90ba4bc..2242457 100644 --- a/GFramework.Core.Tests/architecture/PriorityServiceTests.cs +++ b/GFramework.Core.Tests/Architectures/PriorityServiceTests.cs @@ -1,15 +1,13 @@ using System.Reflection; -using GFramework.Core.Abstractions.bases; -using GFramework.Core.Abstractions.model; -using GFramework.Core.Abstractions.system; -using GFramework.Core.Abstractions.utility; -using GFramework.Core.ioc; -using GFramework.Core.logging; -using GFramework.Core.model; -using GFramework.Core.system; -using NUnit.Framework; +using GFramework.Core.Abstractions.Bases; +using GFramework.Core.Abstractions.Model; +using GFramework.Core.Abstractions.Systems; +using GFramework.Core.Abstractions.Utility; +using GFramework.Core.IoC; +using GFramework.Core.Logging; +using GFramework.Core.Model; -namespace GFramework.Core.Tests.architecture; +namespace GFramework.Core.Tests.Architectures; /// /// 优先级服务排序的集成测试 diff --git a/GFramework.Core.Tests/architecture/RegistryInitializationHookBaseTests.cs b/GFramework.Core.Tests/Architectures/RegistryInitializationHookBaseTests.cs similarity index 96% rename from GFramework.Core.Tests/architecture/RegistryInitializationHookBaseTests.cs rename to GFramework.Core.Tests/Architectures/RegistryInitializationHookBaseTests.cs index 54515d2..6c13900 100644 --- a/GFramework.Core.Tests/architecture/RegistryInitializationHookBaseTests.cs +++ b/GFramework.Core.Tests/Architectures/RegistryInitializationHookBaseTests.cs @@ -1,14 +1,13 @@ -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.Abstractions.enums; -using GFramework.Core.Abstractions.lifecycle; -using GFramework.Core.Abstractions.model; -using GFramework.Core.Abstractions.system; -using GFramework.Core.Abstractions.utility; -using GFramework.Core.architecture; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Abstractions.Enums; +using GFramework.Core.Abstractions.Lifecycle; +using GFramework.Core.Abstractions.Model; +using GFramework.Core.Abstractions.Systems; +using GFramework.Core.Abstractions.Utility; +using GFramework.Core.Architectures; using Microsoft.Extensions.DependencyInjection; -using NUnit.Framework; -namespace GFramework.Core.Tests.architecture; +namespace GFramework.Core.Tests.Architectures; /// /// RegistryInitializationHookBase 抽象基类的单元测试 diff --git a/GFramework.Core.Tests/architecture/SyncTestArchitecture.cs b/GFramework.Core.Tests/Architectures/SyncTestArchitecture.cs similarity index 79% rename from GFramework.Core.Tests/architecture/SyncTestArchitecture.cs rename to GFramework.Core.Tests/Architectures/SyncTestArchitecture.cs index 27f0f41..64ad403 100644 --- a/GFramework.Core.Tests/architecture/SyncTestArchitecture.cs +++ b/GFramework.Core.Tests/Architectures/SyncTestArchitecture.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Tests.model; -using GFramework.Core.Tests.system; +using GFramework.Core.Tests.Model; +using GFramework.Core.Tests.Systems; -namespace GFramework.Core.Tests.architecture; +namespace GFramework.Core.Tests.Architectures; /// /// 同步测试架构类,用于测试架构的生命周期和事件处理 diff --git a/GFramework.Core.Tests/architecture/TestArchitectureBase.cs b/GFramework.Core.Tests/Architectures/TestArchitectureBase.cs similarity index 92% rename from GFramework.Core.Tests/architecture/TestArchitectureBase.cs rename to GFramework.Core.Tests/Architectures/TestArchitectureBase.cs index 8b96d40..c3d5e76 100644 --- a/GFramework.Core.Tests/architecture/TestArchitectureBase.cs +++ b/GFramework.Core.Tests/Architectures/TestArchitectureBase.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.enums; -using GFramework.Core.architecture; +using GFramework.Core.Abstractions.Enums; +using GFramework.Core.Architectures; -namespace GFramework.Core.Tests.architecture; +namespace GFramework.Core.Tests.Architectures; /// /// 测试架构基类,提供通用的测试架构功能 diff --git a/GFramework.Core.Tests/command/AbstractAsyncCommandTests.cs b/GFramework.Core.Tests/Command/AbstractAsyncCommandTests.cs similarity index 96% rename from GFramework.Core.Tests/command/AbstractAsyncCommandTests.cs rename to GFramework.Core.Tests/Command/AbstractAsyncCommandTests.cs index c2e3375..5eac1d2 100644 --- a/GFramework.Core.Tests/command/AbstractAsyncCommandTests.cs +++ b/GFramework.Core.Tests/Command/AbstractAsyncCommandTests.cs @@ -1,15 +1,14 @@ -using GFramework.Core.Abstractions.command; -using GFramework.Core.Abstractions.cqrs.command; -using GFramework.Core.Abstractions.rule; -using GFramework.Core.architecture; -using GFramework.Core.command; -using GFramework.Core.environment; -using GFramework.Core.events; -using GFramework.Core.ioc; -using GFramework.Core.query; -using NUnit.Framework; +using GFramework.Core.Abstractions.Command; +using GFramework.Core.Abstractions.CQRS.Command; +using GFramework.Core.Abstractions.Rule; +using GFramework.Core.Architectures; +using GFramework.Core.Command; +using GFramework.Core.Environment; +using GFramework.Core.Events; +using GFramework.Core.IoC; +using GFramework.Core.Query; -namespace GFramework.Core.Tests.command; +namespace GFramework.Core.Tests.Command; /// /// AbstractAsyncCommand类的单元测试 diff --git a/GFramework.Core.Tests/command/CommandExecutorTests.cs b/GFramework.Core.Tests/Command/CommandExecutorTests.cs similarity index 98% rename from GFramework.Core.Tests/command/CommandExecutorTests.cs rename to GFramework.Core.Tests/Command/CommandExecutorTests.cs index ae9b39b..61c37fc 100644 --- a/GFramework.Core.Tests/command/CommandExecutorTests.cs +++ b/GFramework.Core.Tests/Command/CommandExecutorTests.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.cqrs.command; -using GFramework.Core.command; +using GFramework.Core.Abstractions.CQRS.Command; +using GFramework.Core.Command; using NUnit.Framework; -namespace GFramework.Core.Tests.command; +namespace GFramework.Core.Tests.Command; /// /// CommandBus类的单元测试 diff --git a/GFramework.Core.Tests/configuration/ConfigurationManagerTests.cs b/GFramework.Core.Tests/Configuration/ConfigurationManagerTests.cs similarity index 99% rename from GFramework.Core.Tests/configuration/ConfigurationManagerTests.cs rename to GFramework.Core.Tests/Configuration/ConfigurationManagerTests.cs index 45a38dd..648ca39 100644 --- a/GFramework.Core.Tests/configuration/ConfigurationManagerTests.cs +++ b/GFramework.Core.Tests/Configuration/ConfigurationManagerTests.cs @@ -1,8 +1,8 @@ using System.IO; -using GFramework.Core.configuration; +using GFramework.Core.Configuration; using NUnit.Framework; -namespace GFramework.Core.Tests.configuration; +namespace GFramework.Core.Tests.Configuration; /// /// ConfigurationManager 功能测试类 diff --git a/GFramework.Core.Tests/constants/GFrameworkConstantsTests.cs b/GFramework.Core.Tests/Constants/GFrameworkConstantsTests.cs similarity index 95% rename from GFramework.Core.Tests/constants/GFrameworkConstantsTests.cs rename to GFramework.Core.Tests/Constants/GFrameworkConstantsTests.cs index 185ae71..1817160 100644 --- a/GFramework.Core.Tests/constants/GFrameworkConstantsTests.cs +++ b/GFramework.Core.Tests/Constants/GFrameworkConstantsTests.cs @@ -1,7 +1,6 @@ -using GFramework.Core.constants; -using NUnit.Framework; +using GFramework.Core.Constants; -namespace GFramework.Core.Tests.constants; +namespace GFramework.Core.Tests.Constants; /// /// GFrameworkConstants类的单元测试 diff --git a/GFramework.Core.Tests/coroutine/AsyncOperationTests.cs b/GFramework.Core.Tests/Coroutine/AsyncOperationTests.cs similarity index 98% rename from GFramework.Core.Tests/coroutine/AsyncOperationTests.cs rename to GFramework.Core.Tests/Coroutine/AsyncOperationTests.cs index 15c6f94..d246c7c 100644 --- a/GFramework.Core.Tests/coroutine/AsyncOperationTests.cs +++ b/GFramework.Core.Tests/Coroutine/AsyncOperationTests.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Coroutine.Instructions; using NUnit.Framework; -namespace GFramework.Core.Tests.coroutine; +namespace GFramework.Core.Tests.Coroutine; /// /// AsyncOperation的单元测试类 diff --git a/GFramework.Core.Tests/coroutine/CommandCoroutineExtensionsTests.cs b/GFramework.Core.Tests/Coroutine/CommandCoroutineExtensionsTests.cs similarity index 97% rename from GFramework.Core.Tests/coroutine/CommandCoroutineExtensionsTests.cs rename to GFramework.Core.Tests/Coroutine/CommandCoroutineExtensionsTests.cs index d12d30d..ad7434d 100644 --- a/GFramework.Core.Tests/coroutine/CommandCoroutineExtensionsTests.cs +++ b/GFramework.Core.Tests/Coroutine/CommandCoroutineExtensionsTests.cs @@ -1,14 +1,14 @@ -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.Abstractions.command; -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.Abstractions.events; -using GFramework.Core.Abstractions.rule; -using GFramework.Core.coroutine.extensions; -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Abstractions.Command; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Abstractions.Events; +using GFramework.Core.Abstractions.Rule; +using GFramework.Core.Coroutine.Extensions; +using GFramework.Core.Coroutine.Instructions; using Moq; using NUnit.Framework; -namespace GFramework.Core.Tests.coroutine; +namespace GFramework.Core.Tests.Coroutine; /// /// CommandCoroutineExtensions的单元测试类 diff --git a/GFramework.Core.Tests/coroutine/CoroutineComposeExtensionsTests.cs b/GFramework.Core.Tests/Coroutine/CoroutineComposeExtensionsTests.cs similarity index 98% rename from GFramework.Core.Tests/coroutine/CoroutineComposeExtensionsTests.cs rename to GFramework.Core.Tests/Coroutine/CoroutineComposeExtensionsTests.cs index bb8d9d1..d712df0 100644 --- a/GFramework.Core.Tests/coroutine/CoroutineComposeExtensionsTests.cs +++ b/GFramework.Core.Tests/Coroutine/CoroutineComposeExtensionsTests.cs @@ -1,9 +1,9 @@ -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.coroutine.extensions; -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Coroutine.Extensions; +using GFramework.Core.Coroutine.Instructions; using NUnit.Framework; -namespace GFramework.Core.Tests.coroutine; +namespace GFramework.Core.Tests.Coroutine; /// /// CoroutineComposeExtensions的单元测试类 diff --git a/GFramework.Core.Tests/coroutine/CoroutineExtensionsTests.cs b/GFramework.Core.Tests/Coroutine/CoroutineExtensionsTests.cs similarity index 98% rename from GFramework.Core.Tests/coroutine/CoroutineExtensionsTests.cs rename to GFramework.Core.Tests/Coroutine/CoroutineExtensionsTests.cs index 58b0afa..91aedf0 100644 --- a/GFramework.Core.Tests/coroutine/CoroutineExtensionsTests.cs +++ b/GFramework.Core.Tests/Coroutine/CoroutineExtensionsTests.cs @@ -1,10 +1,10 @@ -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.coroutine; -using GFramework.Core.coroutine.extensions; -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Coroutine; +using GFramework.Core.Coroutine.Extensions; +using GFramework.Core.Coroutine.Instructions; using NUnit.Framework; -namespace GFramework.Core.Tests.coroutine; +namespace GFramework.Core.Tests.Coroutine; /// /// 协程扩展方法的单元测试类 diff --git a/GFramework.Core.Tests/coroutine/CoroutineGroupTests.cs b/GFramework.Core.Tests/Coroutine/CoroutineGroupTests.cs similarity index 97% rename from GFramework.Core.Tests/coroutine/CoroutineGroupTests.cs rename to GFramework.Core.Tests/Coroutine/CoroutineGroupTests.cs index 58b674f..4233844 100644 --- a/GFramework.Core.Tests/coroutine/CoroutineGroupTests.cs +++ b/GFramework.Core.Tests/Coroutine/CoroutineGroupTests.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.coroutine; -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Coroutine; +using GFramework.Core.Coroutine.Instructions; -namespace GFramework.Core.Tests.coroutine; +namespace GFramework.Core.Tests.Coroutine; /// /// 协程分组管理测试 diff --git a/GFramework.Core.Tests/coroutine/CoroutineHandleTests.cs b/GFramework.Core.Tests/Coroutine/CoroutineHandleTests.cs similarity index 98% rename from GFramework.Core.Tests/coroutine/CoroutineHandleTests.cs rename to GFramework.Core.Tests/Coroutine/CoroutineHandleTests.cs index c9ca14c..2205c0b 100644 --- a/GFramework.Core.Tests/coroutine/CoroutineHandleTests.cs +++ b/GFramework.Core.Tests/Coroutine/CoroutineHandleTests.cs @@ -1,7 +1,7 @@ -using GFramework.Core.coroutine; +using GFramework.Core.Coroutine; using NUnit.Framework; -namespace GFramework.Core.Tests.coroutine; +namespace GFramework.Core.Tests.Coroutine; /// /// 协程句柄的单元测试类 diff --git a/GFramework.Core.Tests/coroutine/CoroutineHelperTests.cs b/GFramework.Core.Tests/Coroutine/CoroutineHelperTests.cs similarity index 98% rename from GFramework.Core.Tests/coroutine/CoroutineHelperTests.cs rename to GFramework.Core.Tests/Coroutine/CoroutineHelperTests.cs index 636aabd..7899e2d 100644 --- a/GFramework.Core.Tests/coroutine/CoroutineHelperTests.cs +++ b/GFramework.Core.Tests/Coroutine/CoroutineHelperTests.cs @@ -1,9 +1,9 @@ -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.coroutine; -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Coroutine; +using GFramework.Core.Coroutine.Instructions; using NUnit.Framework; -namespace GFramework.Core.Tests.coroutine; +namespace GFramework.Core.Tests.Coroutine; /// /// 协程辅助方法的单元测试类 diff --git a/GFramework.Core.Tests/coroutine/CoroutinePriorityTests.cs b/GFramework.Core.Tests/Coroutine/CoroutinePriorityTests.cs similarity index 96% rename from GFramework.Core.Tests/coroutine/CoroutinePriorityTests.cs rename to GFramework.Core.Tests/Coroutine/CoroutinePriorityTests.cs index f64a6fb..a1f150b 100644 --- a/GFramework.Core.Tests/coroutine/CoroutinePriorityTests.cs +++ b/GFramework.Core.Tests/Coroutine/CoroutinePriorityTests.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.coroutine; -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Coroutine; +using GFramework.Core.Coroutine.Instructions; -namespace GFramework.Core.Tests.coroutine; +namespace GFramework.Core.Tests.Coroutine; /// /// 协程优先级测试 diff --git a/GFramework.Core.Tests/coroutine/CoroutineSchedulerTests.cs b/GFramework.Core.Tests/Coroutine/CoroutineSchedulerTests.cs similarity index 98% rename from GFramework.Core.Tests/coroutine/CoroutineSchedulerTests.cs rename to GFramework.Core.Tests/Coroutine/CoroutineSchedulerTests.cs index 73cf5f7..15fda6f 100644 --- a/GFramework.Core.Tests/coroutine/CoroutineSchedulerTests.cs +++ b/GFramework.Core.Tests/Coroutine/CoroutineSchedulerTests.cs @@ -1,11 +1,11 @@ -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.Abstractions.events; -using GFramework.Core.coroutine; -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Abstractions.Events; +using GFramework.Core.Coroutine; +using GFramework.Core.Coroutine.Instructions; using Moq; using NUnit.Framework; -namespace GFramework.Core.Tests.coroutine; +namespace GFramework.Core.Tests.Coroutine; /// /// 协程调度器的单元测试类 diff --git a/GFramework.Core.Tests/coroutine/CoroutineStateTests.cs b/GFramework.Core.Tests/Coroutine/CoroutineStateTests.cs similarity index 94% rename from GFramework.Core.Tests/coroutine/CoroutineStateTests.cs rename to GFramework.Core.Tests/Coroutine/CoroutineStateTests.cs index 3b92b14..f4a4fc9 100644 --- a/GFramework.Core.Tests/coroutine/CoroutineStateTests.cs +++ b/GFramework.Core.Tests/Coroutine/CoroutineStateTests.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.coroutine; +using GFramework.Core.Abstractions.Coroutine; using NUnit.Framework; -namespace GFramework.Core.Tests.coroutine; +namespace GFramework.Core.Tests.Coroutine; /// /// 协程状态枚举的单元测试类 diff --git a/GFramework.Core.Tests/coroutine/CoroutineStatisticsTests.cs b/GFramework.Core.Tests/Coroutine/CoroutineStatisticsTests.cs similarity index 98% rename from GFramework.Core.Tests/coroutine/CoroutineStatisticsTests.cs rename to GFramework.Core.Tests/Coroutine/CoroutineStatisticsTests.cs index bd24e1c..cbaaf4c 100644 --- a/GFramework.Core.Tests/coroutine/CoroutineStatisticsTests.cs +++ b/GFramework.Core.Tests/Coroutine/CoroutineStatisticsTests.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.coroutine; -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Coroutine; +using GFramework.Core.Coroutine.Instructions; -namespace GFramework.Core.Tests.coroutine; +namespace GFramework.Core.Tests.Coroutine; /// /// 协程统计功能测试 diff --git a/GFramework.Core.Tests/coroutine/DelayTests.cs b/GFramework.Core.Tests/Coroutine/DelayTests.cs similarity index 95% rename from GFramework.Core.Tests/coroutine/DelayTests.cs rename to GFramework.Core.Tests/Coroutine/DelayTests.cs index ab55229..f0618a0 100644 --- a/GFramework.Core.Tests/coroutine/DelayTests.cs +++ b/GFramework.Core.Tests/Coroutine/DelayTests.cs @@ -1,7 +1,7 @@ -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Coroutine.Instructions; using NUnit.Framework; -namespace GFramework.Core.Tests.coroutine +namespace GFramework.Core.Tests.Coroutine { /// /// Delay类的单元测试,用于验证延迟指令的功能 diff --git a/GFramework.Core.Tests/coroutine/FakeTimeSource.cs b/GFramework.Core.Tests/Coroutine/FakeTimeSource.cs similarity index 91% rename from GFramework.Core.Tests/coroutine/FakeTimeSource.cs rename to GFramework.Core.Tests/Coroutine/FakeTimeSource.cs index 95518af..5de7d3b 100644 --- a/GFramework.Core.Tests/coroutine/FakeTimeSource.cs +++ b/GFramework.Core.Tests/Coroutine/FakeTimeSource.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.coroutine; +using GFramework.Core.Abstractions.Coroutine; -namespace GFramework.Core.Tests.coroutine; +namespace GFramework.Core.Tests.Coroutine; /// /// 可控制的时间源,用于协程测试 diff --git a/GFramework.Core.Tests/coroutine/MediatorCoroutineExtensionsTests.cs b/GFramework.Core.Tests/Coroutine/MediatorCoroutineExtensionsTests.cs similarity index 93% rename from GFramework.Core.Tests/coroutine/MediatorCoroutineExtensionsTests.cs rename to GFramework.Core.Tests/Coroutine/MediatorCoroutineExtensionsTests.cs index b23e887..649836b 100644 --- a/GFramework.Core.Tests/coroutine/MediatorCoroutineExtensionsTests.cs +++ b/GFramework.Core.Tests/Coroutine/MediatorCoroutineExtensionsTests.cs @@ -11,15 +11,15 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.Abstractions.rule; -using GFramework.Core.coroutine.extensions; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Abstractions.Rule; +using GFramework.Core.Coroutine.Extensions; using Mediator; using Moq; using NUnit.Framework; -namespace GFramework.Core.Tests.coroutine; +namespace GFramework.Core.Tests.Coroutine; /// /// MediatorCoroutineExtensions的单元测试类 diff --git a/GFramework.Core.Tests/coroutine/QueryCoroutineExtensionsTests.cs b/GFramework.Core.Tests/Coroutine/QueryCoroutineExtensionsTests.cs similarity index 97% rename from GFramework.Core.Tests/coroutine/QueryCoroutineExtensionsTests.cs rename to GFramework.Core.Tests/Coroutine/QueryCoroutineExtensionsTests.cs index 9a720cf..995f057 100644 --- a/GFramework.Core.Tests/coroutine/QueryCoroutineExtensionsTests.cs +++ b/GFramework.Core.Tests/Coroutine/QueryCoroutineExtensionsTests.cs @@ -1,12 +1,12 @@ -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.Abstractions.query; -using GFramework.Core.Abstractions.rule; -using GFramework.Core.coroutine.extensions; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Abstractions.Query; +using GFramework.Core.Abstractions.Rule; +using GFramework.Core.Coroutine.Extensions; using Moq; using NUnit.Framework; -namespace GFramework.Core.Tests.coroutine; +namespace GFramework.Core.Tests.Coroutine; /// /// QueryCoroutineExtensions的单元测试类 diff --git a/GFramework.Core.Tests/coroutine/TaskCoroutineExtensionsTests.cs b/GFramework.Core.Tests/Coroutine/TaskCoroutineExtensionsTests.cs similarity index 97% rename from GFramework.Core.Tests/coroutine/TaskCoroutineExtensionsTests.cs rename to GFramework.Core.Tests/Coroutine/TaskCoroutineExtensionsTests.cs index 01f8ab5..946ba9a 100644 --- a/GFramework.Core.Tests/coroutine/TaskCoroutineExtensionsTests.cs +++ b/GFramework.Core.Tests/Coroutine/TaskCoroutineExtensionsTests.cs @@ -1,10 +1,10 @@ -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.coroutine; -using GFramework.Core.coroutine.extensions; -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Coroutine; +using GFramework.Core.Coroutine.Extensions; +using GFramework.Core.Coroutine.Instructions; using NUnit.Framework; -namespace GFramework.Core.Tests.coroutine; +namespace GFramework.Core.Tests.Coroutine; /// /// TaskCoroutineExtensions的单元测试类 diff --git a/GFramework.Core.Tests/coroutine/WaitForAllCoroutinesTests.cs b/GFramework.Core.Tests/Coroutine/WaitForAllCoroutinesTests.cs similarity index 98% rename from GFramework.Core.Tests/coroutine/WaitForAllCoroutinesTests.cs rename to GFramework.Core.Tests/Coroutine/WaitForAllCoroutinesTests.cs index b3ae4d6..3f9ac34 100644 --- a/GFramework.Core.Tests/coroutine/WaitForAllCoroutinesTests.cs +++ b/GFramework.Core.Tests/Coroutine/WaitForAllCoroutinesTests.cs @@ -1,10 +1,10 @@ -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.coroutine; -using GFramework.Core.coroutine.extensions; -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Coroutine; +using GFramework.Core.Coroutine.Extensions; +using GFramework.Core.Coroutine.Instructions; using NUnit.Framework; -namespace GFramework.Core.Tests.coroutine; +namespace GFramework.Core.Tests.Coroutine; /// /// WaitForAllCoroutines的单元测试类 diff --git a/GFramework.Core.Tests/coroutine/WaitForConditionChangeTests.cs b/GFramework.Core.Tests/Coroutine/WaitForConditionChangeTests.cs similarity index 96% rename from GFramework.Core.Tests/coroutine/WaitForConditionChangeTests.cs rename to GFramework.Core.Tests/Coroutine/WaitForConditionChangeTests.cs index db91ee2..c79c4d6 100644 --- a/GFramework.Core.Tests/coroutine/WaitForConditionChangeTests.cs +++ b/GFramework.Core.Tests/Coroutine/WaitForConditionChangeTests.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Coroutine.Instructions; using NUnit.Framework; -namespace GFramework.Core.Tests.coroutine; +namespace GFramework.Core.Tests.Coroutine; /// /// WaitForConditionChange的单元测试类 diff --git a/GFramework.Core.Tests/coroutine/WaitForCoroutineTests.cs b/GFramework.Core.Tests/Coroutine/WaitForCoroutineTests.cs similarity index 87% rename from GFramework.Core.Tests/coroutine/WaitForCoroutineTests.cs rename to GFramework.Core.Tests/Coroutine/WaitForCoroutineTests.cs index 768072d..14f9b72 100644 --- a/GFramework.Core.Tests/coroutine/WaitForCoroutineTests.cs +++ b/GFramework.Core.Tests/Coroutine/WaitForCoroutineTests.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Coroutine.Instructions; using NUnit.Framework; -namespace GFramework.Core.Tests.coroutine +namespace GFramework.Core.Tests.Coroutine { [TestFixture] public class WaitForCoroutineTests diff --git a/GFramework.Core.Tests/coroutine/WaitForEndOfFrameTests.cs b/GFramework.Core.Tests/Coroutine/WaitForEndOfFrameTests.cs similarity index 91% rename from GFramework.Core.Tests/coroutine/WaitForEndOfFrameTests.cs rename to GFramework.Core.Tests/Coroutine/WaitForEndOfFrameTests.cs index d57ff72..511f518 100644 --- a/GFramework.Core.Tests/coroutine/WaitForEndOfFrameTests.cs +++ b/GFramework.Core.Tests/Coroutine/WaitForEndOfFrameTests.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Coroutine.Instructions; using NUnit.Framework; -namespace GFramework.Core.Tests.coroutine; +namespace GFramework.Core.Tests.Coroutine; /// /// WaitForEndOfFrame的单元测试类 diff --git a/GFramework.Core.Tests/coroutine/WaitForEventTests.cs b/GFramework.Core.Tests/Coroutine/WaitForEventTests.cs similarity index 98% rename from GFramework.Core.Tests/coroutine/WaitForEventTests.cs rename to GFramework.Core.Tests/Coroutine/WaitForEventTests.cs index 723aa4e..35e2594 100644 --- a/GFramework.Core.Tests/coroutine/WaitForEventTests.cs +++ b/GFramework.Core.Tests/Coroutine/WaitForEventTests.cs @@ -1,10 +1,10 @@ -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.Abstractions.events; -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Abstractions.Events; +using GFramework.Core.Coroutine.Instructions; using Moq; using NUnit.Framework; -namespace GFramework.Core.Tests.coroutine; +namespace GFramework.Core.Tests.Coroutine; /// /// WaitForEvent的单元测试类 diff --git a/GFramework.Core.Tests/coroutine/WaitForEventWithTimeoutTests.cs b/GFramework.Core.Tests/Coroutine/WaitForEventWithTimeoutTests.cs similarity index 98% rename from GFramework.Core.Tests/coroutine/WaitForEventWithTimeoutTests.cs rename to GFramework.Core.Tests/Coroutine/WaitForEventWithTimeoutTests.cs index dc2ee1c..7f78b10 100644 --- a/GFramework.Core.Tests/coroutine/WaitForEventWithTimeoutTests.cs +++ b/GFramework.Core.Tests/Coroutine/WaitForEventWithTimeoutTests.cs @@ -1,10 +1,10 @@ -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.Abstractions.events; -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Abstractions.Events; +using GFramework.Core.Coroutine.Instructions; using Moq; using NUnit.Framework; -namespace GFramework.Core.Tests.coroutine; +namespace GFramework.Core.Tests.Coroutine; /// /// WaitForEventWithTimeout的单元测试类 diff --git a/GFramework.Core.Tests/coroutine/WaitForFixedUpdateTests.cs b/GFramework.Core.Tests/Coroutine/WaitForFixedUpdateTests.cs similarity index 91% rename from GFramework.Core.Tests/coroutine/WaitForFixedUpdateTests.cs rename to GFramework.Core.Tests/Coroutine/WaitForFixedUpdateTests.cs index a5d981f..28aafcf 100644 --- a/GFramework.Core.Tests/coroutine/WaitForFixedUpdateTests.cs +++ b/GFramework.Core.Tests/Coroutine/WaitForFixedUpdateTests.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Coroutine.Instructions; using NUnit.Framework; -namespace GFramework.Core.Tests.coroutine; +namespace GFramework.Core.Tests.Coroutine; /// /// WaitForFixedUpdate的单元测试类 diff --git a/GFramework.Core.Tests/coroutine/WaitForFramesTests.cs b/GFramework.Core.Tests/Coroutine/WaitForFramesTests.cs similarity index 95% rename from GFramework.Core.Tests/coroutine/WaitForFramesTests.cs rename to GFramework.Core.Tests/Coroutine/WaitForFramesTests.cs index 43c2a68..88bef6d 100644 --- a/GFramework.Core.Tests/coroutine/WaitForFramesTests.cs +++ b/GFramework.Core.Tests/Coroutine/WaitForFramesTests.cs @@ -1,7 +1,7 @@ -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Coroutine.Instructions; using NUnit.Framework; -namespace GFramework.Core.Tests.coroutine +namespace GFramework.Core.Tests.Coroutine { [TestFixture] public class WaitForFramesTests diff --git a/GFramework.Core.Tests/coroutine/WaitForMultipleEventsTests.cs b/GFramework.Core.Tests/Coroutine/WaitForMultipleEventsTests.cs similarity index 97% rename from GFramework.Core.Tests/coroutine/WaitForMultipleEventsTests.cs rename to GFramework.Core.Tests/Coroutine/WaitForMultipleEventsTests.cs index 8bc3013..1d0588d 100644 --- a/GFramework.Core.Tests/coroutine/WaitForMultipleEventsTests.cs +++ b/GFramework.Core.Tests/Coroutine/WaitForMultipleEventsTests.cs @@ -1,9 +1,9 @@ -using GFramework.Core.Abstractions.events; -using GFramework.Core.coroutine.instructions; -using GFramework.Core.events; +using GFramework.Core.Abstractions.Events; +using GFramework.Core.Coroutine.Instructions; +using GFramework.Core.Events; using NUnit.Framework; -namespace GFramework.Core.Tests.coroutine +namespace GFramework.Core.Tests.Coroutine { [TestFixture] public class WaitForMultipleEventsTests diff --git a/GFramework.Core.Tests/coroutine/WaitForNextFrameTests.cs b/GFramework.Core.Tests/Coroutine/WaitForNextFrameTests.cs similarity index 91% rename from GFramework.Core.Tests/coroutine/WaitForNextFrameTests.cs rename to GFramework.Core.Tests/Coroutine/WaitForNextFrameTests.cs index fabff30..709a48d 100644 --- a/GFramework.Core.Tests/coroutine/WaitForNextFrameTests.cs +++ b/GFramework.Core.Tests/Coroutine/WaitForNextFrameTests.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Coroutine.Instructions; using NUnit.Framework; -namespace GFramework.Core.Tests.coroutine; +namespace GFramework.Core.Tests.Coroutine; /// /// WaitForNextFrame的单元测试类 diff --git a/GFramework.Core.Tests/coroutine/WaitForPredicateTests.cs b/GFramework.Core.Tests/Coroutine/WaitForPredicateTests.cs similarity index 94% rename from GFramework.Core.Tests/coroutine/WaitForPredicateTests.cs rename to GFramework.Core.Tests/Coroutine/WaitForPredicateTests.cs index d46f808..64fd0ce 100644 --- a/GFramework.Core.Tests/coroutine/WaitForPredicateTests.cs +++ b/GFramework.Core.Tests/Coroutine/WaitForPredicateTests.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Coroutine.Instructions; using NUnit.Framework; -namespace GFramework.Core.Tests.coroutine; +namespace GFramework.Core.Tests.Coroutine; /// /// WaitForPredicate的单元测试类 diff --git a/GFramework.Core.Tests/coroutine/WaitForProgressTests.cs b/GFramework.Core.Tests/Coroutine/WaitForProgressTests.cs similarity index 98% rename from GFramework.Core.Tests/coroutine/WaitForProgressTests.cs rename to GFramework.Core.Tests/Coroutine/WaitForProgressTests.cs index f0588ec..b92ab1a 100644 --- a/GFramework.Core.Tests/coroutine/WaitForProgressTests.cs +++ b/GFramework.Core.Tests/Coroutine/WaitForProgressTests.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Coroutine.Instructions; using NUnit.Framework; -namespace GFramework.Core.Tests.coroutine; +namespace GFramework.Core.Tests.Coroutine; /// /// WaitForProgress的单元测试类 diff --git a/GFramework.Core.Tests/coroutine/WaitForSecondsRealtimeTests.cs b/GFramework.Core.Tests/Coroutine/WaitForSecondsRealtimeTests.cs similarity index 93% rename from GFramework.Core.Tests/coroutine/WaitForSecondsRealtimeTests.cs rename to GFramework.Core.Tests/Coroutine/WaitForSecondsRealtimeTests.cs index af86fc9..9152472 100644 --- a/GFramework.Core.Tests/coroutine/WaitForSecondsRealtimeTests.cs +++ b/GFramework.Core.Tests/Coroutine/WaitForSecondsRealtimeTests.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Coroutine.Instructions; using NUnit.Framework; -namespace GFramework.Core.Tests.coroutine; +namespace GFramework.Core.Tests.Coroutine; /// /// WaitForSecondsRealtime的单元测试类 diff --git a/GFramework.Core.Tests/coroutine/WaitForSecondsScaledTests.cs b/GFramework.Core.Tests/Coroutine/WaitForSecondsScaledTests.cs similarity index 93% rename from GFramework.Core.Tests/coroutine/WaitForSecondsScaledTests.cs rename to GFramework.Core.Tests/Coroutine/WaitForSecondsScaledTests.cs index a017fb3..3ce4d78 100644 --- a/GFramework.Core.Tests/coroutine/WaitForSecondsScaledTests.cs +++ b/GFramework.Core.Tests/Coroutine/WaitForSecondsScaledTests.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Coroutine.Instructions; using NUnit.Framework; -namespace GFramework.Core.Tests.coroutine; +namespace GFramework.Core.Tests.Coroutine; /// /// WaitForSecondsScaled的单元测试类 diff --git a/GFramework.Core.Tests/coroutine/WaitForTaskTTests.cs b/GFramework.Core.Tests/Coroutine/WaitForTaskTTests.cs similarity index 97% rename from GFramework.Core.Tests/coroutine/WaitForTaskTTests.cs rename to GFramework.Core.Tests/Coroutine/WaitForTaskTTests.cs index ab446cd..b04ef28 100644 --- a/GFramework.Core.Tests/coroutine/WaitForTaskTTests.cs +++ b/GFramework.Core.Tests/Coroutine/WaitForTaskTTests.cs @@ -1,7 +1,7 @@ -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Coroutine.Instructions; using NUnit.Framework; -namespace GFramework.Core.Tests.coroutine +namespace GFramework.Core.Tests.Coroutine { [TestFixture] public class WaitForTaskTTests diff --git a/GFramework.Core.Tests/coroutine/WaitForTaskTests.cs b/GFramework.Core.Tests/Coroutine/WaitForTaskTests.cs similarity index 98% rename from GFramework.Core.Tests/coroutine/WaitForTaskTests.cs rename to GFramework.Core.Tests/Coroutine/WaitForTaskTests.cs index 6180956..c6565bb 100644 --- a/GFramework.Core.Tests/coroutine/WaitForTaskTests.cs +++ b/GFramework.Core.Tests/Coroutine/WaitForTaskTests.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Coroutine.Instructions; using NUnit.Framework; -namespace GFramework.Core.Tests.coroutine; +namespace GFramework.Core.Tests.Coroutine; /// /// WaitForTask的单元测试类 diff --git a/GFramework.Core.Tests/coroutine/WaitOneFrameTests.cs b/GFramework.Core.Tests/Coroutine/WaitOneFrameTests.cs similarity index 91% rename from GFramework.Core.Tests/coroutine/WaitOneFrameTests.cs rename to GFramework.Core.Tests/Coroutine/WaitOneFrameTests.cs index 1f2af7a..539eb1c 100644 --- a/GFramework.Core.Tests/coroutine/WaitOneFrameTests.cs +++ b/GFramework.Core.Tests/Coroutine/WaitOneFrameTests.cs @@ -1,7 +1,7 @@ -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Coroutine.Instructions; using NUnit.Framework; -namespace GFramework.Core.Tests.coroutine +namespace GFramework.Core.Tests.Coroutine { [TestFixture] public class WaitOneFrameTests diff --git a/GFramework.Core.Tests/coroutine/WaitUntilOrTimeoutTests.cs b/GFramework.Core.Tests/Coroutine/WaitUntilOrTimeoutTests.cs similarity index 95% rename from GFramework.Core.Tests/coroutine/WaitUntilOrTimeoutTests.cs rename to GFramework.Core.Tests/Coroutine/WaitUntilOrTimeoutTests.cs index c9b04d3..5489569 100644 --- a/GFramework.Core.Tests/coroutine/WaitUntilOrTimeoutTests.cs +++ b/GFramework.Core.Tests/Coroutine/WaitUntilOrTimeoutTests.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Coroutine.Instructions; using NUnit.Framework; -namespace GFramework.Core.Tests.coroutine; +namespace GFramework.Core.Tests.Coroutine; /// /// WaitUntilOrTimeout的单元测试类 diff --git a/GFramework.Core.Tests/coroutine/WaitUntilTests.cs b/GFramework.Core.Tests/Coroutine/WaitUntilTests.cs similarity index 93% rename from GFramework.Core.Tests/coroutine/WaitUntilTests.cs rename to GFramework.Core.Tests/Coroutine/WaitUntilTests.cs index 47fffb7..d07f2eb 100644 --- a/GFramework.Core.Tests/coroutine/WaitUntilTests.cs +++ b/GFramework.Core.Tests/Coroutine/WaitUntilTests.cs @@ -1,7 +1,7 @@ -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Coroutine.Instructions; using NUnit.Framework; -namespace GFramework.Core.Tests.coroutine +namespace GFramework.Core.Tests.Coroutine { [TestFixture] public class WaitUntilTests diff --git a/GFramework.Core.Tests/coroutine/WaitWhileTests.cs b/GFramework.Core.Tests/Coroutine/WaitWhileTests.cs similarity index 94% rename from GFramework.Core.Tests/coroutine/WaitWhileTests.cs rename to GFramework.Core.Tests/Coroutine/WaitWhileTests.cs index 9829b7e..b6a476c 100644 --- a/GFramework.Core.Tests/coroutine/WaitWhileTests.cs +++ b/GFramework.Core.Tests/Coroutine/WaitWhileTests.cs @@ -1,7 +1,7 @@ -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Coroutine.Instructions; using NUnit.Framework; -namespace GFramework.Core.Tests.coroutine +namespace GFramework.Core.Tests.Coroutine { [TestFixture] public class WaitWhileTests diff --git a/GFramework.Core.Tests/coroutine/YieldInstructionTests.cs b/GFramework.Core.Tests/Coroutine/YieldInstructionTests.cs similarity index 98% rename from GFramework.Core.Tests/coroutine/YieldInstructionTests.cs rename to GFramework.Core.Tests/Coroutine/YieldInstructionTests.cs index 3c73231..7e5d893 100644 --- a/GFramework.Core.Tests/coroutine/YieldInstructionTests.cs +++ b/GFramework.Core.Tests/Coroutine/YieldInstructionTests.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Coroutine.Instructions; using NUnit.Framework; -namespace GFramework.Core.Tests.coroutine; +namespace GFramework.Core.Tests.Coroutine; /// /// 等待指令的单元测试类 diff --git a/GFramework.Core.Tests/environment/EnvironmentTests.cs b/GFramework.Core.Tests/Environment/EnvironmentTests.cs similarity index 97% rename from GFramework.Core.Tests/environment/EnvironmentTests.cs rename to GFramework.Core.Tests/Environment/EnvironmentTests.cs index f20bb8e..49056cf 100644 --- a/GFramework.Core.Tests/environment/EnvironmentTests.cs +++ b/GFramework.Core.Tests/Environment/EnvironmentTests.cs @@ -1,8 +1,7 @@ -using GFramework.Core.Abstractions.environment; -using GFramework.Core.environment; -using NUnit.Framework; +using GFramework.Core.Abstractions.Environment; +using GFramework.Core.Environment; -namespace GFramework.Core.Tests.environment; +namespace GFramework.Core.Tests.Environment; /// /// 测试环境相关的单元测试类,用于验证环境管理功能的正确性 diff --git a/GFramework.Core.Tests/events/EasyEventsTests.cs b/GFramework.Core.Tests/Events/EasyEventsTests.cs similarity index 98% rename from GFramework.Core.Tests/events/EasyEventsTests.cs rename to GFramework.Core.Tests/Events/EasyEventsTests.cs index ae03023..404fe02 100644 --- a/GFramework.Core.Tests/events/EasyEventsTests.cs +++ b/GFramework.Core.Tests/Events/EasyEventsTests.cs @@ -1,7 +1,7 @@ -using GFramework.Core.events; +using GFramework.Core.Events; using NUnit.Framework; -namespace GFramework.Core.Tests.events; +namespace GFramework.Core.Tests.Events; /// /// EasyEvents功能测试类,用于验证事件系统的注册、触发和参数传递功能 diff --git a/GFramework.Core.Tests/events/EventBusPriorityTests.cs b/GFramework.Core.Tests/Events/EventBusPriorityTests.cs similarity index 99% rename from GFramework.Core.Tests/events/EventBusPriorityTests.cs rename to GFramework.Core.Tests/Events/EventBusPriorityTests.cs index 2f6d013..c75405d 100644 --- a/GFramework.Core.Tests/events/EventBusPriorityTests.cs +++ b/GFramework.Core.Tests/Events/EventBusPriorityTests.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.events; -using GFramework.Core.events; +using GFramework.Core.Abstractions.Events; +using GFramework.Core.Events; using NUnit.Framework; -namespace GFramework.Core.Tests.events; +namespace GFramework.Core.Tests.Events; /// /// 测试事件系统优先级和传播控制功能 diff --git a/GFramework.Core.Tests/events/EventBusTests.cs b/GFramework.Core.Tests/Events/EventBusTests.cs similarity index 96% rename from GFramework.Core.Tests/events/EventBusTests.cs rename to GFramework.Core.Tests/Events/EventBusTests.cs index 13167c0..385cbcc 100644 --- a/GFramework.Core.Tests/events/EventBusTests.cs +++ b/GFramework.Core.Tests/Events/EventBusTests.cs @@ -1,7 +1,7 @@ -using GFramework.Core.events; +using GFramework.Core.Events; using NUnit.Framework; -namespace GFramework.Core.Tests.events; +namespace GFramework.Core.Tests.Events; /// /// EventBus测试类,用于验证事件总线的各种功能 diff --git a/GFramework.Core.Tests/events/EventFilterTests.cs b/GFramework.Core.Tests/Events/EventFilterTests.cs similarity index 98% rename from GFramework.Core.Tests/events/EventFilterTests.cs rename to GFramework.Core.Tests/Events/EventFilterTests.cs index 1417dc0..9c7f0a1 100644 --- a/GFramework.Core.Tests/events/EventFilterTests.cs +++ b/GFramework.Core.Tests/Events/EventFilterTests.cs @@ -1,7 +1,7 @@ -using GFramework.Core.events; -using GFramework.Core.events.filters; +using GFramework.Core.Events; +using GFramework.Core.Events.Filters; -namespace GFramework.Core.Tests.events; +namespace GFramework.Core.Tests.Events; /// /// 事件过滤器功能测试 diff --git a/GFramework.Core.Tests/events/EventListenerScopeTests.cs b/GFramework.Core.Tests/Events/EventListenerScopeTests.cs similarity index 99% rename from GFramework.Core.Tests/events/EventListenerScopeTests.cs rename to GFramework.Core.Tests/Events/EventListenerScopeTests.cs index 590bf06..a88edba 100644 --- a/GFramework.Core.Tests/events/EventListenerScopeTests.cs +++ b/GFramework.Core.Tests/Events/EventListenerScopeTests.cs @@ -1,9 +1,9 @@ -using GFramework.Core.Abstractions.events; -using GFramework.Core.events; +using GFramework.Core.Abstractions.Events; +using GFramework.Core.Events; using Moq; using NUnit.Framework; -namespace GFramework.Core.Tests.events; +namespace GFramework.Core.Tests.Events; /// /// EventListenerScope的单元测试类 diff --git a/GFramework.Core.Tests/events/EventStatisticsTests.cs b/GFramework.Core.Tests/Events/EventStatisticsTests.cs similarity index 98% rename from GFramework.Core.Tests/events/EventStatisticsTests.cs rename to GFramework.Core.Tests/Events/EventStatisticsTests.cs index a683d00..cfa5f68 100644 --- a/GFramework.Core.Tests/events/EventStatisticsTests.cs +++ b/GFramework.Core.Tests/Events/EventStatisticsTests.cs @@ -1,6 +1,6 @@ -using GFramework.Core.events; +using GFramework.Core.Events; -namespace GFramework.Core.Tests.events; +namespace GFramework.Core.Tests.Events; /// /// 事件统计功能测试 diff --git a/GFramework.Core.Tests/events/EventTests.cs b/GFramework.Core.Tests/Events/EventTests.cs similarity index 98% rename from GFramework.Core.Tests/events/EventTests.cs rename to GFramework.Core.Tests/Events/EventTests.cs index 8dccfbc..d77981a 100644 --- a/GFramework.Core.Tests/events/EventTests.cs +++ b/GFramework.Core.Tests/Events/EventTests.cs @@ -1,7 +1,7 @@ -using GFramework.Core.events; +using GFramework.Core.Events; using NUnit.Framework; -namespace GFramework.Core.Tests.events; +namespace GFramework.Core.Tests.Events; /// /// 测试事件系统功能的测试类 diff --git a/GFramework.Core.Tests/events/OrEventTests.cs b/GFramework.Core.Tests/Events/OrEventTests.cs similarity index 97% rename from GFramework.Core.Tests/events/OrEventTests.cs rename to GFramework.Core.Tests/Events/OrEventTests.cs index 9f444d3..eb16100 100644 --- a/GFramework.Core.Tests/events/OrEventTests.cs +++ b/GFramework.Core.Tests/Events/OrEventTests.cs @@ -1,7 +1,7 @@ -using GFramework.Core.events; +using GFramework.Core.Events; using NUnit.Framework; -namespace GFramework.Core.Tests.events; +namespace GFramework.Core.Tests.Events; /// /// 测试OrEvent类的功能,验证其在多个事件中的逻辑或操作行为 diff --git a/GFramework.Core.Tests/events/PriorityEventTests.cs b/GFramework.Core.Tests/Events/PriorityEventTests.cs similarity index 97% rename from GFramework.Core.Tests/events/PriorityEventTests.cs rename to GFramework.Core.Tests/Events/PriorityEventTests.cs index dfd3f97..1ab7636 100644 --- a/GFramework.Core.Tests/events/PriorityEventTests.cs +++ b/GFramework.Core.Tests/Events/PriorityEventTests.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.events; -using GFramework.Core.events; +using GFramework.Core.Abstractions.Events; +using GFramework.Core.Events; using NUnit.Framework; -namespace GFramework.Core.Tests.events; +namespace GFramework.Core.Tests.Events; /// /// 测试 PriorityEvent 的线程安全性和边界情况 diff --git a/GFramework.Core.Tests/events/TestEvent.cs b/GFramework.Core.Tests/Events/TestEvent.cs similarity index 72% rename from GFramework.Core.Tests/events/TestEvent.cs rename to GFramework.Core.Tests/Events/TestEvent.cs index d277fc7..c7e47ed 100644 --- a/GFramework.Core.Tests/events/TestEvent.cs +++ b/GFramework.Core.Tests/Events/TestEvent.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.Tests.events; +namespace GFramework.Core.Tests.Events; public sealed class TestEvent { diff --git a/GFramework.Core.Tests/events/UnRegisterTests.cs b/GFramework.Core.Tests/Events/UnRegisterTests.cs similarity index 97% rename from GFramework.Core.Tests/events/UnRegisterTests.cs rename to GFramework.Core.Tests/Events/UnRegisterTests.cs index ac87b7f..b0d7807 100644 --- a/GFramework.Core.Tests/events/UnRegisterTests.cs +++ b/GFramework.Core.Tests/Events/UnRegisterTests.cs @@ -1,8 +1,8 @@ -using GFramework.Core.events; -using GFramework.Core.property; +using GFramework.Core.Events; +using GFramework.Core.Property; using NUnit.Framework; -namespace GFramework.Core.Tests.events; +namespace GFramework.Core.Tests.Events; /// /// 注销功能测试类,用于测试不同类型的注销行为 diff --git a/GFramework.Core.Tests/events/WeakEventTests.cs b/GFramework.Core.Tests/Events/WeakEventTests.cs similarity index 98% rename from GFramework.Core.Tests/events/WeakEventTests.cs rename to GFramework.Core.Tests/Events/WeakEventTests.cs index 02a0bd0..8dc5897 100644 --- a/GFramework.Core.Tests/events/WeakEventTests.cs +++ b/GFramework.Core.Tests/Events/WeakEventTests.cs @@ -1,6 +1,6 @@ -using GFramework.Core.events; +using GFramework.Core.Events; -namespace GFramework.Core.Tests.events; +namespace GFramework.Core.Tests.Events; /// /// 弱引用事件功能测试 diff --git a/GFramework.Core.Tests/extensions/ArrayPoolExtensionsTests.cs b/GFramework.Core.Tests/Extensions/ArrayPoolExtensionsTests.cs similarity index 98% rename from GFramework.Core.Tests/extensions/ArrayPoolExtensionsTests.cs rename to GFramework.Core.Tests/Extensions/ArrayPoolExtensionsTests.cs index fee502f..6eb0110 100644 --- a/GFramework.Core.Tests/extensions/ArrayPoolExtensionsTests.cs +++ b/GFramework.Core.Tests/Extensions/ArrayPoolExtensionsTests.cs @@ -1,8 +1,8 @@ using System.Buffers; -using GFramework.Core.extensions; +using GFramework.Core.Extensions; using NUnit.Framework; -namespace GFramework.Core.Tests.extensions; +namespace GFramework.Core.Tests.Extensions; /// /// 测试 ArrayPoolExtensions 的功能 diff --git a/GFramework.Core.Tests/extensions/AsyncExtensionsTests.cs b/GFramework.Core.Tests/Extensions/AsyncExtensionsTests.cs similarity index 98% rename from GFramework.Core.Tests/extensions/AsyncExtensionsTests.cs rename to GFramework.Core.Tests/Extensions/AsyncExtensionsTests.cs index cb6ab3b..13d4933 100644 --- a/GFramework.Core.Tests/extensions/AsyncExtensionsTests.cs +++ b/GFramework.Core.Tests/Extensions/AsyncExtensionsTests.cs @@ -1,9 +1,9 @@ using System.Diagnostics; -using GFramework.Core.extensions; -using GFramework.Core.functional.async; +using GFramework.Core.Extensions; +using GFramework.Core.Functional.Async; using NUnit.Framework; -namespace GFramework.Core.Tests.extensions; +namespace GFramework.Core.Tests.Extensions; /// /// 测试 AsyncExtensions 扩展方法的功能 diff --git a/GFramework.Core.Tests/extensions/CollectionExtensionsTests.cs b/GFramework.Core.Tests/Extensions/CollectionExtensionsTests.cs similarity index 98% rename from GFramework.Core.Tests/extensions/CollectionExtensionsTests.cs rename to GFramework.Core.Tests/Extensions/CollectionExtensionsTests.cs index 9822aed..0635b5e 100644 --- a/GFramework.Core.Tests/extensions/CollectionExtensionsTests.cs +++ b/GFramework.Core.Tests/Extensions/CollectionExtensionsTests.cs @@ -1,7 +1,7 @@ -using GFramework.Core.extensions; +using GFramework.Core.Extensions; using NUnit.Framework; -namespace GFramework.Core.Tests.extensions; +namespace GFramework.Core.Tests.Extensions; /// /// 测试 CollectionExtensions 扩展方法的功能 diff --git a/GFramework.Core.Tests/extensions/GuardExtensionsTests.cs b/GFramework.Core.Tests/Extensions/GuardExtensionsTests.cs similarity index 98% rename from GFramework.Core.Tests/extensions/GuardExtensionsTests.cs rename to GFramework.Core.Tests/Extensions/GuardExtensionsTests.cs index 01ed483..1fdc1a4 100644 --- a/GFramework.Core.Tests/extensions/GuardExtensionsTests.cs +++ b/GFramework.Core.Tests/Extensions/GuardExtensionsTests.cs @@ -1,7 +1,7 @@ -using GFramework.Core.extensions; +using GFramework.Core.Extensions; using NUnit.Framework; -namespace GFramework.Core.Tests.extensions; +namespace GFramework.Core.Tests.Extensions; /// /// 测试 GuardExtensions 扩展方法的功能 diff --git a/GFramework.Core.Tests/extensions/NumericExtensionsTests.cs b/GFramework.Core.Tests/Extensions/NumericExtensionsTests.cs similarity index 98% rename from GFramework.Core.Tests/extensions/NumericExtensionsTests.cs rename to GFramework.Core.Tests/Extensions/NumericExtensionsTests.cs index 341db7a..51a06b6 100644 --- a/GFramework.Core.Tests/extensions/NumericExtensionsTests.cs +++ b/GFramework.Core.Tests/Extensions/NumericExtensionsTests.cs @@ -1,7 +1,7 @@ -using GFramework.Core.extensions; +using GFramework.Core.Extensions; using NUnit.Framework; -namespace GFramework.Core.Tests.extensions; +namespace GFramework.Core.Tests.Extensions; /// /// 测试 NumericExtensions 扩展方法的功能 diff --git a/GFramework.Core.Tests/extensions/ObjectExtensionsTests.cs b/GFramework.Core.Tests/Extensions/ObjectExtensionsTests.cs similarity index 98% rename from GFramework.Core.Tests/extensions/ObjectExtensionsTests.cs rename to GFramework.Core.Tests/Extensions/ObjectExtensionsTests.cs index 2883e34..411069a 100644 --- a/GFramework.Core.Tests/extensions/ObjectExtensionsTests.cs +++ b/GFramework.Core.Tests/Extensions/ObjectExtensionsTests.cs @@ -1,8 +1,8 @@ -using GFramework.Core.extensions; -using GFramework.Core.functional.pipe; +using GFramework.Core.Extensions; +using GFramework.Core.Functional.Pipe; using NUnit.Framework; -namespace GFramework.Core.Tests.extensions; +namespace GFramework.Core.Tests.Extensions; /// /// 测试ObjectExtensions扩展方法的功能 diff --git a/GFramework.Core.Tests/extensions/ResultExtensionsTests.cs b/GFramework.Core.Tests/Extensions/ResultExtensionsTests.cs similarity index 99% rename from GFramework.Core.Tests/extensions/ResultExtensionsTests.cs rename to GFramework.Core.Tests/Extensions/ResultExtensionsTests.cs index 6040b8a..11992e0 100644 --- a/GFramework.Core.Tests/extensions/ResultExtensionsTests.cs +++ b/GFramework.Core.Tests/Extensions/ResultExtensionsTests.cs @@ -11,11 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.functional; -using GFramework.Core.functional.result; -using NUnit.Framework; +using GFramework.Core.Functional; -namespace GFramework.Core.Tests.extensions; +namespace GFramework.Core.Tests.Extensions; /// /// ResultExtensions 扩展方法测试类 diff --git a/GFramework.Core.Tests/extensions/SpanExtensionsTests.cs b/GFramework.Core.Tests/Extensions/SpanExtensionsTests.cs similarity index 97% rename from GFramework.Core.Tests/extensions/SpanExtensionsTests.cs rename to GFramework.Core.Tests/Extensions/SpanExtensionsTests.cs index 5986d9b..725361e 100644 --- a/GFramework.Core.Tests/extensions/SpanExtensionsTests.cs +++ b/GFramework.Core.Tests/Extensions/SpanExtensionsTests.cs @@ -1,7 +1,7 @@ -using GFramework.Core.extensions; +using GFramework.Core.Extensions; using NUnit.Framework; -namespace GFramework.Core.Tests.extensions; +namespace GFramework.Core.Tests.Extensions; /// /// 测试 SpanExtensions 扩展方法的功能 diff --git a/GFramework.Core.Tests/extensions/StringExtensionsTests.cs b/GFramework.Core.Tests/Extensions/StringExtensionsTests.cs similarity index 98% rename from GFramework.Core.Tests/extensions/StringExtensionsTests.cs rename to GFramework.Core.Tests/Extensions/StringExtensionsTests.cs index d8b53bd..fc6d83f 100644 --- a/GFramework.Core.Tests/extensions/StringExtensionsTests.cs +++ b/GFramework.Core.Tests/Extensions/StringExtensionsTests.cs @@ -1,7 +1,7 @@ -using GFramework.Core.extensions; +using GFramework.Core.Extensions; using NUnit.Framework; -namespace GFramework.Core.Tests.extensions; +namespace GFramework.Core.Tests.Extensions; /// /// 测试 StringExtensions 扩展方法的功能 diff --git a/GFramework.Core.Tests/extensions/UnRegisterListExtensionTests.cs b/GFramework.Core.Tests/Extensions/UnRegisterListExtensionTests.cs similarity index 96% rename from GFramework.Core.Tests/extensions/UnRegisterListExtensionTests.cs rename to GFramework.Core.Tests/Extensions/UnRegisterListExtensionTests.cs index 886696c..8865fdc 100644 --- a/GFramework.Core.Tests/extensions/UnRegisterListExtensionTests.cs +++ b/GFramework.Core.Tests/Extensions/UnRegisterListExtensionTests.cs @@ -1,9 +1,9 @@ -using GFramework.Core.Abstractions.events; -using GFramework.Core.events; -using GFramework.Core.extensions; +using GFramework.Core.Abstractions.Events; +using GFramework.Core.Events; +using GFramework.Core.Extensions; using NUnit.Framework; -namespace GFramework.Core.Tests.extensions; +namespace GFramework.Core.Tests.Extensions; /// /// 测试UnRegisterList扩展方法的功能 diff --git a/GFramework.Core.Tests/functional/control/ControlExtensionsTests.cs b/GFramework.Core.Tests/Functional/Control/ControlExtensionsTests.cs similarity index 99% rename from GFramework.Core.Tests/functional/control/ControlExtensionsTests.cs rename to GFramework.Core.Tests/Functional/Control/ControlExtensionsTests.cs index b9996a5..5b4edf7 100644 --- a/GFramework.Core.Tests/functional/control/ControlExtensionsTests.cs +++ b/GFramework.Core.Tests/Functional/Control/ControlExtensionsTests.cs @@ -1,7 +1,7 @@ -using GFramework.Core.functional.control; +using GFramework.Core.Functional.Control; using NUnit.Framework; -namespace GFramework.Core.Tests.functional.control; +namespace GFramework.Core.Tests.Functional.Control; /// /// ControlExtensions扩展方法测试类,用于验证控制流函数式编程扩展方法的正确性 diff --git a/GFramework.Core.Tests/functional/functions/FunctionExtensionsTests.cs b/GFramework.Core.Tests/Functional/Functions/FunctionExtensionsTests.cs similarity index 98% rename from GFramework.Core.Tests/functional/functions/FunctionExtensionsTests.cs rename to GFramework.Core.Tests/Functional/Functions/FunctionExtensionsTests.cs index 3651689..a9736a7 100644 --- a/GFramework.Core.Tests/functional/functions/FunctionExtensionsTests.cs +++ b/GFramework.Core.Tests/Functional/Functions/FunctionExtensionsTests.cs @@ -1,7 +1,7 @@ -using GFramework.Core.functional.functions; +using GFramework.Core.Functional.Functions; using NUnit.Framework; -namespace GFramework.Core.Tests.functional.functions; +namespace GFramework.Core.Tests.Functional.Functions; /// /// FunctionExtensions扩展方法测试类,用于验证高级函数式编程扩展方法的正确性 diff --git a/GFramework.Core.Tests/functional/OptionTests.cs b/GFramework.Core.Tests/Functional/OptionTests.cs similarity index 99% rename from GFramework.Core.Tests/functional/OptionTests.cs rename to GFramework.Core.Tests/Functional/OptionTests.cs index c93d0f8..ab5a10f 100644 --- a/GFramework.Core.Tests/functional/OptionTests.cs +++ b/GFramework.Core.Tests/Functional/OptionTests.cs @@ -11,10 +11,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.functional; +using GFramework.Core.Functional; using NUnit.Framework; -namespace GFramework.Core.Tests.functional; +namespace GFramework.Core.Tests.Functional; /// /// Option<T> 类型测试类 diff --git a/GFramework.Core.Tests/functional/pipe/PipeExtensionsTests.cs b/GFramework.Core.Tests/Functional/Pipe/PipeExtensionsTests.cs similarity index 98% rename from GFramework.Core.Tests/functional/pipe/PipeExtensionsTests.cs rename to GFramework.Core.Tests/Functional/Pipe/PipeExtensionsTests.cs index 762ea1a..780356c 100644 --- a/GFramework.Core.Tests/functional/pipe/PipeExtensionsTests.cs +++ b/GFramework.Core.Tests/Functional/Pipe/PipeExtensionsTests.cs @@ -1,7 +1,7 @@ -using GFramework.Core.functional.pipe; +using GFramework.Core.Functional.Pipe; using NUnit.Framework; -namespace GFramework.Core.Tests.functional.pipe; +namespace GFramework.Core.Tests.Functional.Pipe; /// /// PipeExtensions扩展方法测试类,用于验证管道和函数组合扩展方法的正确性 diff --git a/GFramework.Core.Tests/functional/ResultTTests.cs b/GFramework.Core.Tests/Functional/ResultTTests.cs similarity index 99% rename from GFramework.Core.Tests/functional/ResultTTests.cs rename to GFramework.Core.Tests/Functional/ResultTTests.cs index 027513c..ec2d86c 100644 --- a/GFramework.Core.Tests/functional/ResultTTests.cs +++ b/GFramework.Core.Tests/Functional/ResultTTests.cs @@ -11,10 +11,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.functional; +using GFramework.Core.Functional; using NUnit.Framework; -namespace GFramework.Core.Tests.functional; +namespace GFramework.Core.Tests.Functional; /// /// Result<A> 泛型类型测试类 diff --git a/GFramework.Core.Tests/functional/ResultTests.cs b/GFramework.Core.Tests/Functional/ResultTests.cs similarity index 99% rename from GFramework.Core.Tests/functional/ResultTests.cs rename to GFramework.Core.Tests/Functional/ResultTests.cs index f0f965d..a290e3f 100644 --- a/GFramework.Core.Tests/functional/ResultTests.cs +++ b/GFramework.Core.Tests/Functional/ResultTests.cs @@ -11,10 +11,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.functional; +using GFramework.Core.Functional; using NUnit.Framework; -namespace GFramework.Core.Tests.functional; +namespace GFramework.Core.Tests.Functional; /// /// Result 类型测试类 diff --git a/GFramework.Core.Tests/GlobalUsings.cs b/GFramework.Core.Tests/GlobalUsings.cs index 6f0bb16..e13a9bc 100644 --- a/GFramework.Core.Tests/GlobalUsings.cs +++ b/GFramework.Core.Tests/GlobalUsings.cs @@ -17,4 +17,5 @@ global using System.Linq; global using System.Threading; global using System.Threading.Tasks; global using NUnit.Framework; -global using NUnit.Compatibility; \ No newline at end of file +global using NUnit.Compatibility; +global using GFramework.Core.Systems; \ No newline at end of file diff --git a/GFramework.Core.Tests/ioc/IocContainerLifetimeTests.cs b/GFramework.Core.Tests/IoC/IocContainerLifetimeTests.cs similarity index 98% rename from GFramework.Core.Tests/ioc/IocContainerLifetimeTests.cs rename to GFramework.Core.Tests/IoC/IocContainerLifetimeTests.cs index 1c48121..42076b2 100644 --- a/GFramework.Core.Tests/ioc/IocContainerLifetimeTests.cs +++ b/GFramework.Core.Tests/IoC/IocContainerLifetimeTests.cs @@ -1,8 +1,8 @@ -using GFramework.Core.ioc; +using GFramework.Core.IoC; using Microsoft.Extensions.DependencyInjection; using NUnit.Framework; -namespace GFramework.Core.Tests.ioc; +namespace GFramework.Core.Tests.IoC; /// /// 测试 IoC 容器生命周期功能 diff --git a/GFramework.Core.Tests/ioc/MicrosoftDiContainerTests.cs b/GFramework.Core.Tests/IoC/MicrosoftDiContainerTests.cs similarity index 99% rename from GFramework.Core.Tests/ioc/MicrosoftDiContainerTests.cs rename to GFramework.Core.Tests/IoC/MicrosoftDiContainerTests.cs index e10c8d0..c777f87 100644 --- a/GFramework.Core.Tests/ioc/MicrosoftDiContainerTests.cs +++ b/GFramework.Core.Tests/IoC/MicrosoftDiContainerTests.cs @@ -1,11 +1,10 @@ using System.Reflection; -using GFramework.Core.Abstractions.bases; -using GFramework.Core.ioc; -using GFramework.Core.logging; -using GFramework.Core.Tests.system; -using NUnit.Framework; +using GFramework.Core.Abstractions.Bases; +using GFramework.Core.IoC; +using GFramework.Core.Logging; +using GFramework.Core.Tests.Systems; -namespace GFramework.Core.Tests.ioc; +namespace GFramework.Core.Tests.IoC; /// /// 测试 IoC 容器功能的单元测试类 diff --git a/GFramework.Core.Tests/logging/AsyncLogAppenderTests.cs b/GFramework.Core.Tests/Logging/AsyncLogAppenderTests.cs similarity index 98% rename from GFramework.Core.Tests/logging/AsyncLogAppenderTests.cs rename to GFramework.Core.Tests/Logging/AsyncLogAppenderTests.cs index e048c7d..65dbc49 100644 --- a/GFramework.Core.Tests/logging/AsyncLogAppenderTests.cs +++ b/GFramework.Core.Tests/Logging/AsyncLogAppenderTests.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.logging; -using GFramework.Core.logging.appenders; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Logging.Appenders; using NUnit.Framework; -namespace GFramework.Core.Tests.logging; +namespace GFramework.Core.Tests.Logging; /// /// 测试 AsyncLogAppender 的功能和行为 diff --git a/GFramework.Core.Tests/logging/CachedLoggerFactoryTests.cs b/GFramework.Core.Tests/Logging/CachedLoggerFactoryTests.cs similarity index 96% rename from GFramework.Core.Tests/logging/CachedLoggerFactoryTests.cs rename to GFramework.Core.Tests/Logging/CachedLoggerFactoryTests.cs index 18a6bac..1a1fa9e 100644 --- a/GFramework.Core.Tests/logging/CachedLoggerFactoryTests.cs +++ b/GFramework.Core.Tests/Logging/CachedLoggerFactoryTests.cs @@ -1,9 +1,9 @@ using System.IO; -using GFramework.Core.Abstractions.logging; -using GFramework.Core.logging; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Logging; using NUnit.Framework; -namespace GFramework.Core.Tests.logging; +namespace GFramework.Core.Tests.Logging; /// /// 测试 CachedLoggerFactory 的功能和行为 diff --git a/GFramework.Core.Tests/logging/CompositeFilterTests.cs b/GFramework.Core.Tests/Logging/CompositeFilterTests.cs similarity index 96% rename from GFramework.Core.Tests/logging/CompositeFilterTests.cs rename to GFramework.Core.Tests/Logging/CompositeFilterTests.cs index 4e7416d..f08fcbf 100644 --- a/GFramework.Core.Tests/logging/CompositeFilterTests.cs +++ b/GFramework.Core.Tests/Logging/CompositeFilterTests.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.logging; -using GFramework.Core.logging.filters; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Logging.Filters; using NUnit.Framework; -namespace GFramework.Core.Tests.logging; +namespace GFramework.Core.Tests.Logging; /// /// 测试 CompositeFilter 的功能和行为 diff --git a/GFramework.Core.Tests/logging/CompositeLoggerTests.cs b/GFramework.Core.Tests/Logging/CompositeLoggerTests.cs similarity index 96% rename from GFramework.Core.Tests/logging/CompositeLoggerTests.cs rename to GFramework.Core.Tests/Logging/CompositeLoggerTests.cs index a8fc24b..2a44284 100644 --- a/GFramework.Core.Tests/logging/CompositeLoggerTests.cs +++ b/GFramework.Core.Tests/Logging/CompositeLoggerTests.cs @@ -1,11 +1,11 @@ using System.IO; -using GFramework.Core.Abstractions.logging; -using GFramework.Core.logging; -using GFramework.Core.logging.appenders; -using GFramework.Core.logging.formatters; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Logging; +using GFramework.Core.Logging.Appenders; +using GFramework.Core.Logging.Formatters; using NUnit.Framework; -namespace GFramework.Core.Tests.logging; +namespace GFramework.Core.Tests.Logging; /// /// 测试 CompositeLogger 的功能和行为 diff --git a/GFramework.Core.Tests/logging/ConsoleAppenderTests.cs b/GFramework.Core.Tests/Logging/ConsoleAppenderTests.cs similarity index 93% rename from GFramework.Core.Tests/logging/ConsoleAppenderTests.cs rename to GFramework.Core.Tests/Logging/ConsoleAppenderTests.cs index c170fd2..3986e2e 100644 --- a/GFramework.Core.Tests/logging/ConsoleAppenderTests.cs +++ b/GFramework.Core.Tests/Logging/ConsoleAppenderTests.cs @@ -1,11 +1,11 @@ using System.IO; -using GFramework.Core.Abstractions.logging; -using GFramework.Core.logging.appenders; -using GFramework.Core.logging.filters; -using GFramework.Core.logging.formatters; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Logging.Appenders; +using GFramework.Core.Logging.Filters; +using GFramework.Core.Logging.Formatters; using NUnit.Framework; -namespace GFramework.Core.Tests.logging; +namespace GFramework.Core.Tests.Logging; /// /// 测试 ConsoleAppender 的功能和行为 diff --git a/GFramework.Core.Tests/logging/ConsoleLoggerTests.cs b/GFramework.Core.Tests/Logging/ConsoleLoggerTests.cs similarity index 97% rename from GFramework.Core.Tests/logging/ConsoleLoggerTests.cs rename to GFramework.Core.Tests/Logging/ConsoleLoggerTests.cs index 809fd42..38a3829 100644 --- a/GFramework.Core.Tests/logging/ConsoleLoggerTests.cs +++ b/GFramework.Core.Tests/Logging/ConsoleLoggerTests.cs @@ -1,9 +1,8 @@ using System.IO; -using GFramework.Core.Abstractions.logging; -using GFramework.Core.logging; -using NUnit.Framework; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Logging; -namespace GFramework.Core.Tests.logging; +namespace GFramework.Core.Tests.Logging; /// /// 测试ConsoleLogger类的功能和行为的单元测试类 @@ -160,7 +159,7 @@ public class ConsoleLoggerTests _logger.Error("Line 3"); var output = _stringWriter.ToString(); - var lines = output.Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); + var lines = output.Split([System.Environment.NewLine], StringSplitOptions.RemoveEmptyEntries); Assert.That(lines.Length, Is.EqualTo(3)); Assert.That(lines[0], Does.Contain("INFO")); diff --git a/GFramework.Core.Tests/logging/DefaultLogFormatterTests.cs b/GFramework.Core.Tests/Logging/DefaultLogFormatterTests.cs similarity index 96% rename from GFramework.Core.Tests/logging/DefaultLogFormatterTests.cs rename to GFramework.Core.Tests/Logging/DefaultLogFormatterTests.cs index 19aec51..7d363e9 100644 --- a/GFramework.Core.Tests/logging/DefaultLogFormatterTests.cs +++ b/GFramework.Core.Tests/Logging/DefaultLogFormatterTests.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.logging; -using GFramework.Core.logging.formatters; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Logging.Formatters; using NUnit.Framework; -namespace GFramework.Core.Tests.logging; +namespace GFramework.Core.Tests.Logging; /// /// 测试 DefaultLogFormatter 的功能和行为 diff --git a/GFramework.Core.Tests/logging/FileAppenderTests.cs b/GFramework.Core.Tests/Logging/FileAppenderTests.cs similarity index 96% rename from GFramework.Core.Tests/logging/FileAppenderTests.cs rename to GFramework.Core.Tests/Logging/FileAppenderTests.cs index 9906d77..abaad6a 100644 --- a/GFramework.Core.Tests/logging/FileAppenderTests.cs +++ b/GFramework.Core.Tests/Logging/FileAppenderTests.cs @@ -1,10 +1,10 @@ using System.IO; -using GFramework.Core.Abstractions.logging; -using GFramework.Core.logging.appenders; -using GFramework.Core.logging.formatters; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Logging.Appenders; +using GFramework.Core.Logging.Formatters; using NUnit.Framework; -namespace GFramework.Core.Tests.logging; +namespace GFramework.Core.Tests.Logging; /// /// 测试 FileAppender 的功能和行为 diff --git a/GFramework.Core.Tests/logging/JsonLogFormatterTests.cs b/GFramework.Core.Tests/Logging/JsonLogFormatterTests.cs similarity index 98% rename from GFramework.Core.Tests/logging/JsonLogFormatterTests.cs rename to GFramework.Core.Tests/Logging/JsonLogFormatterTests.cs index 9c026a4..3808770 100644 --- a/GFramework.Core.Tests/logging/JsonLogFormatterTests.cs +++ b/GFramework.Core.Tests/Logging/JsonLogFormatterTests.cs @@ -1,9 +1,9 @@ using System.Text.Json; -using GFramework.Core.Abstractions.logging; -using GFramework.Core.logging.formatters; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Logging.Formatters; using NUnit.Framework; -namespace GFramework.Core.Tests.logging; +namespace GFramework.Core.Tests.Logging; /// /// 测试 JsonLogFormatter 的功能和行为 diff --git a/GFramework.Core.Tests/logging/LogContextTests.cs b/GFramework.Core.Tests/Logging/LogContextTests.cs similarity index 98% rename from GFramework.Core.Tests/logging/LogContextTests.cs rename to GFramework.Core.Tests/Logging/LogContextTests.cs index 27402dc..63b6c2e 100644 --- a/GFramework.Core.Tests/logging/LogContextTests.cs +++ b/GFramework.Core.Tests/Logging/LogContextTests.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.logging; +using GFramework.Core.Abstractions.Logging; using NUnit.Framework; -namespace GFramework.Core.Tests.logging; +namespace GFramework.Core.Tests.Logging; /// /// 测试 LogContext 的功能和行为 diff --git a/GFramework.Core.Tests/logging/LogEntryTests.cs b/GFramework.Core.Tests/Logging/LogEntryTests.cs similarity index 98% rename from GFramework.Core.Tests/logging/LogEntryTests.cs rename to GFramework.Core.Tests/Logging/LogEntryTests.cs index 4e08d38..76d8a0e 100644 --- a/GFramework.Core.Tests/logging/LogEntryTests.cs +++ b/GFramework.Core.Tests/Logging/LogEntryTests.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.logging; +using GFramework.Core.Abstractions.Logging; using NUnit.Framework; -namespace GFramework.Core.Tests.logging; +namespace GFramework.Core.Tests.Logging; /// /// 测试 LogEntry 的功能和行为 diff --git a/GFramework.Core.Tests/logging/LogLevelFilterTests.cs b/GFramework.Core.Tests/Logging/LogLevelFilterTests.cs similarity index 94% rename from GFramework.Core.Tests/logging/LogLevelFilterTests.cs rename to GFramework.Core.Tests/Logging/LogLevelFilterTests.cs index 3bdaec3..22da49e 100644 --- a/GFramework.Core.Tests/logging/LogLevelFilterTests.cs +++ b/GFramework.Core.Tests/Logging/LogLevelFilterTests.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.logging; -using GFramework.Core.logging.filters; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Logging.Filters; using NUnit.Framework; -namespace GFramework.Core.Tests.logging; +namespace GFramework.Core.Tests.Logging; /// /// 测试 LogLevelFilter 的功能和行为 diff --git a/GFramework.Core.Tests/logging/LoggerFactoryTests.cs b/GFramework.Core.Tests/Logging/LoggerFactoryTests.cs similarity index 98% rename from GFramework.Core.Tests/logging/LoggerFactoryTests.cs rename to GFramework.Core.Tests/Logging/LoggerFactoryTests.cs index f76a60f..8ba7ac9 100644 --- a/GFramework.Core.Tests/logging/LoggerFactoryTests.cs +++ b/GFramework.Core.Tests/Logging/LoggerFactoryTests.cs @@ -1,9 +1,9 @@ using System.IO; -using GFramework.Core.Abstractions.logging; -using GFramework.Core.logging; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Logging; using NUnit.Framework; -namespace GFramework.Core.Tests.logging; +namespace GFramework.Core.Tests.Logging; /// /// 测试LoggerFactory相关功能的测试类 diff --git a/GFramework.Core.Tests/logging/LoggerTests.cs b/GFramework.Core.Tests/Logging/LoggerTests.cs similarity index 99% rename from GFramework.Core.Tests/logging/LoggerTests.cs rename to GFramework.Core.Tests/Logging/LoggerTests.cs index 0a5df74..ccc207a 100644 --- a/GFramework.Core.Tests/logging/LoggerTests.cs +++ b/GFramework.Core.Tests/Logging/LoggerTests.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.logging; -using GFramework.Core.logging; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Logging; using NUnit.Framework; -namespace GFramework.Core.Tests.logging; +namespace GFramework.Core.Tests.Logging; /// /// 测试Logger功能的单元测试类 diff --git a/GFramework.Core.Tests/logging/LoggingConfigurationTests.cs b/GFramework.Core.Tests/Logging/LoggingConfigurationTests.cs similarity index 98% rename from GFramework.Core.Tests/logging/LoggingConfigurationTests.cs rename to GFramework.Core.Tests/Logging/LoggingConfigurationTests.cs index ae2910d..be1e33f 100644 --- a/GFramework.Core.Tests/logging/LoggingConfigurationTests.cs +++ b/GFramework.Core.Tests/Logging/LoggingConfigurationTests.cs @@ -1,10 +1,10 @@ using System.IO; using System.Text.Json; -using GFramework.Core.Abstractions.logging; -using GFramework.Core.logging; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Logging; using NUnit.Framework; -namespace GFramework.Core.Tests.logging; +namespace GFramework.Core.Tests.Logging; /// /// 测试 LoggingConfiguration 和 LoggingConfigurationLoader 的功能和行为 diff --git a/GFramework.Core.Tests/logging/NamespaceFilterTests.cs b/GFramework.Core.Tests/Logging/NamespaceFilterTests.cs similarity index 95% rename from GFramework.Core.Tests/logging/NamespaceFilterTests.cs rename to GFramework.Core.Tests/Logging/NamespaceFilterTests.cs index 7feb93e..aaf0fbe 100644 --- a/GFramework.Core.Tests/logging/NamespaceFilterTests.cs +++ b/GFramework.Core.Tests/Logging/NamespaceFilterTests.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.logging; -using GFramework.Core.logging.filters; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Logging.Filters; using NUnit.Framework; -namespace GFramework.Core.Tests.logging; +namespace GFramework.Core.Tests.Logging; /// /// 测试 NamespaceFilter 的功能和行为 diff --git a/GFramework.Core.Tests/logging/RollingFileAppenderTests.cs b/GFramework.Core.Tests/Logging/RollingFileAppenderTests.cs similarity index 97% rename from GFramework.Core.Tests/logging/RollingFileAppenderTests.cs rename to GFramework.Core.Tests/Logging/RollingFileAppenderTests.cs index 09c70ab..7efdd02 100644 --- a/GFramework.Core.Tests/logging/RollingFileAppenderTests.cs +++ b/GFramework.Core.Tests/Logging/RollingFileAppenderTests.cs @@ -1,9 +1,9 @@ using System.IO; -using GFramework.Core.Abstractions.logging; -using GFramework.Core.logging.appenders; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Logging.Appenders; using NUnit.Framework; -namespace GFramework.Core.Tests.logging; +namespace GFramework.Core.Tests.Logging; /// /// 测试 RollingFileAppender 的功能和行为 diff --git a/GFramework.Core.Tests/logging/SamplingFilterTests.cs b/GFramework.Core.Tests/Logging/SamplingFilterTests.cs similarity index 97% rename from GFramework.Core.Tests/logging/SamplingFilterTests.cs rename to GFramework.Core.Tests/Logging/SamplingFilterTests.cs index 562f586..c647fcb 100644 --- a/GFramework.Core.Tests/logging/SamplingFilterTests.cs +++ b/GFramework.Core.Tests/Logging/SamplingFilterTests.cs @@ -1,9 +1,9 @@ -using GFramework.Core.Abstractions.logging; -using GFramework.Core.logging.filters; -using GFramework.Core.Tests.time; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Logging.Filters; +using GFramework.Core.Tests.Time; using NUnit.Framework; -namespace GFramework.Core.Tests.logging; +namespace GFramework.Core.Tests.Logging; [TestFixture] public class SamplingFilterTests diff --git a/GFramework.Core.Tests/logging/StatisticsAppenderTests.cs b/GFramework.Core.Tests/Logging/StatisticsAppenderTests.cs similarity index 97% rename from GFramework.Core.Tests/logging/StatisticsAppenderTests.cs rename to GFramework.Core.Tests/Logging/StatisticsAppenderTests.cs index b6c1961..8e19f06 100644 --- a/GFramework.Core.Tests/logging/StatisticsAppenderTests.cs +++ b/GFramework.Core.Tests/Logging/StatisticsAppenderTests.cs @@ -1,9 +1,9 @@ -using GFramework.Core.Abstractions.logging; -using GFramework.Core.logging.appenders; -using GFramework.Core.Tests.time; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Logging.Appenders; +using GFramework.Core.Tests.Time; using NUnit.Framework; -namespace GFramework.Core.Tests.logging; +namespace GFramework.Core.Tests.Logging; [TestFixture] public class StatisticsAppenderTests diff --git a/GFramework.Core.Tests/mediator/MediatorAdvancedFeaturesTests.cs b/GFramework.Core.Tests/Mediator/MediatorAdvancedFeaturesTests.cs similarity index 98% rename from GFramework.Core.Tests/mediator/MediatorAdvancedFeaturesTests.cs rename to GFramework.Core.Tests/Mediator/MediatorAdvancedFeaturesTests.cs index 970becc..6a8beaf 100644 --- a/GFramework.Core.Tests/mediator/MediatorAdvancedFeaturesTests.cs +++ b/GFramework.Core.Tests/Mediator/MediatorAdvancedFeaturesTests.cs @@ -1,13 +1,12 @@ using System.Diagnostics; using System.Reflection; -using GFramework.Core.architecture; -using GFramework.Core.ioc; -using GFramework.Core.logging; +using GFramework.Core.Architectures; +using GFramework.Core.IoC; +using GFramework.Core.Logging; using Mediator; using Microsoft.Extensions.DependencyInjection; -using NUnit.Framework; -namespace GFramework.Core.Tests.mediator; +namespace GFramework.Core.Tests.Mediator; /// /// Mediator高级特性专项测试 diff --git a/GFramework.Core.Tests/mediator/MediatorArchitectureIntegrationTests.cs b/GFramework.Core.Tests/Mediator/MediatorArchitectureIntegrationTests.cs similarity index 98% rename from GFramework.Core.Tests/mediator/MediatorArchitectureIntegrationTests.cs rename to GFramework.Core.Tests/Mediator/MediatorArchitectureIntegrationTests.cs index 1097b54..818ebb5 100644 --- a/GFramework.Core.Tests/mediator/MediatorArchitectureIntegrationTests.cs +++ b/GFramework.Core.Tests/Mediator/MediatorArchitectureIntegrationTests.cs @@ -1,16 +1,15 @@ using System.Diagnostics; using System.Reflection; -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.architecture; -using GFramework.Core.command; -using GFramework.Core.ioc; -using GFramework.Core.logging; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Architectures; +using GFramework.Core.Command; +using GFramework.Core.IoC; +using GFramework.Core.Logging; using Mediator; using Microsoft.Extensions.DependencyInjection; -using NUnit.Framework; -using ICommand = GFramework.Core.Abstractions.command.ICommand; +using ICommand = GFramework.Core.Abstractions.Command.ICommand; -namespace GFramework.Core.Tests.mediator; +namespace GFramework.Core.Tests.Mediator; /// /// Mediator与架构上下文集成测试 diff --git a/GFramework.Core.Tests/mediator/MediatorComprehensiveTests.cs b/GFramework.Core.Tests/Mediator/MediatorComprehensiveTests.cs similarity index 98% rename from GFramework.Core.Tests/mediator/MediatorComprehensiveTests.cs rename to GFramework.Core.Tests/Mediator/MediatorComprehensiveTests.cs index bbc961d..f3c4930 100644 --- a/GFramework.Core.Tests/mediator/MediatorComprehensiveTests.cs +++ b/GFramework.Core.Tests/Mediator/MediatorComprehensiveTests.cs @@ -1,25 +1,24 @@ using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.Abstractions.events; -using GFramework.Core.architecture; -using GFramework.Core.command; -using GFramework.Core.environment; -using GFramework.Core.events; -using GFramework.Core.ioc; -using GFramework.Core.logging; -using GFramework.Core.query; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Abstractions.Events; +using GFramework.Core.Architectures; +using GFramework.Core.Command; +using GFramework.Core.Environment; +using GFramework.Core.Events; +using GFramework.Core.IoC; +using GFramework.Core.Logging; +using GFramework.Core.Query; using Mediator; using Microsoft.Extensions.DependencyInjection; -using NUnit.Framework; -using ICommand = GFramework.Core.Abstractions.command.ICommand; +using ICommand = GFramework.Core.Abstractions.Command.ICommand; // ✅ Mediator 库的命名空间 // ✅ 使用 global using 或别名来区分 -namespace GFramework.Core.Tests.mediator; +namespace GFramework.Core.Tests.Mediator; [TestFixture] public class MediatorComprehensiveTests diff --git a/GFramework.Core.Tests/model/AsyncTestModel.cs b/GFramework.Core.Tests/Model/AsyncTestModel.cs similarity index 88% rename from GFramework.Core.Tests/model/AsyncTestModel.cs rename to GFramework.Core.Tests/Model/AsyncTestModel.cs index d414125..bf2ee9f 100644 --- a/GFramework.Core.Tests/model/AsyncTestModel.cs +++ b/GFramework.Core.Tests/Model/AsyncTestModel.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.enums; -using GFramework.Core.Abstractions.lifecycle; -using GFramework.Core.model; +using GFramework.Core.Abstractions.Enums; +using GFramework.Core.Abstractions.Lifecycle; +using GFramework.Core.Model; -namespace GFramework.Core.Tests.model; +namespace GFramework.Core.Tests.Model; /// /// 异步测试模型类,实现了IModel和IAsyncInitializable接口 diff --git a/GFramework.Core.Tests/model/FailingModel.cs b/GFramework.Core.Tests/Model/FailingModel.cs similarity index 89% rename from GFramework.Core.Tests/model/FailingModel.cs rename to GFramework.Core.Tests/Model/FailingModel.cs index 4fa50a4..a60c10b 100644 --- a/GFramework.Core.Tests/model/FailingModel.cs +++ b/GFramework.Core.Tests/Model/FailingModel.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.Abstractions.enums; -using GFramework.Core.Abstractions.model; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Abstractions.Enums; +using GFramework.Core.Abstractions.Model; -namespace GFramework.Core.Tests.model; +namespace GFramework.Core.Tests.Model; /// /// 一个用于测试的失败模型类,实现IModel接口 diff --git a/GFramework.Core.Tests/Model/ITestModel.cs b/GFramework.Core.Tests/Model/ITestModel.cs new file mode 100644 index 0000000..bfe0a22 --- /dev/null +++ b/GFramework.Core.Tests/Model/ITestModel.cs @@ -0,0 +1,8 @@ +using GFramework.Core.Abstractions.Model; + +namespace GFramework.Core.Tests.Model; + +public interface ITestModel : IModel +{ + int GetCurrentXp { get; } +} \ No newline at end of file diff --git a/GFramework.Core.Tests/model/TestModel.cs b/GFramework.Core.Tests/Model/TestModel.cs similarity index 85% rename from GFramework.Core.Tests/model/TestModel.cs rename to GFramework.Core.Tests/Model/TestModel.cs index 1cf267f..3814507 100644 --- a/GFramework.Core.Tests/model/TestModel.cs +++ b/GFramework.Core.Tests/Model/TestModel.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.enums; -using GFramework.Core.model; +using GFramework.Core.Abstractions.Enums; +using GFramework.Core.Model; -namespace GFramework.Core.Tests.model; +namespace GFramework.Core.Tests.Model; /// /// 测试模型类,用于框架测试目的 diff --git a/GFramework.Core.Tests/pause/PauseStackManagerTests.cs b/GFramework.Core.Tests/Pause/PauseStackManagerTests.cs similarity index 99% rename from GFramework.Core.Tests/pause/PauseStackManagerTests.cs rename to GFramework.Core.Tests/Pause/PauseStackManagerTests.cs index 79b77d2..f682c1b 100644 --- a/GFramework.Core.Tests/pause/PauseStackManagerTests.cs +++ b/GFramework.Core.Tests/Pause/PauseStackManagerTests.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.pause; -using GFramework.Core.pause; +using GFramework.Core.Abstractions.Pause; +using GFramework.Core.Pause; using NUnit.Framework; -namespace GFramework.Core.Tests.pause; +namespace GFramework.Core.Tests.Pause; /// /// 暂停栈管理器单元测试 diff --git a/GFramework.Core.Tests/pool/ObjectPoolTests.cs b/GFramework.Core.Tests/Pool/ObjectPoolTests.cs similarity index 98% rename from GFramework.Core.Tests/pool/ObjectPoolTests.cs rename to GFramework.Core.Tests/Pool/ObjectPoolTests.cs index f07bc0c..bb7bd36 100644 --- a/GFramework.Core.Tests/pool/ObjectPoolTests.cs +++ b/GFramework.Core.Tests/Pool/ObjectPoolTests.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.pool; -using GFramework.Core.pool; +using GFramework.Core.Abstractions.Pool; +using GFramework.Core.Pool; using NUnit.Framework; -namespace GFramework.Core.Tests.pool; +namespace GFramework.Core.Tests.Pool; /// /// 对象池功能测试类,用于验证对象池的基本操作和行为 diff --git a/GFramework.Core.Tests/pool/StringBuilderPoolTests.cs b/GFramework.Core.Tests/Pool/StringBuilderPoolTests.cs similarity index 98% rename from GFramework.Core.Tests/pool/StringBuilderPoolTests.cs rename to GFramework.Core.Tests/Pool/StringBuilderPoolTests.cs index 0c65bc2..ccfa58b 100644 --- a/GFramework.Core.Tests/pool/StringBuilderPoolTests.cs +++ b/GFramework.Core.Tests/Pool/StringBuilderPoolTests.cs @@ -1,7 +1,7 @@ -using GFramework.Core.pool; +using GFramework.Core.Pool; using NUnit.Framework; -namespace GFramework.Core.Tests.pool; +namespace GFramework.Core.Tests.Pool; /// /// 测试 StringBuilderPool 的功能 diff --git a/GFramework.Core.Tests/property/BindablePropertyTests.cs b/GFramework.Core.Tests/Property/BindablePropertyTests.cs similarity index 99% rename from GFramework.Core.Tests/property/BindablePropertyTests.cs rename to GFramework.Core.Tests/Property/BindablePropertyTests.cs index f77ed82..6d337d5 100644 --- a/GFramework.Core.Tests/property/BindablePropertyTests.cs +++ b/GFramework.Core.Tests/Property/BindablePropertyTests.cs @@ -1,7 +1,7 @@ -using GFramework.Core.property; +using GFramework.Core.Property; using NUnit.Framework; -namespace GFramework.Core.Tests.property; +namespace GFramework.Core.Tests.Property; /// /// BindableProperty类的单元测试 diff --git a/GFramework.Core.Tests/query/AbstractAsyncQueryTests.cs b/GFramework.Core.Tests/Query/AbstractAsyncQueryTests.cs similarity index 97% rename from GFramework.Core.Tests/query/AbstractAsyncQueryTests.cs rename to GFramework.Core.Tests/Query/AbstractAsyncQueryTests.cs index 40e5333..f7e7a9d 100644 --- a/GFramework.Core.Tests/query/AbstractAsyncQueryTests.cs +++ b/GFramework.Core.Tests/Query/AbstractAsyncQueryTests.cs @@ -1,15 +1,14 @@ -using GFramework.Core.Abstractions.cqrs.query; -using GFramework.Core.Abstractions.query; -using GFramework.Core.Abstractions.rule; -using GFramework.Core.architecture; -using GFramework.Core.command; -using GFramework.Core.environment; -using GFramework.Core.events; -using GFramework.Core.ioc; -using GFramework.Core.query; -using NUnit.Framework; +using GFramework.Core.Abstractions.CQRS.Query; +using GFramework.Core.Abstractions.Query; +using GFramework.Core.Abstractions.Rule; +using GFramework.Core.Architectures; +using GFramework.Core.Command; +using GFramework.Core.Environment; +using GFramework.Core.Events; +using GFramework.Core.IoC; +using GFramework.Core.Query; -namespace GFramework.Core.Tests.query; +namespace GFramework.Core.Tests.Query; /// /// AbstractAsyncQuery类的单元测试 diff --git a/GFramework.Core.Tests/query/AsyncQueryExecutorTests.cs b/GFramework.Core.Tests/Query/AsyncQueryExecutorTests.cs similarity index 98% rename from GFramework.Core.Tests/query/AsyncQueryExecutorTests.cs rename to GFramework.Core.Tests/Query/AsyncQueryExecutorTests.cs index a3cfb1c..fabee92 100644 --- a/GFramework.Core.Tests/query/AsyncQueryExecutorTests.cs +++ b/GFramework.Core.Tests/Query/AsyncQueryExecutorTests.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.cqrs.query; -using GFramework.Core.query; +using GFramework.Core.Abstractions.CQRS.Query; +using GFramework.Core.Query; using NUnit.Framework; -namespace GFramework.Core.Tests.query; +namespace GFramework.Core.Tests.Query; /// /// AsyncQueryBus类的单元测试 diff --git a/GFramework.Core.Tests/query/QueryExecutorTests.cs b/GFramework.Core.Tests/Query/QueryExecutorTests.cs similarity index 96% rename from GFramework.Core.Tests/query/QueryExecutorTests.cs rename to GFramework.Core.Tests/Query/QueryExecutorTests.cs index d94dea6..ac8fbcf 100644 --- a/GFramework.Core.Tests/query/QueryExecutorTests.cs +++ b/GFramework.Core.Tests/Query/QueryExecutorTests.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.cqrs.query; -using GFramework.Core.query; +using GFramework.Core.Abstractions.CQRS.Query; +using GFramework.Core.Query; using NUnit.Framework; -namespace GFramework.Core.Tests.query; +namespace GFramework.Core.Tests.Query; /// /// 查询总线测试类,用于测试QueryBus的功能和异常处理 diff --git a/GFramework.Core.Tests/resource/ResourceManagerTests.cs b/GFramework.Core.Tests/Resource/ResourceManagerTests.cs similarity index 99% rename from GFramework.Core.Tests/resource/ResourceManagerTests.cs rename to GFramework.Core.Tests/Resource/ResourceManagerTests.cs index d5eb90c..7e2e788 100644 --- a/GFramework.Core.Tests/resource/ResourceManagerTests.cs +++ b/GFramework.Core.Tests/Resource/ResourceManagerTests.cs @@ -1,9 +1,9 @@ using System.IO; -using GFramework.Core.Abstractions.resource; -using GFramework.Core.resource; +using GFramework.Core.Abstractions.Resource; +using GFramework.Core.Resource; using NUnit.Framework; -namespace GFramework.Core.Tests.resource; +namespace GFramework.Core.Tests.Resource; /// /// 测试用的简单资源类 diff --git a/GFramework.Core.Tests/rule/ContextAwareEnvironmentExtensionsTests.cs b/GFramework.Core.Tests/Rule/ContextAwareEnvironmentExtensionsTests.cs similarity index 92% rename from GFramework.Core.Tests/rule/ContextAwareEnvironmentExtensionsTests.cs rename to GFramework.Core.Tests/Rule/ContextAwareEnvironmentExtensionsTests.cs index bc2ee5e..30ef275 100644 --- a/GFramework.Core.Tests/rule/ContextAwareEnvironmentExtensionsTests.cs +++ b/GFramework.Core.Tests/Rule/ContextAwareEnvironmentExtensionsTests.cs @@ -1,12 +1,11 @@ -using GFramework.Core.Abstractions.environment; -using GFramework.Core.Abstractions.rule; -using GFramework.Core.architecture; -using GFramework.Core.extensions; -using GFramework.Core.ioc; -using GFramework.Core.rule; -using NUnit.Framework; +using GFramework.Core.Abstractions.Environment; +using GFramework.Core.Abstractions.Rule; +using GFramework.Core.Architectures; +using GFramework.Core.Extensions; +using GFramework.Core.IoC; +using GFramework.Core.Rule; -namespace GFramework.Core.Tests.rule; +namespace GFramework.Core.Tests.Rule; /// /// 测试 ContextAwareEnvironmentExtensions 的单元测试类 diff --git a/GFramework.Core.Tests/rule/ContextAwareEventExtensionsTests.cs b/GFramework.Core.Tests/Rule/ContextAwareEventExtensionsTests.cs similarity index 91% rename from GFramework.Core.Tests/rule/ContextAwareEventExtensionsTests.cs rename to GFramework.Core.Tests/Rule/ContextAwareEventExtensionsTests.cs index 25fe848..3f59cce 100644 --- a/GFramework.Core.Tests/rule/ContextAwareEventExtensionsTests.cs +++ b/GFramework.Core.Tests/Rule/ContextAwareEventExtensionsTests.cs @@ -1,13 +1,12 @@ -using GFramework.Core.Abstractions.events; -using GFramework.Core.Abstractions.rule; -using GFramework.Core.architecture; -using GFramework.Core.events; -using GFramework.Core.extensions; -using GFramework.Core.ioc; -using GFramework.Core.rule; -using NUnit.Framework; +using GFramework.Core.Abstractions.Events; +using GFramework.Core.Abstractions.Rule; +using GFramework.Core.Architectures; +using GFramework.Core.Events; +using GFramework.Core.Extensions; +using GFramework.Core.IoC; +using GFramework.Core.Rule; -namespace GFramework.Core.Tests.rule; +namespace GFramework.Core.Tests.Rule; /// /// 测试 ContextAwareEventExtensions 的单元测试类 diff --git a/GFramework.Core.Tests/rule/ContextAwareServiceExtensionsTests.cs b/GFramework.Core.Tests/Rule/ContextAwareServiceExtensionsTests.cs similarity index 93% rename from GFramework.Core.Tests/rule/ContextAwareServiceExtensionsTests.cs rename to GFramework.Core.Tests/Rule/ContextAwareServiceExtensionsTests.cs index 75897a2..35c035c 100644 --- a/GFramework.Core.Tests/rule/ContextAwareServiceExtensionsTests.cs +++ b/GFramework.Core.Tests/Rule/ContextAwareServiceExtensionsTests.cs @@ -1,16 +1,15 @@ -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.Abstractions.enums; -using GFramework.Core.Abstractions.model; -using GFramework.Core.Abstractions.rule; -using GFramework.Core.Abstractions.system; -using GFramework.Core.Abstractions.utility; -using GFramework.Core.architecture; -using GFramework.Core.extensions; -using GFramework.Core.ioc; -using GFramework.Core.rule; -using NUnit.Framework; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Abstractions.Enums; +using GFramework.Core.Abstractions.Model; +using GFramework.Core.Abstractions.Rule; +using GFramework.Core.Abstractions.Systems; +using GFramework.Core.Abstractions.Utility; +using GFramework.Core.Architectures; +using GFramework.Core.Extensions; +using GFramework.Core.IoC; +using GFramework.Core.Rule; -namespace GFramework.Core.Tests.rule; +namespace GFramework.Core.Tests.Rule; /// /// 测试 ContextAwareServiceExtensions 的单元测试类 diff --git a/GFramework.Core.Tests/rule/ContextAwareTests.cs b/GFramework.Core.Tests/Rule/ContextAwareTests.cs similarity index 94% rename from GFramework.Core.Tests/rule/ContextAwareTests.cs rename to GFramework.Core.Tests/Rule/ContextAwareTests.cs index d28574c..03d38fe 100644 --- a/GFramework.Core.Tests/rule/ContextAwareTests.cs +++ b/GFramework.Core.Tests/Rule/ContextAwareTests.cs @@ -1,11 +1,10 @@ -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.Abstractions.rule; -using GFramework.Core.architecture; -using GFramework.Core.rule; -using GFramework.Core.Tests.architecture; -using NUnit.Framework; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Abstractions.Rule; +using GFramework.Core.Architectures; +using GFramework.Core.Rule; +using GFramework.Core.Tests.Architectures; -namespace GFramework.Core.Tests.rule; +namespace GFramework.Core.Tests.Rule; /// /// 测试 ContextAware 功能的单元测试类 diff --git a/GFramework.Core.Tests/state/StateMachineSystemTests.cs b/GFramework.Core.Tests/State/StateMachineSystemTests.cs similarity index 95% rename from GFramework.Core.Tests/state/StateMachineSystemTests.cs rename to GFramework.Core.Tests/State/StateMachineSystemTests.cs index 8cb698a..fab9f93 100644 --- a/GFramework.Core.Tests/state/StateMachineSystemTests.cs +++ b/GFramework.Core.Tests/State/StateMachineSystemTests.cs @@ -1,18 +1,17 @@ using System.Reflection; -using GFramework.Core.Abstractions.enums; -using GFramework.Core.Abstractions.state; -using GFramework.Core.Abstractions.system; -using GFramework.Core.architecture; -using GFramework.Core.command; -using GFramework.Core.environment; -using GFramework.Core.events; -using GFramework.Core.ioc; -using GFramework.Core.logging; -using GFramework.Core.query; -using GFramework.Core.state; -using NUnit.Framework; +using GFramework.Core.Abstractions.Enums; +using GFramework.Core.Abstractions.State; +using GFramework.Core.Abstractions.Systems; +using GFramework.Core.Architectures; +using GFramework.Core.Command; +using GFramework.Core.Environment; +using GFramework.Core.Events; +using GFramework.Core.IoC; +using GFramework.Core.Logging; +using GFramework.Core.Query; +using GFramework.Core.State; -namespace GFramework.Core.Tests.state; +namespace GFramework.Core.Tests.State; /// /// ContextAwareStateMachine类的单元测试 diff --git a/GFramework.Core.Tests/state/StateMachineTests.cs b/GFramework.Core.Tests/State/StateMachineTests.cs similarity index 99% rename from GFramework.Core.Tests/state/StateMachineTests.cs rename to GFramework.Core.Tests/State/StateMachineTests.cs index 440c436..3f854ad 100644 --- a/GFramework.Core.Tests/state/StateMachineTests.cs +++ b/GFramework.Core.Tests/State/StateMachineTests.cs @@ -1,9 +1,9 @@ using System.Reflection; -using GFramework.Core.Abstractions.state; -using GFramework.Core.state; +using GFramework.Core.Abstractions.State; +using GFramework.Core.State; using NUnit.Framework; -namespace GFramework.Core.Tests.state; +namespace GFramework.Core.Tests.State; /// /// 测试状态机功能的单元测试类 diff --git a/GFramework.Core.Tests/state/StateTests.cs b/GFramework.Core.Tests/State/StateTests.cs similarity index 99% rename from GFramework.Core.Tests/state/StateTests.cs rename to GFramework.Core.Tests/State/StateTests.cs index 36f5154..6e2d25f 100644 --- a/GFramework.Core.Tests/state/StateTests.cs +++ b/GFramework.Core.Tests/State/StateTests.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.state; +using GFramework.Core.Abstractions.State; using NUnit.Framework; -namespace GFramework.Core.Tests.state; +namespace GFramework.Core.Tests.State; /// /// 测试状态模式实现的功能和行为 diff --git a/GFramework.Core.Tests/system/AsyncTestSystem.cs b/GFramework.Core.Tests/Systems/AsyncTestSystem.cs similarity index 80% rename from GFramework.Core.Tests/system/AsyncTestSystem.cs rename to GFramework.Core.Tests/Systems/AsyncTestSystem.cs index bec03e5..8c339a9 100644 --- a/GFramework.Core.Tests/system/AsyncTestSystem.cs +++ b/GFramework.Core.Tests/Systems/AsyncTestSystem.cs @@ -1,9 +1,9 @@ -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.Abstractions.enums; -using GFramework.Core.Abstractions.lifecycle; -using GFramework.Core.Abstractions.system; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Abstractions.Enums; +using GFramework.Core.Abstractions.Lifecycle; +using GFramework.Core.Abstractions.Systems; -namespace GFramework.Core.Tests.system; +namespace GFramework.Core.Tests.Systems; /// /// 异步测试系统,实现 ISystem 和 IAsyncInitializable diff --git a/GFramework.Core.Tests/system/TestSystem.cs b/GFramework.Core.Tests/Systems/TestSystem.cs similarity index 87% rename from GFramework.Core.Tests/system/TestSystem.cs rename to GFramework.Core.Tests/Systems/TestSystem.cs index f06c455..9fe6989 100644 --- a/GFramework.Core.Tests/system/TestSystem.cs +++ b/GFramework.Core.Tests/Systems/TestSystem.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.Abstractions.enums; -using GFramework.Core.Abstractions.system; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Abstractions.Enums; +using GFramework.Core.Abstractions.Systems; -namespace GFramework.Core.Tests.system; +namespace GFramework.Core.Tests.Systems; /// /// 测试系统类,实现了ISystem接口 diff --git a/GFramework.Core.Tests/tests/ArchitectureTestsBase.cs b/GFramework.Core.Tests/Tests/ArchitectureTestsBase.cs similarity index 91% rename from GFramework.Core.Tests/tests/ArchitectureTestsBase.cs rename to GFramework.Core.Tests/Tests/ArchitectureTestsBase.cs index 39d9ede..d979ef9 100644 --- a/GFramework.Core.Tests/tests/ArchitectureTestsBase.cs +++ b/GFramework.Core.Tests/Tests/ArchitectureTestsBase.cs @@ -1,8 +1,7 @@ -using GFramework.Core.Abstractions.enums; -using GFramework.Core.architecture; -using NUnit.Framework; +using GFramework.Core.Abstractions.Enums; +using GFramework.Core.Architectures; -namespace GFramework.Core.Tests.tests; +namespace GFramework.Core.Tests.Tests; /// /// 架构测试基类,封装同步/异步共通测试逻辑 diff --git a/GFramework.Core.Tests/tests/AsyncArchitectureTests.cs b/GFramework.Core.Tests/Tests/AsyncArchitectureTests.cs similarity index 93% rename from GFramework.Core.Tests/tests/AsyncArchitectureTests.cs rename to GFramework.Core.Tests/Tests/AsyncArchitectureTests.cs index e842259..a758b40 100644 --- a/GFramework.Core.Tests/tests/AsyncArchitectureTests.cs +++ b/GFramework.Core.Tests/Tests/AsyncArchitectureTests.cs @@ -1,11 +1,10 @@ -using GFramework.Core.Abstractions.enums; -using GFramework.Core.Tests.architecture; -using GFramework.Core.Tests.model; -using GFramework.Core.Tests.system; -using NUnit.Framework; +using GFramework.Core.Abstractions.Enums; +using GFramework.Core.Tests.Architectures; +using GFramework.Core.Tests.Model; +using GFramework.Core.Tests.Systems; using NUnit.Framework.Legacy; -namespace GFramework.Core.Tests.tests; +namespace GFramework.Core.Tests.Tests; /// /// 异步架构测试类,用于测试异步架构的相关功能 @@ -112,8 +111,8 @@ public class AsyncArchitectureTests : ArchitectureTestsBase(); - Assert.That(system, Is.Null); + var system = Architecture.Context.GetSystem(); + Assert.That(system!.DestroyCalled, Is.True); Assert.That(Architecture.CurrentPhase, Is.EqualTo(ArchitecturePhase.Destroyed)); } diff --git a/GFramework.Core.Tests/tests/SyncArchitectureTests.cs b/GFramework.Core.Tests/Tests/SyncArchitectureTests.cs similarity index 95% rename from GFramework.Core.Tests/tests/SyncArchitectureTests.cs rename to GFramework.Core.Tests/Tests/SyncArchitectureTests.cs index e9488c6..751e32b 100644 --- a/GFramework.Core.Tests/tests/SyncArchitectureTests.cs +++ b/GFramework.Core.Tests/Tests/SyncArchitectureTests.cs @@ -1,13 +1,12 @@ -using GFramework.Core.Abstractions.enums; -using GFramework.Core.architecture; -using GFramework.Core.Tests.architecture; -using GFramework.Core.Tests.events; -using GFramework.Core.Tests.model; -using GFramework.Core.Tests.system; -using NUnit.Framework; +using GFramework.Core.Abstractions.Enums; +using GFramework.Core.Architectures; +using GFramework.Core.Tests.Architectures; +using GFramework.Core.Tests.Events; +using GFramework.Core.Tests.Model; +using GFramework.Core.Tests.Systems; using NUnit.Framework.Legacy; -namespace GFramework.Core.Tests.tests; +namespace GFramework.Core.Tests.Tests; /// /// 同步架构测试类,用于测试同步架构的初始化、生命周期和组件注册等功能 diff --git a/GFramework.Core.Tests/time/FakeTimeProvider.cs b/GFramework.Core.Tests/Time/FakeTimeProvider.cs similarity index 92% rename from GFramework.Core.Tests/time/FakeTimeProvider.cs rename to GFramework.Core.Tests/Time/FakeTimeProvider.cs index 791fac7..f142deb 100644 --- a/GFramework.Core.Tests/time/FakeTimeProvider.cs +++ b/GFramework.Core.Tests/Time/FakeTimeProvider.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.time; +using GFramework.Core.Abstractions.Time; -namespace GFramework.Core.Tests.time; +namespace GFramework.Core.Tests.Time; /// /// 可控制的时间提供者,用于测试 diff --git a/GFramework.Core.Tests/utility/AbstractContextUtilityTests.cs b/GFramework.Core.Tests/Utility/AbstractContextUtilityTests.cs similarity index 94% rename from GFramework.Core.Tests/utility/AbstractContextUtilityTests.cs rename to GFramework.Core.Tests/Utility/AbstractContextUtilityTests.cs index 7466f61..d216de4 100644 --- a/GFramework.Core.Tests/utility/AbstractContextUtilityTests.cs +++ b/GFramework.Core.Tests/Utility/AbstractContextUtilityTests.cs @@ -1,16 +1,15 @@ -using GFramework.Core.Abstractions.logging; -using GFramework.Core.Abstractions.rule; -using GFramework.Core.Abstractions.utility; -using GFramework.Core.architecture; -using GFramework.Core.command; -using GFramework.Core.environment; -using GFramework.Core.events; -using GFramework.Core.ioc; -using GFramework.Core.query; -using GFramework.Core.utility; -using NUnit.Framework; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Abstractions.Rule; +using GFramework.Core.Abstractions.Utility; +using GFramework.Core.Architectures; +using GFramework.Core.Command; +using GFramework.Core.Environment; +using GFramework.Core.Events; +using GFramework.Core.IoC; +using GFramework.Core.Query; +using GFramework.Core.Utility; -namespace GFramework.Core.Tests.utility; +namespace GFramework.Core.Tests.Utility; /// /// AbstractContextUtility类的单元测试 diff --git a/GFramework.Core.Tests/model/ITestModel.cs b/GFramework.Core.Tests/model/ITestModel.cs deleted file mode 100644 index af86350..0000000 --- a/GFramework.Core.Tests/model/ITestModel.cs +++ /dev/null @@ -1,8 +0,0 @@ -using GFramework.Core.Abstractions.model; - -namespace GFramework.Core.Tests.model; - -public interface ITestModel : IModel -{ - int GetCurrentXp { get; } -} \ No newline at end of file diff --git a/GFramework.Core/architecture/Architecture.cs b/GFramework.Core/Architectures/Architecture.cs similarity index 97% rename from GFramework.Core/architecture/Architecture.cs rename to GFramework.Core/Architectures/Architecture.cs index 0ebdff6..3b958fb 100644 --- a/GFramework.Core/architecture/Architecture.cs +++ b/GFramework.Core/Architectures/Architecture.cs @@ -1,18 +1,18 @@ -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.Abstractions.enums; -using GFramework.Core.Abstractions.environment; -using GFramework.Core.Abstractions.ioc; -using GFramework.Core.Abstractions.lifecycle; -using GFramework.Core.Abstractions.logging; -using GFramework.Core.Abstractions.model; -using GFramework.Core.Abstractions.system; -using GFramework.Core.Abstractions.utility; -using GFramework.Core.environment; -using GFramework.Core.extensions; -using GFramework.Core.logging; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Abstractions.Enums; +using GFramework.Core.Abstractions.Environment; +using GFramework.Core.Abstractions.IoC; +using GFramework.Core.Abstractions.Lifecycle; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Abstractions.Model; +using GFramework.Core.Abstractions.Systems; +using GFramework.Core.Abstractions.Utility; +using GFramework.Core.Environment; +using GFramework.Core.Extensions; +using GFramework.Core.Logging; using Microsoft.Extensions.DependencyInjection; -namespace GFramework.Core.architecture; +namespace GFramework.Core.Architectures; /// /// 架构基类,提供系统、模型、工具等组件的注册与管理功能。 diff --git a/GFramework.Core/architecture/ArchitectureConfiguration.cs b/GFramework.Core/Architectures/ArchitectureConfiguration.cs similarity index 81% rename from GFramework.Core/architecture/ArchitectureConfiguration.cs rename to GFramework.Core/Architectures/ArchitectureConfiguration.cs index f431296..679b0a3 100644 --- a/GFramework.Core/architecture/ArchitectureConfiguration.cs +++ b/GFramework.Core/Architectures/ArchitectureConfiguration.cs @@ -1,9 +1,9 @@ -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.Abstractions.logging; -using GFramework.Core.Abstractions.properties; -using GFramework.Core.logging; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Abstractions.Properties; +using GFramework.Core.Logging; -namespace GFramework.Core.architecture; +namespace GFramework.Core.Architectures; /// /// 默认架构配置类,实现IArchitectureConfiguration接口 diff --git a/GFramework.Core/architecture/ArchitectureConstants.cs b/GFramework.Core/Architectures/ArchitectureConstants.cs similarity index 96% rename from GFramework.Core/architecture/ArchitectureConstants.cs rename to GFramework.Core/Architectures/ArchitectureConstants.cs index 5efcfd2..e6aaa50 100644 --- a/GFramework.Core/architecture/ArchitectureConstants.cs +++ b/GFramework.Core/Architectures/ArchitectureConstants.cs @@ -1,7 +1,7 @@ using System.Collections.Immutable; -using GFramework.Core.Abstractions.enums; +using GFramework.Core.Abstractions.Enums; -namespace GFramework.Core.architecture; +namespace GFramework.Core.Architectures; /// /// 架构常量类,定义了架构阶段转换规则 diff --git a/GFramework.Core/architecture/ArchitectureContext.cs b/GFramework.Core/Architectures/ArchitectureContext.cs similarity index 89% rename from GFramework.Core/architecture/ArchitectureContext.cs rename to GFramework.Core/Architectures/ArchitectureContext.cs index d021bdd..1464b7b 100644 --- a/GFramework.Core/architecture/ArchitectureContext.cs +++ b/GFramework.Core/Architectures/ArchitectureContext.cs @@ -1,16 +1,17 @@ -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.Abstractions.command; -using GFramework.Core.Abstractions.environment; -using GFramework.Core.Abstractions.events; -using GFramework.Core.Abstractions.ioc; -using GFramework.Core.Abstractions.model; -using GFramework.Core.Abstractions.query; -using GFramework.Core.Abstractions.system; -using GFramework.Core.Abstractions.utility; +using System.Collections.Concurrent; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Abstractions.Command; +using GFramework.Core.Abstractions.Environment; +using GFramework.Core.Abstractions.Events; +using GFramework.Core.Abstractions.IoC; +using GFramework.Core.Abstractions.Model; +using GFramework.Core.Abstractions.Query; +using GFramework.Core.Abstractions.Systems; +using GFramework.Core.Abstractions.Utility; using Mediator; -using ICommand = GFramework.Core.Abstractions.command.ICommand; +using ICommand = GFramework.Core.Abstractions.Command.ICommand; -namespace GFramework.Core.architecture; +namespace GFramework.Core.Architectures; /// /// 架构上下文类,提供对系统、模型、工具等组件的访问以及命令、查询、事件的执行管理 @@ -18,31 +19,31 @@ namespace GFramework.Core.architecture; public class ArchitectureContext(IIocContainer container) : IArchitectureContext { private readonly IIocContainer _container = container ?? throw new ArgumentNullException(nameof(container)); - private readonly Dictionary _serviceCache = new(); + private readonly ConcurrentDictionary _serviceCache = new(); #region Mediator Integration /// /// 获取 Mediator 实例(延迟加载) /// - private IMediator? Mediator => GetOrCache(); + private IMediator Mediator => GetOrCache(); /// /// 获取 ISender 实例(更轻量的发送器) /// - private ISender? Sender => GetOrCache(); + private ISender Sender => GetOrCache(); /// /// 获取 IPublisher 实例(用于发布通知) /// - private IPublisher? Publisher => GetOrCache(); + private IPublisher Publisher => GetOrCache(); /// /// 获取指定类型的服务实例,如果缓存中存在则直接返回,否则从容器中获取并缓存 /// /// 服务类型,必须为引用类型 - /// 服务实例,如果未找到则返回null - public TService? GetService() where TService : class + /// 服务实例,如果不存在则抛出异常 + public TService GetService() where TService : class { return GetOrCache(); } @@ -52,20 +53,14 @@ public class ArchitectureContext(IIocContainer container) : IArchitectureContext /// 首先尝试从缓存中获取服务实例,如果缓存中不存在则从容器中获取并存入缓存 /// /// 服务类型,必须为引用类型 - /// 服务实例,如果未找到则返回null - private TService? GetOrCache() where TService : class + /// 服务实例,如果不存在则抛出异常 + private TService GetOrCache() where TService : class { - // 尝试从服务缓存中获取已存在的服务实例 - if (_serviceCache.TryGetValue(typeof(TService), out var cached)) - return (TService)cached; - - // 从依赖注入容器中获取服务实例 - var service = _container.Get(); - // 如果服务实例存在,则将其存入缓存以供后续使用 - if (service != null) - _serviceCache[typeof(TService)] = service; - - return service; + return (TService)_serviceCache.GetOrAdd( + typeof(TService), + _ => _container.Get() + ?? throw new InvalidOperationException( + $"Service {typeof(TService)} not registered")); } /// @@ -176,7 +171,7 @@ public class ArchitectureContext(IIocContainer container) : IArchitectureContext /// 查询结果类型 /// 要发送的查询 /// 查询结果 - public TResult SendQuery(Abstractions.query.IQuery query) + public TResult SendQuery(Abstractions.Query.IQuery query) { if (query == null) throw new ArgumentNullException(nameof(query)); var queryBus = GetOrCache(); @@ -248,7 +243,7 @@ public class ArchitectureContext(IIocContainer container) : IArchitectureContext /// /// 目标系统类型 /// 对应的系统实例 - public TSystem? GetSystem() where TSystem : class, ISystem + public TSystem GetSystem() where TSystem : class, ISystem { return GetService(); } @@ -268,7 +263,7 @@ public class ArchitectureContext(IIocContainer container) : IArchitectureContext /// /// 目标模型类型 /// 对应的模型实例 - public TModel? GetModel() where TModel : class, IModel + public TModel GetModel() where TModel : class, IModel { return GetService(); } @@ -288,7 +283,7 @@ public class ArchitectureContext(IIocContainer container) : IArchitectureContext /// /// 目标工具类型 /// 对应的工具实例 - public TUtility? GetUtility() where TUtility : class, IUtility + public TUtility GetUtility() where TUtility : class, IUtility { return GetService(); } @@ -416,7 +411,7 @@ public class ArchitectureContext(IIocContainer container) : IArchitectureContext { ArgumentNullException.ThrowIfNull(command); var commandBus = GetOrCache(); - commandBus?.Send(command); + commandBus.Send(command); } /// @@ -425,7 +420,7 @@ public class ArchitectureContext(IIocContainer container) : IArchitectureContext /// 命令执行结果类型 /// 要发送的命令 /// 命令执行结果 - public TResult SendCommand(Abstractions.command.ICommand command) + public TResult SendCommand(Abstractions.Command.ICommand command) { ArgumentNullException.ThrowIfNull(command); var commandBus = GetOrCache(); @@ -444,7 +439,7 @@ public class ArchitectureContext(IIocContainer container) : IArchitectureContext public void SendEvent() where TEvent : new() { var eventBus = GetOrCache(); - eventBus?.Send(); + eventBus.Send(); } /// @@ -456,7 +451,7 @@ public class ArchitectureContext(IIocContainer container) : IArchitectureContext { ArgumentNullException.ThrowIfNull(e); var eventBus = GetOrCache(); - eventBus?.Send(e); + eventBus.Send(e); } /// @@ -482,7 +477,7 @@ public class ArchitectureContext(IIocContainer container) : IArchitectureContext { ArgumentNullException.ThrowIfNull(onEvent); var eventBus = GetOrCache(); - eventBus?.UnRegister(onEvent); + eventBus.UnRegister(onEvent); } /// diff --git a/GFramework.Core/architecture/ArchitectureServices.cs b/GFramework.Core/Architectures/ArchitectureServices.cs similarity index 89% rename from GFramework.Core/architecture/ArchitectureServices.cs rename to GFramework.Core/Architectures/ArchitectureServices.cs index 2aeee68..da811f2 100644 --- a/GFramework.Core/architecture/ArchitectureServices.cs +++ b/GFramework.Core/Architectures/ArchitectureServices.cs @@ -1,12 +1,12 @@ -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.Abstractions.command; -using GFramework.Core.Abstractions.events; -using GFramework.Core.Abstractions.ioc; -using GFramework.Core.Abstractions.query; -using GFramework.Core.ioc; -using GFramework.Core.services; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Abstractions.Command; +using GFramework.Core.Abstractions.Events; +using GFramework.Core.Abstractions.IoC; +using GFramework.Core.Abstractions.Query; +using GFramework.Core.IoC; +using GFramework.Core.Services; -namespace GFramework.Core.architecture; +namespace GFramework.Core.Architectures; /// /// 架构服务类,提供依赖注入容器、事件系统、命令总线和查询总线等核心服务。 diff --git a/GFramework.Core/architecture/GameContext.cs b/GFramework.Core/Architectures/GameContext.cs similarity index 97% rename from GFramework.Core/architecture/GameContext.cs rename to GFramework.Core/Architectures/GameContext.cs index f31460b..ea16bc9 100644 --- a/GFramework.Core/architecture/GameContext.cs +++ b/GFramework.Core/Architectures/GameContext.cs @@ -1,7 +1,7 @@ using System.Collections.Concurrent; -using GFramework.Core.Abstractions.architecture; +using GFramework.Core.Abstractions.Architecture; -namespace GFramework.Core.architecture; +namespace GFramework.Core.Architectures; /// /// 游戏上下文管理类,用于管理当前的架构上下文实例 diff --git a/GFramework.Core/architecture/GameContextProvider.cs b/GFramework.Core/Architectures/GameContextProvider.cs similarity index 90% rename from GFramework.Core/architecture/GameContextProvider.cs rename to GFramework.Core/Architectures/GameContextProvider.cs index 140af30..6bc1994 100644 --- a/GFramework.Core/architecture/GameContextProvider.cs +++ b/GFramework.Core/Architectures/GameContextProvider.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.architecture; +using GFramework.Core.Abstractions.Architecture; -namespace GFramework.Core.architecture; +namespace GFramework.Core.Architectures; /// /// 基于 GameContext 的默认上下文提供者 diff --git a/GFramework.Core/architecture/RegistryInitializationHookBase.cs b/GFramework.Core/Architectures/RegistryInitializationHookBase.cs similarity index 90% rename from GFramework.Core/architecture/RegistryInitializationHookBase.cs rename to GFramework.Core/Architectures/RegistryInitializationHookBase.cs index 99dc490..66a6e96 100644 --- a/GFramework.Core/architecture/RegistryInitializationHookBase.cs +++ b/GFramework.Core/Architectures/RegistryInitializationHookBase.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.Abstractions.enums; -using GFramework.Core.Abstractions.utility; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Abstractions.Enums; +using GFramework.Core.Abstractions.Utility; -namespace GFramework.Core.architecture; +namespace GFramework.Core.Architectures; /// /// 注册表初始化钩子抽象基类,简化注册表配置的初始化逻辑 diff --git a/GFramework.Core/architecture/ScopedContextProvider.cs b/GFramework.Core/Architectures/ScopedContextProvider.cs similarity index 93% rename from GFramework.Core/architecture/ScopedContextProvider.cs rename to GFramework.Core/Architectures/ScopedContextProvider.cs index da865dd..f8c7a14 100644 --- a/GFramework.Core/architecture/ScopedContextProvider.cs +++ b/GFramework.Core/Architectures/ScopedContextProvider.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.architecture; +using GFramework.Core.Abstractions.Architecture; -namespace GFramework.Core.architecture; +namespace GFramework.Core.Architectures; /// /// 作用域上下文提供者,用于多架构实例场景 diff --git a/GFramework.Core/cqrs/behaviors/LoggingBehavior.cs b/GFramework.Core/CQRS/Behaviors/LoggingBehavior.cs similarity index 95% rename from GFramework.Core/cqrs/behaviors/LoggingBehavior.cs rename to GFramework.Core/CQRS/Behaviors/LoggingBehavior.cs index e8d9fe7..0abfe5a 100644 --- a/GFramework.Core/cqrs/behaviors/LoggingBehavior.cs +++ b/GFramework.Core/CQRS/Behaviors/LoggingBehavior.cs @@ -12,11 +12,11 @@ // limitations under the License. using System.Diagnostics; -using GFramework.Core.Abstractions.logging; -using GFramework.Core.logging; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Logging; using Mediator; -namespace GFramework.Core.cqrs.behaviors; +namespace GFramework.Core.CQRS.Behaviors; /// /// 日志记录行为类,用于在CQRS管道中记录请求处理的日志信息 diff --git a/GFramework.Core/cqrs/behaviors/PerformanceBehavior.cs b/GFramework.Core/CQRS/Behaviors/PerformanceBehavior.cs similarity index 95% rename from GFramework.Core/cqrs/behaviors/PerformanceBehavior.cs rename to GFramework.Core/CQRS/Behaviors/PerformanceBehavior.cs index 5f16e01..abef140 100644 --- a/GFramework.Core/cqrs/behaviors/PerformanceBehavior.cs +++ b/GFramework.Core/CQRS/Behaviors/PerformanceBehavior.cs @@ -12,11 +12,11 @@ // limitations under the License. using System.Diagnostics; -using GFramework.Core.Abstractions.logging; -using GFramework.Core.logging; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Logging; using Mediator; -namespace GFramework.Core.cqrs.behaviors; +namespace GFramework.Core.CQRS.Behaviors; /// /// 性能监控行为类,用于监控CQRS请求的执行时间 diff --git a/GFramework.Core/cqrs/command/AbstractCommandHandler.cs b/GFramework.Core/CQRS/Command/AbstractCommandHandler.cs similarity index 97% rename from GFramework.Core/cqrs/command/AbstractCommandHandler.cs rename to GFramework.Core/CQRS/Command/AbstractCommandHandler.cs index 1cdd4e5..ca16877 100644 --- a/GFramework.Core/cqrs/command/AbstractCommandHandler.cs +++ b/GFramework.Core/CQRS/Command/AbstractCommandHandler.cs @@ -11,10 +11,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.rule; +using GFramework.Core.Rule; using Mediator; -namespace GFramework.Core.cqrs.command; +namespace GFramework.Core.CQRS.Command; /// /// 抽象命令处理器基类 diff --git a/GFramework.Core/cqrs/command/AbstractStreamCommandHandler.cs b/GFramework.Core/CQRS/Command/AbstractStreamCommandHandler.cs similarity index 96% rename from GFramework.Core/cqrs/command/AbstractStreamCommandHandler.cs rename to GFramework.Core/CQRS/Command/AbstractStreamCommandHandler.cs index c5f3f04..a0745e7 100644 --- a/GFramework.Core/cqrs/command/AbstractStreamCommandHandler.cs +++ b/GFramework.Core/CQRS/Command/AbstractStreamCommandHandler.cs @@ -11,10 +11,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.rule; +using GFramework.Core.Rule; using Mediator; -namespace GFramework.Core.cqrs.command; +namespace GFramework.Core.CQRS.Command; /// /// 抽象流式命令处理器基类 diff --git a/GFramework.Core/cqrs/command/CommandBase.cs b/GFramework.Core/CQRS/Command/CommandBase.cs similarity index 93% rename from GFramework.Core/cqrs/command/CommandBase.cs rename to GFramework.Core/CQRS/Command/CommandBase.cs index 308ccca..506bebc 100644 --- a/GFramework.Core/cqrs/command/CommandBase.cs +++ b/GFramework.Core/CQRS/Command/CommandBase.cs @@ -11,10 +11,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.Abstractions.cqrs.command; +using GFramework.Core.Abstractions.CQRS.Command; using Mediator; -namespace GFramework.Core.cqrs.command; +namespace GFramework.Core.CQRS.Command; /// /// 表示一个基础命令类,用于处理带有输入和响应的命令模式实现。 diff --git a/GFramework.Core/cqrs/notification/AbstractNotificationHandler.cs b/GFramework.Core/CQRS/Notification/AbstractNotificationHandler.cs similarity index 95% rename from GFramework.Core/cqrs/notification/AbstractNotificationHandler.cs rename to GFramework.Core/CQRS/Notification/AbstractNotificationHandler.cs index 4060b8b..80a8604 100644 --- a/GFramework.Core/cqrs/notification/AbstractNotificationHandler.cs +++ b/GFramework.Core/CQRS/Notification/AbstractNotificationHandler.cs @@ -11,10 +11,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.rule; +using GFramework.Core.Rule; using Mediator; -namespace GFramework.Core.cqrs.notification; +namespace GFramework.Core.CQRS.Notification; /// /// 抽象通知处理器基类 diff --git a/GFramework.Core/cqrs/notification/NotificationBase.cs b/GFramework.Core/CQRS/Notification/NotificationBase.cs similarity index 92% rename from GFramework.Core/cqrs/notification/NotificationBase.cs rename to GFramework.Core/CQRS/Notification/NotificationBase.cs index edb1d48..4a156bf 100644 --- a/GFramework.Core/cqrs/notification/NotificationBase.cs +++ b/GFramework.Core/CQRS/Notification/NotificationBase.cs @@ -11,10 +11,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.Abstractions.cqrs.notification; +using GFramework.Core.Abstractions.CQRS.Notification; using Mediator; -namespace GFramework.Core.cqrs.notification; +namespace GFramework.Core.CQRS.Notification; /// /// 表示一个基础通知类,用于处理带有输入的通知模式实现。 diff --git a/GFramework.Core/cqrs/query/AbstractQueryHandler.cs b/GFramework.Core/CQRS/Query/AbstractQueryHandler.cs similarity index 96% rename from GFramework.Core/cqrs/query/AbstractQueryHandler.cs rename to GFramework.Core/CQRS/Query/AbstractQueryHandler.cs index 296c985..fde1a3f 100644 --- a/GFramework.Core/cqrs/query/AbstractQueryHandler.cs +++ b/GFramework.Core/CQRS/Query/AbstractQueryHandler.cs @@ -11,10 +11,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.rule; +using GFramework.Core.Rule; using Mediator; -namespace GFramework.Core.cqrs.query; +namespace GFramework.Core.CQRS.Query; /// /// 抽象查询处理器基类 diff --git a/GFramework.Core/cqrs/query/AbstractStreamQueryHandler.cs b/GFramework.Core/CQRS/Query/AbstractStreamQueryHandler.cs similarity index 96% rename from GFramework.Core/cqrs/query/AbstractStreamQueryHandler.cs rename to GFramework.Core/CQRS/Query/AbstractStreamQueryHandler.cs index a7c4eb0..9e155ec 100644 --- a/GFramework.Core/cqrs/query/AbstractStreamQueryHandler.cs +++ b/GFramework.Core/CQRS/Query/AbstractStreamQueryHandler.cs @@ -11,10 +11,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.rule; +using GFramework.Core.Rule; using Mediator; -namespace GFramework.Core.cqrs.query; +namespace GFramework.Core.CQRS.Query; /// /// 抽象流式查询处理器基类 diff --git a/GFramework.Core/cqrs/query/QueryBase.cs b/GFramework.Core/CQRS/Query/QueryBase.cs similarity index 93% rename from GFramework.Core/cqrs/query/QueryBase.cs rename to GFramework.Core/CQRS/Query/QueryBase.cs index ac21f79..eadf491 100644 --- a/GFramework.Core/cqrs/query/QueryBase.cs +++ b/GFramework.Core/CQRS/Query/QueryBase.cs @@ -11,10 +11,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.Abstractions.cqrs.query; +using GFramework.Core.Abstractions.CQRS.Query; using Mediator; -namespace GFramework.Core.cqrs.query; +namespace GFramework.Core.CQRS.Query; /// /// 表示一个基础查询类,用于处理带有输入和响应的查询模式实现。 diff --git a/GFramework.Core/cqrs/request/AbstractRequestHandler.cs b/GFramework.Core/CQRS/Request/AbstractRequestHandler.cs similarity index 97% rename from GFramework.Core/cqrs/request/AbstractRequestHandler.cs rename to GFramework.Core/CQRS/Request/AbstractRequestHandler.cs index d2a15ac..b0fd778 100644 --- a/GFramework.Core/cqrs/request/AbstractRequestHandler.cs +++ b/GFramework.Core/CQRS/Request/AbstractRequestHandler.cs @@ -11,10 +11,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.rule; +using GFramework.Core.Rule; using Mediator; -namespace GFramework.Core.cqrs.request; +namespace GFramework.Core.CQRS.Request; /// /// 抽象请求处理器基类,用于处理不返回具体响应的请求 diff --git a/GFramework.Core/cqrs/request/AbstractStreamRequestHandler.cs b/GFramework.Core/CQRS/Request/AbstractStreamRequestHandler.cs similarity index 96% rename from GFramework.Core/cqrs/request/AbstractStreamRequestHandler.cs rename to GFramework.Core/CQRS/Request/AbstractStreamRequestHandler.cs index a6cdd31..861f3e7 100644 --- a/GFramework.Core/cqrs/request/AbstractStreamRequestHandler.cs +++ b/GFramework.Core/CQRS/Request/AbstractStreamRequestHandler.cs @@ -11,10 +11,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.rule; +using GFramework.Core.Rule; using Mediator; -namespace GFramework.Core.cqrs.request; +namespace GFramework.Core.CQRS.Request; /// /// 抽象流式请求处理器基类 diff --git a/GFramework.Core/cqrs/request/RequestBase.cs b/GFramework.Core/CQRS/Request/RequestBase.cs similarity index 93% rename from GFramework.Core/cqrs/request/RequestBase.cs rename to GFramework.Core/CQRS/Request/RequestBase.cs index 9e89935..876398b 100644 --- a/GFramework.Core/cqrs/request/RequestBase.cs +++ b/GFramework.Core/CQRS/Request/RequestBase.cs @@ -11,10 +11,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.Abstractions.cqrs.request; +using GFramework.Core.Abstractions.CQRS.Request; using Mediator; -namespace GFramework.Core.cqrs.request; +namespace GFramework.Core.CQRS.Request; /// /// 表示一个基础请求类,用于处理带有输入和响应的请求模式实现。 diff --git a/GFramework.Core/command/AbstractAsyncCommand.cs b/GFramework.Core/Command/AbstractAsyncCommand.cs similarity index 88% rename from GFramework.Core/command/AbstractAsyncCommand.cs rename to GFramework.Core/Command/AbstractAsyncCommand.cs index 3f57347..779f331 100644 --- a/GFramework.Core/command/AbstractAsyncCommand.cs +++ b/GFramework.Core/Command/AbstractAsyncCommand.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.command; -using GFramework.Core.rule; +using GFramework.Core.Abstractions.Command; +using GFramework.Core.Rule; -namespace GFramework.Core.command; +namespace GFramework.Core.Command; /// /// 异步命令的抽象基类,实现了IAsyncCommand接口 diff --git a/GFramework.Core/command/AbstractAsyncCommandWithInput.cs b/GFramework.Core/Command/AbstractAsyncCommandWithInput.cs similarity index 84% rename from GFramework.Core/command/AbstractAsyncCommandWithInput.cs rename to GFramework.Core/Command/AbstractAsyncCommandWithInput.cs index 0719b86..a739e6f 100644 --- a/GFramework.Core/command/AbstractAsyncCommandWithInput.cs +++ b/GFramework.Core/Command/AbstractAsyncCommandWithInput.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.command; -using GFramework.Core.Abstractions.cqrs.command; -using GFramework.Core.rule; +using GFramework.Core.Abstractions.Command; +using GFramework.Core.Abstractions.CQRS.Command; +using GFramework.Core.Rule; -namespace GFramework.Core.command; +namespace GFramework.Core.Command; /// /// 抽象异步命令基类,用于处理无返回值的异步命令操作 diff --git a/GFramework.Core/command/AbstractAsyncCommandWithResult.cs b/GFramework.Core/Command/AbstractAsyncCommandWithResult.cs similarity index 86% rename from GFramework.Core/command/AbstractAsyncCommandWithResult.cs rename to GFramework.Core/Command/AbstractAsyncCommandWithResult.cs index bd22233..d82d307 100644 --- a/GFramework.Core/command/AbstractAsyncCommandWithResult.cs +++ b/GFramework.Core/Command/AbstractAsyncCommandWithResult.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.command; -using GFramework.Core.Abstractions.cqrs.command; -using GFramework.Core.rule; +using GFramework.Core.Abstractions.Command; +using GFramework.Core.Abstractions.CQRS.Command; +using GFramework.Core.Rule; -namespace GFramework.Core.command; +namespace GFramework.Core.Command; /// /// 抽象异步命令基类,用于处理有返回值的异步命令操作 diff --git a/GFramework.Core/command/AbstractCommand.cs b/GFramework.Core/Command/AbstractCommand.cs similarity index 82% rename from GFramework.Core/command/AbstractCommand.cs rename to GFramework.Core/Command/AbstractCommand.cs index 45c1488..c83b169 100644 --- a/GFramework.Core/command/AbstractCommand.cs +++ b/GFramework.Core/Command/AbstractCommand.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.command; -using GFramework.Core.rule; +using GFramework.Core.Abstractions.Command; +using GFramework.Core.Rule; -namespace GFramework.Core.command; +namespace GFramework.Core.Command; /// /// 抽象命令类,实现 ICommand 接口,为具体命令提供基础架构支持 diff --git a/GFramework.Core/command/AbstractCommandWithInput.cs b/GFramework.Core/Command/AbstractCommandWithInput.cs similarity index 84% rename from GFramework.Core/command/AbstractCommandWithInput.cs rename to GFramework.Core/Command/AbstractCommandWithInput.cs index 4836b14..3bd953b 100644 --- a/GFramework.Core/command/AbstractCommandWithInput.cs +++ b/GFramework.Core/Command/AbstractCommandWithInput.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.command; -using GFramework.Core.Abstractions.cqrs.command; -using GFramework.Core.rule; +using GFramework.Core.Abstractions.Command; +using GFramework.Core.Abstractions.CQRS.Command; +using GFramework.Core.Rule; -namespace GFramework.Core.command; +namespace GFramework.Core.Command; /// /// 抽象命令类,实现 ICommand 接口,为具体命令提供基础架构支持 diff --git a/GFramework.Core/command/AbstractCommandWithResult.cs b/GFramework.Core/Command/AbstractCommandWithResult.cs similarity index 87% rename from GFramework.Core/command/AbstractCommandWithResult.cs rename to GFramework.Core/Command/AbstractCommandWithResult.cs index b93b32e..bed8b8f 100644 --- a/GFramework.Core/command/AbstractCommandWithResult.cs +++ b/GFramework.Core/Command/AbstractCommandWithResult.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.command; -using GFramework.Core.Abstractions.cqrs.command; -using GFramework.Core.rule; +using GFramework.Core.Abstractions.Command; +using GFramework.Core.Abstractions.CQRS.Command; +using GFramework.Core.Rule; -namespace GFramework.Core.command; +namespace GFramework.Core.Command; /// /// 带返回值的抽象命令类,实现 ICommand{TResult} 接口,为需要返回结果的命令提供基础架构支持 diff --git a/GFramework.Core/command/CommandExecutor.cs b/GFramework.Core/Command/CommandExecutor.cs similarity index 93% rename from GFramework.Core/command/CommandExecutor.cs rename to GFramework.Core/Command/CommandExecutor.cs index d9b5d9c..9265b5a 100644 --- a/GFramework.Core/command/CommandExecutor.cs +++ b/GFramework.Core/Command/CommandExecutor.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.command; -using IAsyncCommand = GFramework.Core.Abstractions.command.IAsyncCommand; +using GFramework.Core.Abstractions.Command; +using IAsyncCommand = GFramework.Core.Abstractions.Command.IAsyncCommand; -namespace GFramework.Core.command; +namespace GFramework.Core.Command; /// /// 表示一个命令执行器,用于执行命令操作。 diff --git a/GFramework.Core/command/EmptyCommandInput.cs b/GFramework.Core/Command/EmptyCommandInput.cs similarity index 80% rename from GFramework.Core/command/EmptyCommandInput.cs rename to GFramework.Core/Command/EmptyCommandInput.cs index e510964..7242e20 100644 --- a/GFramework.Core/command/EmptyCommandInput.cs +++ b/GFramework.Core/Command/EmptyCommandInput.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.cqrs.command; +using GFramework.Core.Abstractions.CQRS.Command; -namespace GFramework.Core.command; +namespace GFramework.Core.Command; /// /// 空命令输入类,用于表示一个不包含任何输入参数的命令 diff --git a/GFramework.Core/configuration/ConfigWatcherUnRegister.cs b/GFramework.Core/Configuration/ConfigWatcherUnRegister.cs similarity index 83% rename from GFramework.Core/configuration/ConfigWatcherUnRegister.cs rename to GFramework.Core/Configuration/ConfigWatcherUnRegister.cs index 84066bc..22f7452 100644 --- a/GFramework.Core/configuration/ConfigWatcherUnRegister.cs +++ b/GFramework.Core/Configuration/ConfigWatcherUnRegister.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.events; +using GFramework.Core.Abstractions.Events; -namespace GFramework.Core.configuration; +namespace GFramework.Core.Configuration; /// /// 配置监听取消注册接口 diff --git a/GFramework.Core/configuration/ConfigurationManager.cs b/GFramework.Core/Configuration/ConfigurationManager.cs similarity index 97% rename from GFramework.Core/configuration/ConfigurationManager.cs rename to GFramework.Core/Configuration/ConfigurationManager.cs index 73e47a0..2340dcc 100644 --- a/GFramework.Core/configuration/ConfigurationManager.cs +++ b/GFramework.Core/Configuration/ConfigurationManager.cs @@ -1,12 +1,12 @@ using System.Collections.Concurrent; using System.IO; using System.Text.Json; -using GFramework.Core.Abstractions.configuration; -using GFramework.Core.Abstractions.events; -using GFramework.Core.Abstractions.logging; -using GFramework.Core.logging; +using GFramework.Core.Abstractions.Configuration; +using GFramework.Core.Abstractions.Events; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Logging; -namespace GFramework.Core.configuration; +namespace GFramework.Core.Configuration; /// /// 配置管理器实现,提供线程安全的配置存储和访问 diff --git a/GFramework.Core/constants/GFrameworkConstants.cs b/GFramework.Core/Constants/GFrameworkConstants.cs similarity index 85% rename from GFramework.Core/constants/GFrameworkConstants.cs rename to GFramework.Core/Constants/GFrameworkConstants.cs index b00301b..e5062e3 100644 --- a/GFramework.Core/constants/GFrameworkConstants.cs +++ b/GFramework.Core/Constants/GFrameworkConstants.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.constants; +namespace GFramework.Core.Constants; /// /// GFramework框架常量定义类 diff --git a/GFramework.Core/coroutine/CoroutineHandle.cs b/GFramework.Core/Coroutine/CoroutineHandle.cs similarity index 98% rename from GFramework.Core/coroutine/CoroutineHandle.cs rename to GFramework.Core/Coroutine/CoroutineHandle.cs index 39cf1af..e17c1dd 100644 --- a/GFramework.Core/coroutine/CoroutineHandle.cs +++ b/GFramework.Core/Coroutine/CoroutineHandle.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.coroutine; +namespace GFramework.Core.Coroutine; /// /// 协程句柄 diff --git a/GFramework.Core/coroutine/CoroutineHelper.cs b/GFramework.Core/Coroutine/CoroutineHelper.cs similarity index 97% rename from GFramework.Core/coroutine/CoroutineHelper.cs rename to GFramework.Core/Coroutine/CoroutineHelper.cs index 640fdf1..ee2ac7a 100644 --- a/GFramework.Core/coroutine/CoroutineHelper.cs +++ b/GFramework.Core/Coroutine/CoroutineHelper.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Coroutine.Instructions; -namespace GFramework.Core.coroutine; +namespace GFramework.Core.Coroutine; /// /// 协程辅助方法 diff --git a/GFramework.Core/coroutine/CoroutineMetadata.cs b/GFramework.Core/Coroutine/CoroutineMetadata.cs similarity index 92% rename from GFramework.Core/coroutine/CoroutineMetadata.cs rename to GFramework.Core/Coroutine/CoroutineMetadata.cs index 19c0f78..d9d4947 100644 --- a/GFramework.Core/coroutine/CoroutineMetadata.cs +++ b/GFramework.Core/Coroutine/CoroutineMetadata.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.coroutine; +using GFramework.Core.Abstractions.Coroutine; -namespace GFramework.Core.coroutine; +namespace GFramework.Core.Coroutine; /// /// 存储协程元数据信息的内部类,包含协程的状态、枚举器、标签等信息 diff --git a/GFramework.Core/coroutine/CoroutineScheduler.cs b/GFramework.Core/Coroutine/CoroutineScheduler.cs similarity index 98% rename from GFramework.Core/coroutine/CoroutineScheduler.cs rename to GFramework.Core/Coroutine/CoroutineScheduler.cs index eec8b37..4d59d22 100644 --- a/GFramework.Core/coroutine/CoroutineScheduler.cs +++ b/GFramework.Core/Coroutine/CoroutineScheduler.cs @@ -1,9 +1,9 @@ -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.Abstractions.logging; -using GFramework.Core.coroutine.instructions; -using GFramework.Core.logging; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Coroutine.Instructions; +using GFramework.Core.Logging; -namespace GFramework.Core.coroutine; +namespace GFramework.Core.Coroutine; /// /// 协程调度器,用于管理和执行协程 diff --git a/GFramework.Core/coroutine/CoroutineSlot.cs b/GFramework.Core/Coroutine/CoroutineSlot.cs similarity index 91% rename from GFramework.Core/coroutine/CoroutineSlot.cs rename to GFramework.Core/Coroutine/CoroutineSlot.cs index 4086052..38ade65 100644 --- a/GFramework.Core/coroutine/CoroutineSlot.cs +++ b/GFramework.Core/Coroutine/CoroutineSlot.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.coroutine; +using GFramework.Core.Abstractions.Coroutine; -namespace GFramework.Core.coroutine; +namespace GFramework.Core.Coroutine; /// /// 协程槽位类,用于管理单个协程的执行状态和调度信息 diff --git a/GFramework.Core/coroutine/CoroutineStatistics.cs b/GFramework.Core/Coroutine/CoroutineStatistics.cs similarity index 98% rename from GFramework.Core/coroutine/CoroutineStatistics.cs rename to GFramework.Core/Coroutine/CoroutineStatistics.cs index 428b7f9..5632119 100644 --- a/GFramework.Core/coroutine/CoroutineStatistics.cs +++ b/GFramework.Core/Coroutine/CoroutineStatistics.cs @@ -1,7 +1,7 @@ using System.Text; -using GFramework.Core.Abstractions.coroutine; +using GFramework.Core.Abstractions.Coroutine; -namespace GFramework.Core.coroutine; +namespace GFramework.Core.Coroutine; /// /// 协程统计信息实现类 diff --git a/GFramework.Core/coroutine/extensions/CommandCoroutineExtensions.cs b/GFramework.Core/Coroutine/Extensions/CommandCoroutineExtensions.cs similarity index 94% rename from GFramework.Core/coroutine/extensions/CommandCoroutineExtensions.cs rename to GFramework.Core/Coroutine/Extensions/CommandCoroutineExtensions.cs index 62183ca..724c882 100644 --- a/GFramework.Core/coroutine/extensions/CommandCoroutineExtensions.cs +++ b/GFramework.Core/Coroutine/Extensions/CommandCoroutineExtensions.cs @@ -11,13 +11,13 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.Abstractions.command; -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.Abstractions.events; -using GFramework.Core.Abstractions.rule; -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Abstractions.Command; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Abstractions.Events; +using GFramework.Core.Abstractions.Rule; +using GFramework.Core.Coroutine.Instructions; -namespace GFramework.Core.coroutine.extensions; +namespace GFramework.Core.Coroutine.Extensions; /// /// 命令协程扩展方法类 diff --git a/GFramework.Core/coroutine/extensions/CoroutineComposeExtensions.cs b/GFramework.Core/Coroutine/Extensions/CoroutineComposeExtensions.cs similarity index 95% rename from GFramework.Core/coroutine/extensions/CoroutineComposeExtensions.cs rename to GFramework.Core/Coroutine/Extensions/CoroutineComposeExtensions.cs index b0baead..576281b 100644 --- a/GFramework.Core/coroutine/extensions/CoroutineComposeExtensions.cs +++ b/GFramework.Core/Coroutine/Extensions/CoroutineComposeExtensions.cs @@ -11,9 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.Abstractions.coroutine; +using GFramework.Core.Abstractions.Coroutine; -namespace GFramework.Core.coroutine.extensions; +namespace GFramework.Core.Coroutine.Extensions; /// /// 提供协程组合扩展方法的静态类 diff --git a/GFramework.Core/coroutine/extensions/CoroutineExtensions.cs b/GFramework.Core/Coroutine/Extensions/CoroutineExtensions.cs similarity index 96% rename from GFramework.Core/coroutine/extensions/CoroutineExtensions.cs rename to GFramework.Core/Coroutine/Extensions/CoroutineExtensions.cs index 24d232e..71009ed 100644 --- a/GFramework.Core/coroutine/extensions/CoroutineExtensions.cs +++ b/GFramework.Core/Coroutine/Extensions/CoroutineExtensions.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Coroutine.Instructions; -namespace GFramework.Core.coroutine.extensions; +namespace GFramework.Core.Coroutine.Extensions; /// /// 协程相关的扩展方法 diff --git a/GFramework.Core/coroutine/extensions/MediatorCoroutineExtensions.cs b/GFramework.Core/Coroutine/Extensions/MediatorCoroutineExtensions.cs similarity index 93% rename from GFramework.Core/coroutine/extensions/MediatorCoroutineExtensions.cs rename to GFramework.Core/Coroutine/Extensions/MediatorCoroutineExtensions.cs index c808199..5c301c0 100644 --- a/GFramework.Core/coroutine/extensions/MediatorCoroutineExtensions.cs +++ b/GFramework.Core/Coroutine/Extensions/MediatorCoroutineExtensions.cs @@ -11,11 +11,11 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.Abstractions.rule; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Abstractions.Rule; using Mediator; -namespace GFramework.Core.coroutine.extensions; +namespace GFramework.Core.Coroutine.Extensions; /// /// 提供Mediator模式与协程集成的扩展方法。 diff --git a/GFramework.Core/coroutine/extensions/QueryCoroutineExtensions.cs b/GFramework.Core/Coroutine/Extensions/QueryCoroutineExtensions.cs similarity index 91% rename from GFramework.Core/coroutine/extensions/QueryCoroutineExtensions.cs rename to GFramework.Core/Coroutine/Extensions/QueryCoroutineExtensions.cs index ef7d048..c6dec7e 100644 --- a/GFramework.Core/coroutine/extensions/QueryCoroutineExtensions.cs +++ b/GFramework.Core/Coroutine/Extensions/QueryCoroutineExtensions.cs @@ -11,11 +11,11 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.Abstractions.query; -using GFramework.Core.Abstractions.rule; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Abstractions.Query; +using GFramework.Core.Abstractions.Rule; -namespace GFramework.Core.coroutine.extensions; +namespace GFramework.Core.Coroutine.Extensions; /// /// 查询协程扩展方法类 diff --git a/GFramework.Core/coroutine/extensions/TaskCoroutineExtensions.cs b/GFramework.Core/Coroutine/Extensions/TaskCoroutineExtensions.cs similarity index 94% rename from GFramework.Core/coroutine/extensions/TaskCoroutineExtensions.cs rename to GFramework.Core/Coroutine/Extensions/TaskCoroutineExtensions.cs index 450e054..f8b4e4e 100644 --- a/GFramework.Core/coroutine/extensions/TaskCoroutineExtensions.cs +++ b/GFramework.Core/Coroutine/Extensions/TaskCoroutineExtensions.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Coroutine.Instructions; -namespace GFramework.Core.coroutine.extensions; +namespace GFramework.Core.Coroutine.Extensions; /// /// Task与协程之间的扩展方法 diff --git a/GFramework.Core/coroutine/instructions/AsyncOperation.cs b/GFramework.Core/Coroutine/Instructions/AsyncOperation.cs similarity index 97% rename from GFramework.Core/coroutine/instructions/AsyncOperation.cs rename to GFramework.Core/Coroutine/Instructions/AsyncOperation.cs index c138aef..78c79d5 100644 --- a/GFramework.Core/coroutine/instructions/AsyncOperation.cs +++ b/GFramework.Core/Coroutine/Instructions/AsyncOperation.cs @@ -1,7 +1,7 @@ using System.Runtime.CompilerServices; -using GFramework.Core.Abstractions.coroutine; +using GFramework.Core.Abstractions.Coroutine; -namespace GFramework.Core.coroutine.instructions; +namespace GFramework.Core.Coroutine.Instructions; /// /// 异步操作包装器,用于桥接协程系统和async/await异步编程模型 diff --git a/GFramework.Core/coroutine/instructions/Delay.cs b/GFramework.Core/Coroutine/Instructions/Delay.cs similarity index 87% rename from GFramework.Core/coroutine/instructions/Delay.cs rename to GFramework.Core/Coroutine/Instructions/Delay.cs index 0f9111e..1412435 100644 --- a/GFramework.Core/coroutine/instructions/Delay.cs +++ b/GFramework.Core/Coroutine/Instructions/Delay.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.coroutine; +using GFramework.Core.Abstractions.Coroutine; -namespace GFramework.Core.coroutine.instructions; +namespace GFramework.Core.Coroutine.Instructions; /// /// 延迟等待指令,实现IYieldInstruction接口,用于协程中的时间延迟 diff --git a/GFramework.Core/coroutine/instructions/WaitForAllCoroutines.cs b/GFramework.Core/Coroutine/Instructions/WaitForAllCoroutines.cs similarity index 92% rename from GFramework.Core/coroutine/instructions/WaitForAllCoroutines.cs rename to GFramework.Core/Coroutine/Instructions/WaitForAllCoroutines.cs index 15e03d6..ab18635 100644 --- a/GFramework.Core/coroutine/instructions/WaitForAllCoroutines.cs +++ b/GFramework.Core/Coroutine/Instructions/WaitForAllCoroutines.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.coroutine; +using GFramework.Core.Abstractions.Coroutine; -namespace GFramework.Core.coroutine.instructions; +namespace GFramework.Core.Coroutine.Instructions; /// /// 等待所有协程完成的等待指令 diff --git a/GFramework.Core/coroutine/instructions/WaitForConditionChange.cs b/GFramework.Core/Coroutine/Instructions/WaitForConditionChange.cs similarity index 93% rename from GFramework.Core/coroutine/instructions/WaitForConditionChange.cs rename to GFramework.Core/Coroutine/Instructions/WaitForConditionChange.cs index 0380daf..db1e65c 100644 --- a/GFramework.Core/coroutine/instructions/WaitForConditionChange.cs +++ b/GFramework.Core/Coroutine/Instructions/WaitForConditionChange.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.coroutine; +using GFramework.Core.Abstractions.Coroutine; -namespace GFramework.Core.coroutine.instructions; +namespace GFramework.Core.Coroutine.Instructions; /// /// 等待条件状态发生变化的指令 diff --git a/GFramework.Core/coroutine/instructions/WaitForCoroutine.cs b/GFramework.Core/Coroutine/Instructions/WaitForCoroutine.cs similarity index 89% rename from GFramework.Core/coroutine/instructions/WaitForCoroutine.cs rename to GFramework.Core/Coroutine/Instructions/WaitForCoroutine.cs index acacbc7..7965249 100644 --- a/GFramework.Core/coroutine/instructions/WaitForCoroutine.cs +++ b/GFramework.Core/Coroutine/Instructions/WaitForCoroutine.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.coroutine; +using GFramework.Core.Abstractions.Coroutine; -namespace GFramework.Core.coroutine.instructions; +namespace GFramework.Core.Coroutine.Instructions; /// /// 等待协程完成的指令类,实现IYieldInstruction接口 diff --git a/GFramework.Core/coroutine/instructions/WaitForEndOfFrame.cs b/GFramework.Core/Coroutine/Instructions/WaitForEndOfFrame.cs similarity index 86% rename from GFramework.Core/coroutine/instructions/WaitForEndOfFrame.cs rename to GFramework.Core/Coroutine/Instructions/WaitForEndOfFrame.cs index f03c48f..ae5f7e9 100644 --- a/GFramework.Core/coroutine/instructions/WaitForEndOfFrame.cs +++ b/GFramework.Core/Coroutine/Instructions/WaitForEndOfFrame.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.coroutine; +using GFramework.Core.Abstractions.Coroutine; -namespace GFramework.Core.coroutine.instructions; +namespace GFramework.Core.Coroutine.Instructions; /// /// 等待当前帧渲染完成的指令 diff --git a/GFramework.Core/coroutine/instructions/WaitForEvent.cs b/GFramework.Core/Coroutine/Instructions/WaitForEvent.cs similarity index 95% rename from GFramework.Core/coroutine/instructions/WaitForEvent.cs rename to GFramework.Core/Coroutine/Instructions/WaitForEvent.cs index a547041..36cbf73 100644 --- a/GFramework.Core/coroutine/instructions/WaitForEvent.cs +++ b/GFramework.Core/Coroutine/Instructions/WaitForEvent.cs @@ -11,10 +11,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.Abstractions.events; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Abstractions.Events; -namespace GFramework.Core.coroutine.instructions; +namespace GFramework.Core.Coroutine.Instructions; /// /// WaitForEvent 类用于等待特定事件的发生,并提供事件数据和完成状态。 diff --git a/GFramework.Core/coroutine/instructions/WaitForEventWithTimeout.cs b/GFramework.Core/Coroutine/Instructions/WaitForEventWithTimeout.cs similarity index 95% rename from GFramework.Core/coroutine/instructions/WaitForEventWithTimeout.cs rename to GFramework.Core/Coroutine/Instructions/WaitForEventWithTimeout.cs index ce64cdd..6b4e28f 100644 --- a/GFramework.Core/coroutine/instructions/WaitForEventWithTimeout.cs +++ b/GFramework.Core/Coroutine/Instructions/WaitForEventWithTimeout.cs @@ -11,9 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.Abstractions.coroutine; +using GFramework.Core.Abstractions.Coroutine; -namespace GFramework.Core.coroutine.instructions; +namespace GFramework.Core.Coroutine.Instructions; /// /// 带超时的事件等待指令 diff --git a/GFramework.Core/coroutine/instructions/WaitForFixedUpdate.cs b/GFramework.Core/Coroutine/Instructions/WaitForFixedUpdate.cs similarity index 86% rename from GFramework.Core/coroutine/instructions/WaitForFixedUpdate.cs rename to GFramework.Core/Coroutine/Instructions/WaitForFixedUpdate.cs index a2ebe6c..f828bfd 100644 --- a/GFramework.Core/coroutine/instructions/WaitForFixedUpdate.cs +++ b/GFramework.Core/Coroutine/Instructions/WaitForFixedUpdate.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.coroutine; +using GFramework.Core.Abstractions.Coroutine; -namespace GFramework.Core.coroutine.instructions; +namespace GFramework.Core.Coroutine.Instructions; /// /// 等待下一个物理固定更新周期的指令 diff --git a/GFramework.Core/coroutine/instructions/WaitForFrames.cs b/GFramework.Core/Coroutine/Instructions/WaitForFrames.cs similarity index 87% rename from GFramework.Core/coroutine/instructions/WaitForFrames.cs rename to GFramework.Core/Coroutine/Instructions/WaitForFrames.cs index 64f79c1..a7e75dc 100644 --- a/GFramework.Core/coroutine/instructions/WaitForFrames.cs +++ b/GFramework.Core/Coroutine/Instructions/WaitForFrames.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.coroutine; +using GFramework.Core.Abstractions.Coroutine; -namespace GFramework.Core.coroutine.instructions; +namespace GFramework.Core.Coroutine.Instructions; /// /// 等待指定帧数的等待指令类 diff --git a/GFramework.Core/coroutine/instructions/WaitForMultipleEvents.cs b/GFramework.Core/Coroutine/Instructions/WaitForMultipleEvents.cs similarity index 95% rename from GFramework.Core/coroutine/instructions/WaitForMultipleEvents.cs rename to GFramework.Core/Coroutine/Instructions/WaitForMultipleEvents.cs index 6e691a5..4eca3bf 100644 --- a/GFramework.Core/coroutine/instructions/WaitForMultipleEvents.cs +++ b/GFramework.Core/Coroutine/Instructions/WaitForMultipleEvents.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.Abstractions.events; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Abstractions.Events; -namespace GFramework.Core.coroutine.instructions; +namespace GFramework.Core.Coroutine.Instructions; /// /// 等待多个事件中的任意一个触发的指令 diff --git a/GFramework.Core/coroutine/instructions/WaitForNextFrame.cs b/GFramework.Core/Coroutine/Instructions/WaitForNextFrame.cs similarity index 87% rename from GFramework.Core/coroutine/instructions/WaitForNextFrame.cs rename to GFramework.Core/Coroutine/Instructions/WaitForNextFrame.cs index 8f14644..acf4d17 100644 --- a/GFramework.Core/coroutine/instructions/WaitForNextFrame.cs +++ b/GFramework.Core/Coroutine/Instructions/WaitForNextFrame.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.coroutine; +using GFramework.Core.Abstractions.Coroutine; -namespace GFramework.Core.coroutine.instructions; +namespace GFramework.Core.Coroutine.Instructions; /// /// 等待下一帧的指令(与WaitOneFrame功能相同,提供另一种命名选择) diff --git a/GFramework.Core/coroutine/instructions/WaitForPredicate.cs b/GFramework.Core/Coroutine/Instructions/WaitForPredicate.cs similarity index 90% rename from GFramework.Core/coroutine/instructions/WaitForPredicate.cs rename to GFramework.Core/Coroutine/Instructions/WaitForPredicate.cs index 5c77a05..9b58a42 100644 --- a/GFramework.Core/coroutine/instructions/WaitForPredicate.cs +++ b/GFramework.Core/Coroutine/Instructions/WaitForPredicate.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.coroutine; +using GFramework.Core.Abstractions.Coroutine; -namespace GFramework.Core.coroutine.instructions; +namespace GFramework.Core.Coroutine.Instructions; /// /// 通用谓词等待指令 diff --git a/GFramework.Core/coroutine/instructions/WaitForProgress.cs b/GFramework.Core/Coroutine/Instructions/WaitForProgress.cs similarity index 93% rename from GFramework.Core/coroutine/instructions/WaitForProgress.cs rename to GFramework.Core/Coroutine/Instructions/WaitForProgress.cs index cc7e7b0..e241b0f 100644 --- a/GFramework.Core/coroutine/instructions/WaitForProgress.cs +++ b/GFramework.Core/Coroutine/Instructions/WaitForProgress.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.coroutine; +using GFramework.Core.Abstractions.Coroutine; -namespace GFramework.Core.coroutine.instructions; +namespace GFramework.Core.Coroutine.Instructions; /// /// 带进度回调的等待指令 diff --git a/GFramework.Core/coroutine/instructions/WaitForSecondsRealtime.cs b/GFramework.Core/Coroutine/Instructions/WaitForSecondsRealtime.cs similarity index 89% rename from GFramework.Core/coroutine/instructions/WaitForSecondsRealtime.cs rename to GFramework.Core/Coroutine/Instructions/WaitForSecondsRealtime.cs index 541d02a..86f1e16 100644 --- a/GFramework.Core/coroutine/instructions/WaitForSecondsRealtime.cs +++ b/GFramework.Core/Coroutine/Instructions/WaitForSecondsRealtime.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.coroutine; +using GFramework.Core.Abstractions.Coroutine; -namespace GFramework.Core.coroutine.instructions; +namespace GFramework.Core.Coroutine.Instructions; /// /// 基于真实时间的等待指令(不受时间缩放影响) diff --git a/GFramework.Core/coroutine/instructions/WaitForSecondsScaled.cs b/GFramework.Core/Coroutine/Instructions/WaitForSecondsScaled.cs similarity index 88% rename from GFramework.Core/coroutine/instructions/WaitForSecondsScaled.cs rename to GFramework.Core/Coroutine/Instructions/WaitForSecondsScaled.cs index 2ae6ee4..fbd02be 100644 --- a/GFramework.Core/coroutine/instructions/WaitForSecondsScaled.cs +++ b/GFramework.Core/Coroutine/Instructions/WaitForSecondsScaled.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.coroutine; +using GFramework.Core.Abstractions.Coroutine; -namespace GFramework.Core.coroutine.instructions; +namespace GFramework.Core.Coroutine.Instructions; /// /// 受时间缩放影响的等待指令 diff --git a/GFramework.Core/coroutine/instructions/WaitForTask.T.cs b/GFramework.Core/Coroutine/Instructions/WaitForTask.T.cs similarity index 93% rename from GFramework.Core/coroutine/instructions/WaitForTask.T.cs rename to GFramework.Core/Coroutine/Instructions/WaitForTask.T.cs index bcae7d3..2a61385 100644 --- a/GFramework.Core/coroutine/instructions/WaitForTask.T.cs +++ b/GFramework.Core/Coroutine/Instructions/WaitForTask.T.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.coroutine; +using GFramework.Core.Abstractions.Coroutine; -namespace GFramework.Core.coroutine.instructions; +namespace GFramework.Core.Coroutine.Instructions; /// /// 等待泛型Task完成的等待指令 diff --git a/GFramework.Core/coroutine/instructions/WaitForTask.cs b/GFramework.Core/Coroutine/Instructions/WaitForTask.cs similarity index 92% rename from GFramework.Core/coroutine/instructions/WaitForTask.cs rename to GFramework.Core/Coroutine/Instructions/WaitForTask.cs index 67212bc..efc505f 100644 --- a/GFramework.Core/coroutine/instructions/WaitForTask.cs +++ b/GFramework.Core/Coroutine/Instructions/WaitForTask.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.coroutine; +using GFramework.Core.Abstractions.Coroutine; -namespace GFramework.Core.coroutine.instructions; +namespace GFramework.Core.Coroutine.Instructions; /// /// 等待Task完成的等待指令 diff --git a/GFramework.Core/coroutine/instructions/WaitOneFrame.cs b/GFramework.Core/Coroutine/Instructions/WaitOneFrame.cs similarity index 86% rename from GFramework.Core/coroutine/instructions/WaitOneFrame.cs rename to GFramework.Core/Coroutine/Instructions/WaitOneFrame.cs index 9519d4e..4fa33ac 100644 --- a/GFramework.Core/coroutine/instructions/WaitOneFrame.cs +++ b/GFramework.Core/Coroutine/Instructions/WaitOneFrame.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.coroutine; +using GFramework.Core.Abstractions.Coroutine; -namespace GFramework.Core.coroutine.instructions; +namespace GFramework.Core.Coroutine.Instructions; /// /// 表示等待一帧的等待指令实现 diff --git a/GFramework.Core/coroutine/instructions/WaitUntil.cs b/GFramework.Core/Coroutine/Instructions/WaitUntil.cs similarity index 88% rename from GFramework.Core/coroutine/instructions/WaitUntil.cs rename to GFramework.Core/Coroutine/Instructions/WaitUntil.cs index fe2a86f..04c1aca 100644 --- a/GFramework.Core/coroutine/instructions/WaitUntil.cs +++ b/GFramework.Core/Coroutine/Instructions/WaitUntil.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.coroutine; +using GFramework.Core.Abstractions.Coroutine; -namespace GFramework.Core.coroutine.instructions; +namespace GFramework.Core.Coroutine.Instructions; /// /// 表示一个等待直到指定条件满足的协程指令 diff --git a/GFramework.Core/coroutine/instructions/WaitUntilOrTimeout.cs b/GFramework.Core/Coroutine/Instructions/WaitUntilOrTimeout.cs similarity index 92% rename from GFramework.Core/coroutine/instructions/WaitUntilOrTimeout.cs rename to GFramework.Core/Coroutine/Instructions/WaitUntilOrTimeout.cs index b90ce2a..f777745 100644 --- a/GFramework.Core/coroutine/instructions/WaitUntilOrTimeout.cs +++ b/GFramework.Core/Coroutine/Instructions/WaitUntilOrTimeout.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.coroutine; +using GFramework.Core.Abstractions.Coroutine; -namespace GFramework.Core.coroutine.instructions; +namespace GFramework.Core.Coroutine.Instructions; /// /// 带超时的条件等待指令 diff --git a/GFramework.Core/coroutine/instructions/WaitWhile.cs b/GFramework.Core/Coroutine/Instructions/WaitWhile.cs similarity index 89% rename from GFramework.Core/coroutine/instructions/WaitWhile.cs rename to GFramework.Core/Coroutine/Instructions/WaitWhile.cs index 398b2df..87b886f 100644 --- a/GFramework.Core/coroutine/instructions/WaitWhile.cs +++ b/GFramework.Core/Coroutine/Instructions/WaitWhile.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.coroutine; +using GFramework.Core.Abstractions.Coroutine; -namespace GFramework.Core.coroutine.instructions; +namespace GFramework.Core.Coroutine.Instructions; /// /// 表示一个等待条件为假时才完成的协程指令 diff --git a/GFramework.Core/environment/DefaultEnvironment.cs b/GFramework.Core/Environment/DefaultEnvironment.cs similarity index 90% rename from GFramework.Core/environment/DefaultEnvironment.cs rename to GFramework.Core/Environment/DefaultEnvironment.cs index 5fa0d9a..132b03c 100644 --- a/GFramework.Core/environment/DefaultEnvironment.cs +++ b/GFramework.Core/Environment/DefaultEnvironment.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.environment; +namespace GFramework.Core.Environment; /// /// 默认环境实现类,继承自EnvironmentBase diff --git a/GFramework.Core/environment/EnvironmentBase.cs b/GFramework.Core/Environment/EnvironmentBase.cs similarity index 96% rename from GFramework.Core/environment/EnvironmentBase.cs rename to GFramework.Core/Environment/EnvironmentBase.cs index e4ed852..5c22dfd 100644 --- a/GFramework.Core/environment/EnvironmentBase.cs +++ b/GFramework.Core/Environment/EnvironmentBase.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.environment; -using GFramework.Core.rule; +using GFramework.Core.Abstractions.Environment; +using GFramework.Core.Rule; -namespace GFramework.Core.environment; +namespace GFramework.Core.Environment; /// /// 环境基础抽象类,实现了IEnvironment接口,提供环境值的存储和获取功能 diff --git a/GFramework.Core/events/DefaultUnRegister.cs b/GFramework.Core/Events/DefaultUnRegister.cs similarity index 87% rename from GFramework.Core/events/DefaultUnRegister.cs rename to GFramework.Core/Events/DefaultUnRegister.cs index 79ea0b5..d8581cc 100644 --- a/GFramework.Core/events/DefaultUnRegister.cs +++ b/GFramework.Core/Events/DefaultUnRegister.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.events; +using GFramework.Core.Abstractions.Events; -namespace GFramework.Core.events; +namespace GFramework.Core.Events; /// /// 默认注销器类,用于执行注销操作 diff --git a/GFramework.Core/events/EasyEvent.cs b/GFramework.Core/Events/EasyEvent.cs similarity index 92% rename from GFramework.Core/events/EasyEvent.cs rename to GFramework.Core/Events/EasyEvent.cs index 46ec01f..76f7776 100644 --- a/GFramework.Core/events/EasyEvent.cs +++ b/GFramework.Core/Events/EasyEvent.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.events; +using GFramework.Core.Abstractions.Events; -namespace GFramework.Core.events; +namespace GFramework.Core.Events; /// /// 简单事件类,用于注册、注销和触发无参事件回调 diff --git a/GFramework.Core/events/EasyEventGeneric.cs b/GFramework.Core/Events/EasyEventGeneric.cs similarity index 98% rename from GFramework.Core/events/EasyEventGeneric.cs rename to GFramework.Core/Events/EasyEventGeneric.cs index e1fbffb..e116603 100644 --- a/GFramework.Core/events/EasyEventGeneric.cs +++ b/GFramework.Core/Events/EasyEventGeneric.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.events; +using GFramework.Core.Abstractions.Events; -namespace GFramework.Core.events; +namespace GFramework.Core.Events; /// /// 泛型事件类,支持一个泛型参数 T 的事件注册、注销与触发。 diff --git a/GFramework.Core/events/EasyEvents.cs b/GFramework.Core/Events/EasyEvents.cs similarity index 97% rename from GFramework.Core/events/EasyEvents.cs rename to GFramework.Core/Events/EasyEvents.cs index 9f96b71..5159944 100644 --- a/GFramework.Core/events/EasyEvents.cs +++ b/GFramework.Core/Events/EasyEvents.cs @@ -1,7 +1,7 @@ using System.Collections.Concurrent; -using GFramework.Core.Abstractions.events; +using GFramework.Core.Abstractions.Events; -namespace GFramework.Core.events; +namespace GFramework.Core.Events; /// /// EasyEvents事件管理器类,用于全局事件的注册、获取和管理 diff --git a/GFramework.Core/events/EnhancedEventBus.cs b/GFramework.Core/Events/EnhancedEventBus.cs similarity index 99% rename from GFramework.Core/events/EnhancedEventBus.cs rename to GFramework.Core/Events/EnhancedEventBus.cs index dd7d752..87f4f18 100644 --- a/GFramework.Core/events/EnhancedEventBus.cs +++ b/GFramework.Core/Events/EnhancedEventBus.cs @@ -1,7 +1,7 @@ using System.Collections.Concurrent; -using GFramework.Core.Abstractions.events; +using GFramework.Core.Abstractions.Events; -namespace GFramework.Core.events; +namespace GFramework.Core.Events; /// /// 增强的事件总线,支持统计和过滤器 diff --git a/GFramework.Core/events/EventBus.cs b/GFramework.Core/Events/EventBus.cs similarity index 97% rename from GFramework.Core/events/EventBus.cs rename to GFramework.Core/Events/EventBus.cs index a67f2b6..f752607 100644 --- a/GFramework.Core/events/EventBus.cs +++ b/GFramework.Core/Events/EventBus.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.events; +using GFramework.Core.Abstractions.Events; -namespace GFramework.Core.events; +namespace GFramework.Core.Events; /// /// 类型事件系统,提供基于类型的事件发送、注册和注销功能 diff --git a/GFramework.Core/events/EventListenerScope.cs b/GFramework.Core/Events/EventListenerScope.cs similarity index 96% rename from GFramework.Core/events/EventListenerScope.cs rename to GFramework.Core/Events/EventListenerScope.cs index 20b917c..0906250 100644 --- a/GFramework.Core/events/EventListenerScope.cs +++ b/GFramework.Core/Events/EventListenerScope.cs @@ -11,9 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.Abstractions.events; +using GFramework.Core.Abstractions.Events; -namespace GFramework.Core.events; +namespace GFramework.Core.Events; /// /// 事件监听器作用域,用于监听特定类型的事件并在触发时提供事件数据 diff --git a/GFramework.Core/events/EventStatistics.cs b/GFramework.Core/Events/EventStatistics.cs similarity index 98% rename from GFramework.Core/events/EventStatistics.cs rename to GFramework.Core/Events/EventStatistics.cs index 4f7d447..ff79c39 100644 --- a/GFramework.Core/events/EventStatistics.cs +++ b/GFramework.Core/Events/EventStatistics.cs @@ -1,7 +1,7 @@ using System.Text; -using GFramework.Core.Abstractions.events; +using GFramework.Core.Abstractions.Events; -namespace GFramework.Core.events; +namespace GFramework.Core.Events; /// /// 事件统计信息实现类 diff --git a/GFramework.Core/events/FilterableEvent.cs b/GFramework.Core/Events/FilterableEvent.cs similarity index 98% rename from GFramework.Core/events/FilterableEvent.cs rename to GFramework.Core/Events/FilterableEvent.cs index 406340f..9c6b815 100644 --- a/GFramework.Core/events/FilterableEvent.cs +++ b/GFramework.Core/Events/FilterableEvent.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.events; +using GFramework.Core.Abstractions.Events; -namespace GFramework.Core.events; +namespace GFramework.Core.Events; /// /// 支持过滤器和统计的泛型事件类 diff --git a/GFramework.Core/events/filters/PredicateEventFilter.cs b/GFramework.Core/Events/Filters/PredicateEventFilter.cs similarity index 89% rename from GFramework.Core/events/filters/PredicateEventFilter.cs rename to GFramework.Core/Events/Filters/PredicateEventFilter.cs index de533c4..908685f 100644 --- a/GFramework.Core/events/filters/PredicateEventFilter.cs +++ b/GFramework.Core/Events/Filters/PredicateEventFilter.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.events; +using GFramework.Core.Abstractions.Events; -namespace GFramework.Core.events.filters; +namespace GFramework.Core.Events.Filters; /// /// 基于谓词的事件过滤器 diff --git a/GFramework.Core/events/filters/SamplingEventFilter.cs b/GFramework.Core/Events/Filters/SamplingEventFilter.cs similarity index 93% rename from GFramework.Core/events/filters/SamplingEventFilter.cs rename to GFramework.Core/Events/Filters/SamplingEventFilter.cs index 76fdb51..57175b4 100644 --- a/GFramework.Core/events/filters/SamplingEventFilter.cs +++ b/GFramework.Core/Events/Filters/SamplingEventFilter.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.events; +using GFramework.Core.Abstractions.Events; -namespace GFramework.Core.events.filters; +namespace GFramework.Core.Events.Filters; /// /// 采样事件过滤器 diff --git a/GFramework.Core/events/OrEvent.cs b/GFramework.Core/Events/OrEvent.cs similarity index 93% rename from GFramework.Core/events/OrEvent.cs rename to GFramework.Core/Events/OrEvent.cs index 767f2db..8273934 100644 --- a/GFramework.Core/events/OrEvent.cs +++ b/GFramework.Core/Events/OrEvent.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.events; -using GFramework.Core.extensions; +using GFramework.Core.Abstractions.Events; +using GFramework.Core.Extensions; -namespace GFramework.Core.events; +namespace GFramework.Core.Events; /// /// OrEvent类用于实现事件的或逻辑组合,当任意一个注册的事件触发时,都会触发OrEvent本身 diff --git a/GFramework.Core/events/PriorityEvent.cs b/GFramework.Core/Events/PriorityEvent.cs similarity index 99% rename from GFramework.Core/events/PriorityEvent.cs rename to GFramework.Core/Events/PriorityEvent.cs index 85b054b..7abcc1f 100644 --- a/GFramework.Core/events/PriorityEvent.cs +++ b/GFramework.Core/Events/PriorityEvent.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.events; +using GFramework.Core.Abstractions.Events; -namespace GFramework.Core.events; +namespace GFramework.Core.Events; /// /// 支持优先级的泛型事件类 diff --git a/GFramework.Core/events/StatisticsEventDecorator.cs b/GFramework.Core/Events/StatisticsEventDecorator.cs similarity index 97% rename from GFramework.Core/events/StatisticsEventDecorator.cs rename to GFramework.Core/Events/StatisticsEventDecorator.cs index 41bdf85..ec1f490 100644 --- a/GFramework.Core/events/StatisticsEventDecorator.cs +++ b/GFramework.Core/Events/StatisticsEventDecorator.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.events; +using GFramework.Core.Abstractions.Events; -namespace GFramework.Core.events; +namespace GFramework.Core.Events; /// /// 带统计功能的事件装饰器 diff --git a/GFramework.Core/events/UnRegisterList.cs b/GFramework.Core/Events/UnRegisterList.cs similarity index 92% rename from GFramework.Core/events/UnRegisterList.cs rename to GFramework.Core/Events/UnRegisterList.cs index 8eb29d9..fde1b67 100644 --- a/GFramework.Core/events/UnRegisterList.cs +++ b/GFramework.Core/Events/UnRegisterList.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.events; +using GFramework.Core.Abstractions.Events; -namespace GFramework.Core.events; +namespace GFramework.Core.Events; /// /// 取消注册列表类,用于管理多个需要取消注册的对象 diff --git a/GFramework.Core/events/WeakEvent.cs b/GFramework.Core/Events/WeakEvent.cs similarity index 98% rename from GFramework.Core/events/WeakEvent.cs rename to GFramework.Core/Events/WeakEvent.cs index 2d55da0..8d4f990 100644 --- a/GFramework.Core/events/WeakEvent.cs +++ b/GFramework.Core/Events/WeakEvent.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.events; +using GFramework.Core.Abstractions.Events; -namespace GFramework.Core.events; +namespace GFramework.Core.Events; /// /// 支持弱引用订阅的泛型事件类 diff --git a/GFramework.Core/extensions/ArrayPoolExtensions.cs b/GFramework.Core/Extensions/ArrayPoolExtensions.cs similarity index 99% rename from GFramework.Core/extensions/ArrayPoolExtensions.cs rename to GFramework.Core/Extensions/ArrayPoolExtensions.cs index 3a2d98f..ab3e7ea 100644 --- a/GFramework.Core/extensions/ArrayPoolExtensions.cs +++ b/GFramework.Core/Extensions/ArrayPoolExtensions.cs @@ -1,6 +1,6 @@ using System.Buffers; -namespace GFramework.Core.extensions; +namespace GFramework.Core.Extensions; /// /// ArrayPool 扩展方法,提供更便捷的数组池操作 diff --git a/GFramework.Core/extensions/AsyncExtensions.cs b/GFramework.Core/Extensions/AsyncExtensions.cs similarity index 99% rename from GFramework.Core/extensions/AsyncExtensions.cs rename to GFramework.Core/Extensions/AsyncExtensions.cs index 4839e30..db2a7ec 100644 --- a/GFramework.Core/extensions/AsyncExtensions.cs +++ b/GFramework.Core/Extensions/AsyncExtensions.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.extensions; +namespace GFramework.Core.Extensions; /// /// 异步扩展方法 diff --git a/GFramework.Core/extensions/CollectionExtensions.cs b/GFramework.Core/Extensions/CollectionExtensions.cs similarity index 99% rename from GFramework.Core/extensions/CollectionExtensions.cs rename to GFramework.Core/Extensions/CollectionExtensions.cs index 74bec8c..849f3ae 100644 --- a/GFramework.Core/extensions/CollectionExtensions.cs +++ b/GFramework.Core/Extensions/CollectionExtensions.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.extensions; +namespace GFramework.Core.Extensions; /// /// 集合扩展方法 diff --git a/GFramework.Core/extensions/ContextAwareCommandExtensions.cs b/GFramework.Core/Extensions/ContextAwareCommandExtensions.cs similarity index 96% rename from GFramework.Core/extensions/ContextAwareCommandExtensions.cs rename to GFramework.Core/Extensions/ContextAwareCommandExtensions.cs index f5716fd..876c977 100644 --- a/GFramework.Core/extensions/ContextAwareCommandExtensions.cs +++ b/GFramework.Core/Extensions/ContextAwareCommandExtensions.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.command; -using GFramework.Core.Abstractions.rule; +using GFramework.Core.Abstractions.Command; +using GFramework.Core.Abstractions.Rule; -namespace GFramework.Core.extensions; +namespace GFramework.Core.Extensions; /// /// 提供对 IContextAware 接口的命令执行扩展方法 diff --git a/GFramework.Core/extensions/ContextAwareEnvironmentExtensions.cs b/GFramework.Core/Extensions/ContextAwareEnvironmentExtensions.cs similarity index 89% rename from GFramework.Core/extensions/ContextAwareEnvironmentExtensions.cs rename to GFramework.Core/Extensions/ContextAwareEnvironmentExtensions.cs index 333e83a..48abcfe 100644 --- a/GFramework.Core/extensions/ContextAwareEnvironmentExtensions.cs +++ b/GFramework.Core/Extensions/ContextAwareEnvironmentExtensions.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.environment; -using GFramework.Core.Abstractions.rule; +using GFramework.Core.Abstractions.Environment; +using GFramework.Core.Abstractions.Rule; -namespace GFramework.Core.extensions; +namespace GFramework.Core.Extensions; /// /// 提供对 IContextAware 接口的环境访问扩展方法 diff --git a/GFramework.Core/extensions/ContextAwareEventExtensions.cs b/GFramework.Core/Extensions/ContextAwareEventExtensions.cs similarity index 95% rename from GFramework.Core/extensions/ContextAwareEventExtensions.cs rename to GFramework.Core/Extensions/ContextAwareEventExtensions.cs index 66dc7d8..34512ee 100644 --- a/GFramework.Core/extensions/ContextAwareEventExtensions.cs +++ b/GFramework.Core/Extensions/ContextAwareEventExtensions.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.events; -using GFramework.Core.Abstractions.rule; +using GFramework.Core.Abstractions.Events; +using GFramework.Core.Abstractions.Rule; -namespace GFramework.Core.extensions; +namespace GFramework.Core.Extensions; /// /// 提供对 IContextAware 接口的事件管理扩展方法 diff --git a/GFramework.Core/extensions/ContextAwareMediatorCommandExtensions.cs b/GFramework.Core/Extensions/ContextAwareMediatorCommandExtensions.cs similarity index 96% rename from GFramework.Core/extensions/ContextAwareMediatorCommandExtensions.cs rename to GFramework.Core/Extensions/ContextAwareMediatorCommandExtensions.cs index 80c308d..6daccd2 100644 --- a/GFramework.Core/extensions/ContextAwareMediatorCommandExtensions.cs +++ b/GFramework.Core/Extensions/ContextAwareMediatorCommandExtensions.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.rule; +using GFramework.Core.Abstractions.Rule; using Mediator; -namespace GFramework.Core.extensions; +namespace GFramework.Core.Extensions; /// /// 提供对 IContextAware 接口的 Mediator 命令扩展方法 diff --git a/GFramework.Core/extensions/ContextAwareMediatorExtensions.cs b/GFramework.Core/Extensions/ContextAwareMediatorExtensions.cs similarity index 98% rename from GFramework.Core/extensions/ContextAwareMediatorExtensions.cs rename to GFramework.Core/Extensions/ContextAwareMediatorExtensions.cs index 05197c7..fa0d699 100644 --- a/GFramework.Core/extensions/ContextAwareMediatorExtensions.cs +++ b/GFramework.Core/Extensions/ContextAwareMediatorExtensions.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.rule; +using GFramework.Core.Abstractions.Rule; using Mediator; -namespace GFramework.Core.extensions; +namespace GFramework.Core.Extensions; /// /// 提供对 IContextAware 接口的 Mediator 统一接口扩展方法 diff --git a/GFramework.Core/extensions/ContextAwareMediatorQueryExtensions.cs b/GFramework.Core/Extensions/ContextAwareMediatorQueryExtensions.cs similarity index 96% rename from GFramework.Core/extensions/ContextAwareMediatorQueryExtensions.cs rename to GFramework.Core/Extensions/ContextAwareMediatorQueryExtensions.cs index fe4b823..cbdb01b 100644 --- a/GFramework.Core/extensions/ContextAwareMediatorQueryExtensions.cs +++ b/GFramework.Core/Extensions/ContextAwareMediatorQueryExtensions.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.rule; +using GFramework.Core.Abstractions.Rule; using Mediator; -namespace GFramework.Core.extensions; +namespace GFramework.Core.Extensions; /// /// 提供对 IContextAware 接口的 Mediator 查询扩展方法 diff --git a/GFramework.Core/extensions/ContextAwareQueryExtensions.cs b/GFramework.Core/Extensions/ContextAwareQueryExtensions.cs similarity index 93% rename from GFramework.Core/extensions/ContextAwareQueryExtensions.cs rename to GFramework.Core/Extensions/ContextAwareQueryExtensions.cs index 2e3e6b4..ce12e22 100644 --- a/GFramework.Core/extensions/ContextAwareQueryExtensions.cs +++ b/GFramework.Core/Extensions/ContextAwareQueryExtensions.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.query; -using GFramework.Core.Abstractions.rule; +using GFramework.Core.Abstractions.Query; +using GFramework.Core.Abstractions.Rule; -namespace GFramework.Core.extensions; +namespace GFramework.Core.Extensions; /// /// 提供对 IContextAware 接口的查询执行扩展方法 diff --git a/GFramework.Core/extensions/ContextAwareServiceExtensions.cs b/GFramework.Core/Extensions/ContextAwareServiceExtensions.cs similarity index 97% rename from GFramework.Core/extensions/ContextAwareServiceExtensions.cs rename to GFramework.Core/Extensions/ContextAwareServiceExtensions.cs index 514700b..9c6ed7a 100644 --- a/GFramework.Core/extensions/ContextAwareServiceExtensions.cs +++ b/GFramework.Core/Extensions/ContextAwareServiceExtensions.cs @@ -1,9 +1,9 @@ -using GFramework.Core.Abstractions.model; -using GFramework.Core.Abstractions.rule; -using GFramework.Core.Abstractions.system; -using GFramework.Core.Abstractions.utility; +using GFramework.Core.Abstractions.Model; +using GFramework.Core.Abstractions.Rule; +using GFramework.Core.Abstractions.Systems; +using GFramework.Core.Abstractions.Utility; -namespace GFramework.Core.extensions; +namespace GFramework.Core.Extensions; /// /// 提供对 IContextAware 接口的服务访问扩展方法 diff --git a/GFramework.Core/extensions/GuardExtensions.cs b/GFramework.Core/Extensions/GuardExtensions.cs similarity index 99% rename from GFramework.Core/extensions/GuardExtensions.cs rename to GFramework.Core/Extensions/GuardExtensions.cs index 35c20d8..de68dcd 100644 --- a/GFramework.Core/extensions/GuardExtensions.cs +++ b/GFramework.Core/Extensions/GuardExtensions.cs @@ -1,6 +1,6 @@ using System.Runtime.CompilerServices; -namespace GFramework.Core.extensions; +namespace GFramework.Core.Extensions; /// /// 参数验证扩展方法(Guard 模式) diff --git a/GFramework.Core/extensions/NumericExtensions.cs b/GFramework.Core/Extensions/NumericExtensions.cs similarity index 98% rename from GFramework.Core/extensions/NumericExtensions.cs rename to GFramework.Core/Extensions/NumericExtensions.cs index d268806..448975b 100644 --- a/GFramework.Core/extensions/NumericExtensions.cs +++ b/GFramework.Core/Extensions/NumericExtensions.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.extensions; +namespace GFramework.Core.Extensions; /// /// 数值扩展方法 diff --git a/GFramework.Core/extensions/ObjectExtensions.cs b/GFramework.Core/Extensions/ObjectExtensions.cs similarity index 99% rename from GFramework.Core/extensions/ObjectExtensions.cs rename to GFramework.Core/Extensions/ObjectExtensions.cs index 9e2ee24..c22d2f2 100644 --- a/GFramework.Core/extensions/ObjectExtensions.cs +++ b/GFramework.Core/Extensions/ObjectExtensions.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.extensions; +namespace GFramework.Core.Extensions; /// /// 提供基于运行时类型判断的对象扩展方法, diff --git a/GFramework.Core/extensions/OrEventExtensions.cs b/GFramework.Core/Extensions/OrEventExtensions.cs similarity index 84% rename from GFramework.Core/extensions/OrEventExtensions.cs rename to GFramework.Core/Extensions/OrEventExtensions.cs index 261ebeb..8fc8ed0 100644 --- a/GFramework.Core/extensions/OrEventExtensions.cs +++ b/GFramework.Core/Extensions/OrEventExtensions.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.events; -using GFramework.Core.events; +using GFramework.Core.Abstractions.Events; +using GFramework.Core.Events; -namespace GFramework.Core.extensions; +namespace GFramework.Core.Extensions; /// /// 提供Or事件扩展方法的静态类 diff --git a/GFramework.Core/extensions/SpanExtensions.cs b/GFramework.Core/Extensions/SpanExtensions.cs similarity index 97% rename from GFramework.Core/extensions/SpanExtensions.cs rename to GFramework.Core/Extensions/SpanExtensions.cs index 575d42f..f1d3035 100644 --- a/GFramework.Core/extensions/SpanExtensions.cs +++ b/GFramework.Core/Extensions/SpanExtensions.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.extensions; +namespace GFramework.Core.Extensions; /// /// Span 和 ReadOnlySpan 扩展方法,提供零分配的高性能操作 diff --git a/GFramework.Core/extensions/StringExtensions.cs b/GFramework.Core/Extensions/StringExtensions.cs similarity index 98% rename from GFramework.Core/extensions/StringExtensions.cs rename to GFramework.Core/Extensions/StringExtensions.cs index a3beb4b..63ecc4e 100644 --- a/GFramework.Core/extensions/StringExtensions.cs +++ b/GFramework.Core/Extensions/StringExtensions.cs @@ -1,4 +1,4 @@ -namespace GFramework.Core.extensions; +namespace GFramework.Core.Extensions; /// /// 字符串扩展方法 diff --git a/GFramework.Core/extensions/UnRegisterListExtension.cs b/GFramework.Core/Extensions/UnRegisterListExtension.cs similarity index 92% rename from GFramework.Core/extensions/UnRegisterListExtension.cs rename to GFramework.Core/Extensions/UnRegisterListExtension.cs index adde12e..6cde4b0 100644 --- a/GFramework.Core/extensions/UnRegisterListExtension.cs +++ b/GFramework.Core/Extensions/UnRegisterListExtension.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.events; +using GFramework.Core.Abstractions.Events; -namespace GFramework.Core.extensions; +namespace GFramework.Core.Extensions; /// /// 扩展方法类,为IUnRegister和IUnRegisterList接口提供便捷的注册和注销功能 diff --git a/GFramework.Core/functional/async/AsyncFunctionalExtensions.cs b/GFramework.Core/Functional/Async/AsyncFunctionalExtensions.cs similarity index 98% rename from GFramework.Core/functional/async/AsyncFunctionalExtensions.cs rename to GFramework.Core/Functional/Async/AsyncFunctionalExtensions.cs index ed34273..5ce9dbd 100644 --- a/GFramework.Core/functional/async/AsyncFunctionalExtensions.cs +++ b/GFramework.Core/Functional/Async/AsyncFunctionalExtensions.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Core.functional.async; +namespace GFramework.Core.Functional.Async; /// /// 异步函数式编程扩展方法 diff --git a/GFramework.Core/functional/control/ControlExtensions.cs b/GFramework.Core/Functional/Control/ControlExtensions.cs similarity index 99% rename from GFramework.Core/functional/control/ControlExtensions.cs rename to GFramework.Core/Functional/Control/ControlExtensions.cs index 64b3ff5..047704d 100644 --- a/GFramework.Core/functional/control/ControlExtensions.cs +++ b/GFramework.Core/Functional/Control/ControlExtensions.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Core.functional.control; +namespace GFramework.Core.Functional.Control; /// /// 控制流扩展方法类,提供函数式编程风格的控制结构 diff --git a/GFramework.Core/functional/functions/FunctionExtensions.cs b/GFramework.Core/Functional/Functions/FunctionExtensions.cs similarity index 99% rename from GFramework.Core/functional/functions/FunctionExtensions.cs rename to GFramework.Core/Functional/Functions/FunctionExtensions.cs index e29dbfb..83006af 100644 --- a/GFramework.Core/functional/functions/FunctionExtensions.cs +++ b/GFramework.Core/Functional/Functions/FunctionExtensions.cs @@ -13,7 +13,7 @@ using System.Collections.Concurrent; -namespace GFramework.Core.functional.functions; +namespace GFramework.Core.Functional.Functions; /// /// 函数式编程扩展方法集合,提供柯里化、偏函数应用、重复执行、安全执行和缓存等功能 diff --git a/GFramework.Core/functional/Option.cs b/GFramework.Core/Functional/Option.cs similarity index 99% rename from GFramework.Core/functional/Option.cs rename to GFramework.Core/Functional/Option.cs index 099a8bd..709c343 100644 --- a/GFramework.Core/functional/Option.cs +++ b/GFramework.Core/Functional/Option.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Core.functional; +namespace GFramework.Core.Functional; /// /// 表示可能存在或不存在的值,用于替代 null 引用的函数式编程类型 diff --git a/GFramework.Core/functional/pipe/PipeExtensions.cs b/GFramework.Core/Functional/Pipe/PipeExtensions.cs similarity index 99% rename from GFramework.Core/functional/pipe/PipeExtensions.cs rename to GFramework.Core/Functional/Pipe/PipeExtensions.cs index d2e46c2..f217127 100644 --- a/GFramework.Core/functional/pipe/PipeExtensions.cs +++ b/GFramework.Core/Functional/Pipe/PipeExtensions.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Core.functional.pipe; +namespace GFramework.Core.Functional.Pipe; /// /// 提供函数式编程中的管道和组合操作扩展方法 diff --git a/GFramework.Core/functional/Result.T.cs b/GFramework.Core/Functional/Result.T.cs similarity index 99% rename from GFramework.Core/functional/Result.T.cs rename to GFramework.Core/Functional/Result.T.cs index 611420c..ad347ca 100644 --- a/GFramework.Core/functional/Result.T.cs +++ b/GFramework.Core/Functional/Result.T.cs @@ -13,7 +13,7 @@ using System.Diagnostics.Contracts; -namespace GFramework.Core.functional; +namespace GFramework.Core.Functional; /// /// 表示一个操作的结果,可能是成功值或异常 diff --git a/GFramework.Core/functional/Result.cs b/GFramework.Core/Functional/Result.cs similarity index 99% rename from GFramework.Core/functional/Result.cs rename to GFramework.Core/Functional/Result.cs index 2c0b57b..03508b5 100644 --- a/GFramework.Core/functional/Result.cs +++ b/GFramework.Core/Functional/Result.cs @@ -13,7 +13,7 @@ using System.Diagnostics.Contracts; -namespace GFramework.Core.functional; +namespace GFramework.Core.Functional; /// /// 表示一个无值的操作结果,仅包含成功或失败状态 diff --git a/GFramework.Core/functional/result/ResultExtensions.cs b/GFramework.Core/Functional/ResultExtensions.cs similarity index 99% rename from GFramework.Core/functional/result/ResultExtensions.cs rename to GFramework.Core/Functional/ResultExtensions.cs index f70b829..a5cab9c 100644 --- a/GFramework.Core/functional/result/ResultExtensions.cs +++ b/GFramework.Core/Functional/ResultExtensions.cs @@ -12,7 +12,7 @@ // limitations under the License. -namespace GFramework.Core.functional.result; +namespace GFramework.Core.Functional; /// /// Result 类型的扩展方法,提供函数式编程支持 diff --git a/GFramework.Core/ioc/MicrosoftDiContainer.cs b/GFramework.Core/IoC/MicrosoftDiContainer.cs similarity index 98% rename from GFramework.Core/ioc/MicrosoftDiContainer.cs rename to GFramework.Core/IoC/MicrosoftDiContainer.cs index 7ff5d20..2a4bb9f 100644 --- a/GFramework.Core/ioc/MicrosoftDiContainer.cs +++ b/GFramework.Core/IoC/MicrosoftDiContainer.cs @@ -1,13 +1,13 @@ -using GFramework.Core.Abstractions.bases; -using GFramework.Core.Abstractions.ioc; -using GFramework.Core.Abstractions.logging; -using GFramework.Core.Abstractions.system; -using GFramework.Core.logging; -using GFramework.Core.rule; +using GFramework.Core.Abstractions.Bases; +using GFramework.Core.Abstractions.IoC; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Abstractions.Systems; +using GFramework.Core.Logging; +using GFramework.Core.Rule; using Mediator; using Microsoft.Extensions.DependencyInjection; -namespace GFramework.Core.ioc; +namespace GFramework.Core.IoC; /// /// Microsoft.Extensions.DependencyInjection 适配器 diff --git a/GFramework.Core/logging/AbstractLogger.cs b/GFramework.Core/Logging/AbstractLogger.cs similarity index 99% rename from GFramework.Core/logging/AbstractLogger.cs rename to GFramework.Core/Logging/AbstractLogger.cs index e9f8ff7..3ca42a2 100644 --- a/GFramework.Core/logging/AbstractLogger.cs +++ b/GFramework.Core/Logging/AbstractLogger.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.logging; +using GFramework.Core.Abstractions.Logging; -namespace GFramework.Core.logging; +namespace GFramework.Core.Logging; /// /// 日志抽象基类,封装日志级别判断、格式化与异常处理逻辑。 diff --git a/GFramework.Core/logging/appenders/AsyncLogAppender.cs b/GFramework.Core/Logging/Appenders/AsyncLogAppender.cs similarity index 98% rename from GFramework.Core/logging/appenders/AsyncLogAppender.cs rename to GFramework.Core/Logging/Appenders/AsyncLogAppender.cs index fd78a75..ee67b32 100644 --- a/GFramework.Core/logging/appenders/AsyncLogAppender.cs +++ b/GFramework.Core/Logging/Appenders/AsyncLogAppender.cs @@ -1,7 +1,7 @@ using System.Threading.Channels; -using GFramework.Core.Abstractions.logging; +using GFramework.Core.Abstractions.Logging; -namespace GFramework.Core.logging.appenders; +namespace GFramework.Core.Logging.Appenders; /// /// 异步日志输出器,使用 Channel 实现非阻塞日志写入 diff --git a/GFramework.Core/logging/appenders/ConsoleAppender.cs b/GFramework.Core/Logging/Appenders/ConsoleAppender.cs similarity index 96% rename from GFramework.Core/logging/appenders/ConsoleAppender.cs rename to GFramework.Core/Logging/Appenders/ConsoleAppender.cs index b7aebe5..0418744 100644 --- a/GFramework.Core/logging/appenders/ConsoleAppender.cs +++ b/GFramework.Core/Logging/Appenders/ConsoleAppender.cs @@ -1,7 +1,7 @@ using System.IO; -using GFramework.Core.Abstractions.logging; +using GFramework.Core.Abstractions.Logging; -namespace GFramework.Core.logging.appenders; +namespace GFramework.Core.Logging.Appenders; /// /// 控制台日志输出器 diff --git a/GFramework.Core/logging/appenders/FileAppender.cs b/GFramework.Core/Logging/Appenders/FileAppender.cs similarity index 95% rename from GFramework.Core/logging/appenders/FileAppender.cs rename to GFramework.Core/Logging/Appenders/FileAppender.cs index 4818d8b..74e7562 100644 --- a/GFramework.Core/logging/appenders/FileAppender.cs +++ b/GFramework.Core/Logging/Appenders/FileAppender.cs @@ -1,9 +1,9 @@ using System.IO; using System.Text; -using GFramework.Core.Abstractions.logging; -using GFramework.Core.logging.formatters; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Logging.Formatters; -namespace GFramework.Core.logging.appenders; +namespace GFramework.Core.Logging.Appenders; /// /// 文件日志输出器(线程安全) diff --git a/GFramework.Core/logging/appenders/RollingFileAppender.cs b/GFramework.Core/Logging/Appenders/RollingFileAppender.cs similarity index 96% rename from GFramework.Core/logging/appenders/RollingFileAppender.cs rename to GFramework.Core/Logging/Appenders/RollingFileAppender.cs index 34564b1..793c6dc 100644 --- a/GFramework.Core/logging/appenders/RollingFileAppender.cs +++ b/GFramework.Core/Logging/Appenders/RollingFileAppender.cs @@ -1,9 +1,10 @@ +using System; using System.IO; using System.Text; -using GFramework.Core.Abstractions.logging; -using GFramework.Core.logging.formatters; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Logging.Formatters; -namespace GFramework.Core.logging.appenders; +namespace GFramework.Core.Logging.Appenders; /// /// 滚动文件日志输出器,支持按大小自动轮转日志文件 @@ -83,7 +84,7 @@ public sealed class RollingFileAppender : ILogAppender, IDisposable return; var message = _formatter.Format(entry); - var messageBytes = Encoding.UTF8.GetByteCount(message) + Environment.NewLine.Length; + var messageBytes = Encoding.UTF8.GetByteCount(message) + global::System.Environment.NewLine.Length; lock (_lock) { diff --git a/GFramework.Core/logging/appenders/StatisticsAppender.cs b/GFramework.Core/Logging/Appenders/StatisticsAppender.cs similarity index 97% rename from GFramework.Core/logging/appenders/StatisticsAppender.cs rename to GFramework.Core/Logging/Appenders/StatisticsAppender.cs index e23167a..ec2cd00 100644 --- a/GFramework.Core/logging/appenders/StatisticsAppender.cs +++ b/GFramework.Core/Logging/Appenders/StatisticsAppender.cs @@ -1,10 +1,10 @@ using System.Collections.Concurrent; using System.Text; -using GFramework.Core.Abstractions.logging; -using GFramework.Core.Abstractions.time; -using GFramework.Core.time; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Abstractions.Time; +using GFramework.Core.Time; -namespace GFramework.Core.logging.appenders; +namespace GFramework.Core.Logging.Appenders; /// /// 日志统计 Appender,用于收集日志指标 diff --git a/GFramework.Core/logging/CachedLoggerFactory.cs b/GFramework.Core/Logging/CachedLoggerFactory.cs similarity index 93% rename from GFramework.Core/logging/CachedLoggerFactory.cs rename to GFramework.Core/Logging/CachedLoggerFactory.cs index 9aea055..220fc2a 100644 --- a/GFramework.Core/logging/CachedLoggerFactory.cs +++ b/GFramework.Core/Logging/CachedLoggerFactory.cs @@ -1,7 +1,7 @@ using System.Collections.Concurrent; -using GFramework.Core.Abstractions.logging; +using GFramework.Core.Abstractions.Logging; -namespace GFramework.Core.logging; +namespace GFramework.Core.Logging; /// /// 带缓存的日志工厂包装器,避免重复创建相同名称的日志记录器实例 diff --git a/GFramework.Core/logging/CompositeLogger.cs b/GFramework.Core/Logging/CompositeLogger.cs similarity index 97% rename from GFramework.Core/logging/CompositeLogger.cs rename to GFramework.Core/Logging/CompositeLogger.cs index 253cd80..fe5dda4 100644 --- a/GFramework.Core/logging/CompositeLogger.cs +++ b/GFramework.Core/Logging/CompositeLogger.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.logging; +using GFramework.Core.Abstractions.Logging; -namespace GFramework.Core.logging; +namespace GFramework.Core.Logging; /// /// 组合日志记录器,支持同时输出到多个 Appender diff --git a/GFramework.Core/logging/ConsoleLogger.cs b/GFramework.Core/Logging/ConsoleLogger.cs similarity index 93% rename from GFramework.Core/logging/ConsoleLogger.cs rename to GFramework.Core/Logging/ConsoleLogger.cs index 091c290..c852d78 100644 --- a/GFramework.Core/logging/ConsoleLogger.cs +++ b/GFramework.Core/Logging/ConsoleLogger.cs @@ -1,7 +1,8 @@ +using System; using System.IO; -using GFramework.Core.Abstractions.logging; +using GFramework.Core.Abstractions.Logging; -namespace GFramework.Core.logging; +namespace GFramework.Core.Logging; /// /// 控制台日志记录器 @@ -39,7 +40,7 @@ public sealed class ConsoleLogger( var log = $"[{timestamp}] {levelStr} [{Name()}] {message}"; // 添加异常信息到日志 - if (exception != null) log += Environment.NewLine + exception; + if (exception != null) log += global::System.Environment.NewLine + exception; if (_useColors) WriteColored(level, log); diff --git a/GFramework.Core/logging/ConsoleLoggerFactory.cs b/GFramework.Core/Logging/ConsoleLoggerFactory.cs similarity index 87% rename from GFramework.Core/logging/ConsoleLoggerFactory.cs rename to GFramework.Core/Logging/ConsoleLoggerFactory.cs index e8f2481..b9e6516 100644 --- a/GFramework.Core/logging/ConsoleLoggerFactory.cs +++ b/GFramework.Core/Logging/ConsoleLoggerFactory.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.logging; +using GFramework.Core.Abstractions.Logging; -namespace GFramework.Core.logging; +namespace GFramework.Core.Logging; /// /// 控制台日志提供程序,用于创建控制台日志记录器实例 diff --git a/GFramework.Core/logging/ConsoleLoggerFactoryProvider.cs b/GFramework.Core/Logging/ConsoleLoggerFactoryProvider.cs similarity index 92% rename from GFramework.Core/logging/ConsoleLoggerFactoryProvider.cs rename to GFramework.Core/Logging/ConsoleLoggerFactoryProvider.cs index 52583a3..ca3fbce 100644 --- a/GFramework.Core/logging/ConsoleLoggerFactoryProvider.cs +++ b/GFramework.Core/Logging/ConsoleLoggerFactoryProvider.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.logging; +using GFramework.Core.Abstractions.Logging; -namespace GFramework.Core.logging; +namespace GFramework.Core.Logging; /// /// 控制台日志记录器工厂提供程序,用于创建控制台日志记录器实例 diff --git a/GFramework.Core/logging/filters/CompositeFilter.cs b/GFramework.Core/Logging/Filters/CompositeFilter.cs similarity index 91% rename from GFramework.Core/logging/filters/CompositeFilter.cs rename to GFramework.Core/Logging/Filters/CompositeFilter.cs index b07f50c..d8841bc 100644 --- a/GFramework.Core/logging/filters/CompositeFilter.cs +++ b/GFramework.Core/Logging/Filters/CompositeFilter.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.logging; +using GFramework.Core.Abstractions.Logging; -namespace GFramework.Core.logging.filters; +namespace GFramework.Core.Logging.Filters; /// /// 组合多个过滤器的过滤器(AND 逻辑) diff --git a/GFramework.Core/logging/filters/LogLevelFilter.cs b/GFramework.Core/Logging/Filters/LogLevelFilter.cs similarity index 89% rename from GFramework.Core/logging/filters/LogLevelFilter.cs rename to GFramework.Core/Logging/Filters/LogLevelFilter.cs index 7241d18..b4e0aab 100644 --- a/GFramework.Core/logging/filters/LogLevelFilter.cs +++ b/GFramework.Core/Logging/Filters/LogLevelFilter.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.logging; +using GFramework.Core.Abstractions.Logging; -namespace GFramework.Core.logging.filters; +namespace GFramework.Core.Logging.Filters; /// /// 按日志级别过滤的过滤器 diff --git a/GFramework.Core/logging/filters/NamespaceFilter.cs b/GFramework.Core/Logging/Filters/NamespaceFilter.cs similarity index 92% rename from GFramework.Core/logging/filters/NamespaceFilter.cs rename to GFramework.Core/Logging/Filters/NamespaceFilter.cs index 2d678d4..4eddf32 100644 --- a/GFramework.Core/logging/filters/NamespaceFilter.cs +++ b/GFramework.Core/Logging/Filters/NamespaceFilter.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.logging; +using GFramework.Core.Abstractions.Logging; -namespace GFramework.Core.logging.filters; +namespace GFramework.Core.Logging.Filters; /// /// 按命名空间前缀过滤的过滤器 diff --git a/GFramework.Core/logging/filters/SamplingFilter.cs b/GFramework.Core/Logging/Filters/SamplingFilter.cs similarity index 96% rename from GFramework.Core/logging/filters/SamplingFilter.cs rename to GFramework.Core/Logging/Filters/SamplingFilter.cs index b20de4b..9bdf4a3 100644 --- a/GFramework.Core/logging/filters/SamplingFilter.cs +++ b/GFramework.Core/Logging/Filters/SamplingFilter.cs @@ -1,9 +1,9 @@ using System.Collections.Concurrent; -using GFramework.Core.Abstractions.logging; -using GFramework.Core.Abstractions.time; -using GFramework.Core.time; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Abstractions.Time; +using GFramework.Core.Time; -namespace GFramework.Core.logging.filters; +namespace GFramework.Core.Logging.Filters; /// /// 日志采样过滤器,用于限制高频日志的输出 diff --git a/GFramework.Core/logging/formatters/DefaultLogFormatter.cs b/GFramework.Core/Logging/Formatters/DefaultLogFormatter.cs similarity index 85% rename from GFramework.Core/logging/formatters/DefaultLogFormatter.cs rename to GFramework.Core/Logging/Formatters/DefaultLogFormatter.cs index 48aef88..ed5f8c2 100644 --- a/GFramework.Core/logging/formatters/DefaultLogFormatter.cs +++ b/GFramework.Core/Logging/Formatters/DefaultLogFormatter.cs @@ -1,56 +1,57 @@ -using System.Text; -using GFramework.Core.Abstractions.logging; - -namespace GFramework.Core.logging.formatters; - -/// -/// 默认日志格式化器,保持与现有格式兼容 -/// -public sealed class DefaultLogFormatter : ILogFormatter -{ - private static readonly string[] LevelStrings = - [ - "TRACE ", - "DEBUG ", - "INFO ", - "WARNING", - "ERROR ", - "FATAL " - ]; - - /// - /// 将日志条目格式化为默认格式 - /// - /// 日志条目 - /// 格式化后的日志字符串 - public string Format(LogEntry entry) - { - var timestamp = entry.Timestamp.ToString("yyyy-MM-dd HH:mm:ss.fff"); - var levelStr = LevelStrings[(int)entry.Level]; - var sb = new StringBuilder(); - - sb.Append('[').Append(timestamp).Append("] ") - .Append(levelStr).Append(" [") - .Append(entry.LoggerName).Append("] ") - .Append(entry.Message); - - // 添加结构化属性 - var properties = entry.GetAllProperties(); - if (properties.Count > 0) - { - sb.Append(" |"); - foreach (var prop in properties) - { - sb.Append(' ').Append(prop.Key).Append('=').Append(prop.Value); - } - } - - // 添加异常信息 - if (entry.Exception != null) - { - sb.Append(Environment.NewLine).Append(entry.Exception); - } - - return sb.ToString(); - } +using System; +using System.Text; +using GFramework.Core.Abstractions.Logging; + +namespace GFramework.Core.Logging.Formatters; + +/// +/// 默认日志格式化器,保持与现有格式兼容 +/// +public sealed class DefaultLogFormatter : ILogFormatter +{ + private static readonly string[] LevelStrings = + [ + "TRACE ", + "DEBUG ", + "INFO ", + "WARNING", + "ERROR ", + "FATAL " + ]; + + /// + /// 将日志条目格式化为默认格式 + /// + /// 日志条目 + /// 格式化后的日志字符串 + public string Format(LogEntry entry) + { + var timestamp = entry.Timestamp.ToString("yyyy-MM-dd HH:mm:ss.fff"); + var levelStr = LevelStrings[(int)entry.Level]; + var sb = new StringBuilder(); + + sb.Append('[').Append(timestamp).Append("] ") + .Append(levelStr).Append(" [") + .Append(entry.LoggerName).Append("] ") + .Append(entry.Message); + + // 添加结构化属性 + var properties = entry.GetAllProperties(); + if (properties.Count > 0) + { + sb.Append(" |"); + foreach (var prop in properties) + { + sb.Append(' ').Append(prop.Key).Append('=').Append(prop.Value); + } + } + + // 添加异常信息 + if (entry.Exception != null) + { + sb.Append(global::System.Environment.NewLine).Append(entry.Exception); + } + + return sb.ToString(); + } } \ No newline at end of file diff --git a/GFramework.Core/logging/formatters/JsonLogFormatter.cs b/GFramework.Core/Logging/Formatters/JsonLogFormatter.cs similarity index 94% rename from GFramework.Core/logging/formatters/JsonLogFormatter.cs rename to GFramework.Core/Logging/Formatters/JsonLogFormatter.cs index 407aac7..a48ce7e 100644 --- a/GFramework.Core/logging/formatters/JsonLogFormatter.cs +++ b/GFramework.Core/Logging/Formatters/JsonLogFormatter.cs @@ -1,7 +1,7 @@ using System.Text.Json; -using GFramework.Core.Abstractions.logging; +using GFramework.Core.Abstractions.Logging; -namespace GFramework.Core.logging.formatters; +namespace GFramework.Core.Logging.Formatters; /// /// JSON 格式化器,将日志输出为 JSON 格式 diff --git a/GFramework.Core/logging/LoggerFactoryResolver.cs b/GFramework.Core/Logging/LoggerFactoryResolver.cs similarity index 90% rename from GFramework.Core/logging/LoggerFactoryResolver.cs rename to GFramework.Core/Logging/LoggerFactoryResolver.cs index d7fd90e..c15378d 100644 --- a/GFramework.Core/logging/LoggerFactoryResolver.cs +++ b/GFramework.Core/Logging/LoggerFactoryResolver.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.logging; +using GFramework.Core.Abstractions.Logging; -namespace GFramework.Core.logging; +namespace GFramework.Core.Logging; /// /// 日志工厂提供程序解析器,用于管理和提供日志工厂提供程序实例 diff --git a/GFramework.Core/logging/LoggingConfiguration.cs b/GFramework.Core/Logging/LoggingConfiguration.cs similarity index 97% rename from GFramework.Core/logging/LoggingConfiguration.cs rename to GFramework.Core/Logging/LoggingConfiguration.cs index 37f7ff8..76681a9 100644 --- a/GFramework.Core/logging/LoggingConfiguration.cs +++ b/GFramework.Core/Logging/LoggingConfiguration.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.logging; +using GFramework.Core.Abstractions.Logging; -namespace GFramework.Core.logging; +namespace GFramework.Core.Logging; /// /// 日志配置类 diff --git a/GFramework.Core/logging/LoggingConfigurationLoader.cs b/GFramework.Core/Logging/LoggingConfigurationLoader.cs similarity index 97% rename from GFramework.Core/logging/LoggingConfigurationLoader.cs rename to GFramework.Core/Logging/LoggingConfigurationLoader.cs index 293f0f1..d0565b6 100644 --- a/GFramework.Core/logging/LoggingConfigurationLoader.cs +++ b/GFramework.Core/Logging/LoggingConfigurationLoader.cs @@ -1,12 +1,12 @@ using System.IO; using System.Text.Json; using System.Text.Json.Serialization; -using GFramework.Core.Abstractions.logging; -using GFramework.Core.logging.appenders; -using GFramework.Core.logging.filters; -using GFramework.Core.logging.formatters; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Logging.Appenders; +using GFramework.Core.Logging.Filters; +using GFramework.Core.Logging.Formatters; -namespace GFramework.Core.logging; +namespace GFramework.Core.Logging; /// /// 日志配置加载器 diff --git a/GFramework.Core/model/AbstractModel.cs b/GFramework.Core/Model/AbstractModel.cs similarity index 79% rename from GFramework.Core/model/AbstractModel.cs rename to GFramework.Core/Model/AbstractModel.cs index 4a619d6..b41d6bb 100644 --- a/GFramework.Core/model/AbstractModel.cs +++ b/GFramework.Core/Model/AbstractModel.cs @@ -1,9 +1,9 @@ -using GFramework.Core.Abstractions.enums; -using GFramework.Core.Abstractions.lifecycle; -using GFramework.Core.Abstractions.model; -using GFramework.Core.rule; +using GFramework.Core.Abstractions.Enums; +using GFramework.Core.Abstractions.Lifecycle; +using GFramework.Core.Abstractions.Model; +using GFramework.Core.Rule; -namespace GFramework.Core.model; +namespace GFramework.Core.Model; /// /// 抽象模型基类,实现IModel接口,提供模型的基本架构支持 diff --git a/GFramework.Core/pause/PauseEntry.cs b/GFramework.Core/Pause/PauseEntry.cs similarity index 87% rename from GFramework.Core/pause/PauseEntry.cs rename to GFramework.Core/Pause/PauseEntry.cs index 68737f7..e1db6f0 100644 --- a/GFramework.Core/pause/PauseEntry.cs +++ b/GFramework.Core/Pause/PauseEntry.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.pause; +using GFramework.Core.Abstractions.Pause; -namespace GFramework.Core.pause; +namespace GFramework.Core.Pause; /// /// 暂停条目(内部数据结构) diff --git a/GFramework.Core/pause/PauseScope.cs b/GFramework.Core/Pause/PauseScope.cs similarity index 94% rename from GFramework.Core/pause/PauseScope.cs rename to GFramework.Core/Pause/PauseScope.cs index 5040ebc..1353d21 100644 --- a/GFramework.Core/pause/PauseScope.cs +++ b/GFramework.Core/Pause/PauseScope.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.pause; +using GFramework.Core.Abstractions.Pause; -namespace GFramework.Core.pause; +namespace GFramework.Core.Pause; /// /// 暂停作用域,支持 using 语法自动管理暂停生命周期 diff --git a/GFramework.Core/pause/PauseStackManager.cs b/GFramework.Core/Pause/PauseStackManager.cs similarity index 98% rename from GFramework.Core/pause/PauseStackManager.cs rename to GFramework.Core/Pause/PauseStackManager.cs index aea4124..e11e171 100644 --- a/GFramework.Core/pause/PauseStackManager.cs +++ b/GFramework.Core/Pause/PauseStackManager.cs @@ -1,10 +1,10 @@ -using GFramework.Core.Abstractions.lifecycle; -using GFramework.Core.Abstractions.logging; -using GFramework.Core.Abstractions.pause; -using GFramework.Core.logging; -using GFramework.Core.utility; +using GFramework.Core.Abstractions.Lifecycle; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Abstractions.Pause; +using GFramework.Core.Logging; +using GFramework.Core.Utility; -namespace GFramework.Core.pause; +namespace GFramework.Core.Pause; /// /// 暂停栈管理器实现,用于管理游戏中的暂停状态。 diff --git a/GFramework.Core/pool/AbstractObjectPoolSystem.cs b/GFramework.Core/Pool/AbstractObjectPoolSystem.cs similarity index 98% rename from GFramework.Core/pool/AbstractObjectPoolSystem.cs rename to GFramework.Core/Pool/AbstractObjectPoolSystem.cs index 0f2ca87..2969b89 100644 --- a/GFramework.Core/pool/AbstractObjectPoolSystem.cs +++ b/GFramework.Core/Pool/AbstractObjectPoolSystem.cs @@ -1,8 +1,8 @@ using System.Diagnostics; -using GFramework.Core.Abstractions.pool; -using GFramework.Core.system; +using GFramework.Core.Abstractions.Pool; +using GFramework.Core.Systems; -namespace GFramework.Core.pool; +namespace GFramework.Core.Pool; /// /// 抽象对象池系统,提供基于键值的对象池管理功能 diff --git a/GFramework.Core/pool/StringBuilderPool.cs b/GFramework.Core/Pool/StringBuilderPool.cs similarity index 99% rename from GFramework.Core/pool/StringBuilderPool.cs rename to GFramework.Core/Pool/StringBuilderPool.cs index 55cf512..233fb39 100644 --- a/GFramework.Core/pool/StringBuilderPool.cs +++ b/GFramework.Core/Pool/StringBuilderPool.cs @@ -1,7 +1,7 @@ using System.Collections.Concurrent; using System.Text; -namespace GFramework.Core.pool; +namespace GFramework.Core.Pool; /// /// StringBuilder 对象池,提供高性能的字符串构建器复用 diff --git a/GFramework.Core/property/BindableProperty.cs b/GFramework.Core/Property/BindableProperty.cs similarity index 97% rename from GFramework.Core/property/BindableProperty.cs rename to GFramework.Core/Property/BindableProperty.cs index d3e69bd..f20ad24 100644 --- a/GFramework.Core/property/BindableProperty.cs +++ b/GFramework.Core/Property/BindableProperty.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.events; -using GFramework.Core.Abstractions.property; +using GFramework.Core.Abstractions.Events; +using GFramework.Core.Abstractions.Property; -namespace GFramework.Core.property; +namespace GFramework.Core.Property; /// /// 可绑定属性类,用于实现数据绑定功能 diff --git a/GFramework.Core/property/BindablePropertyUnRegister.cs b/GFramework.Core/Property/BindablePropertyUnRegister.cs similarity index 94% rename from GFramework.Core/property/BindablePropertyUnRegister.cs rename to GFramework.Core/Property/BindablePropertyUnRegister.cs index 6ef5eef..a358709 100644 --- a/GFramework.Core/property/BindablePropertyUnRegister.cs +++ b/GFramework.Core/Property/BindablePropertyUnRegister.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.events; +using GFramework.Core.Abstractions.Events; -namespace GFramework.Core.property; +namespace GFramework.Core.Property; /// /// 可绑定属性注销器类,用于取消注册可绑定属性的值变化监听 diff --git a/GFramework.Core/query/AbstractAsyncQuery.cs b/GFramework.Core/Query/AbstractAsyncQuery.cs similarity index 87% rename from GFramework.Core/query/AbstractAsyncQuery.cs rename to GFramework.Core/Query/AbstractAsyncQuery.cs index 8fd214f..5e50b5f 100644 --- a/GFramework.Core/query/AbstractAsyncQuery.cs +++ b/GFramework.Core/Query/AbstractAsyncQuery.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.query; -using GFramework.Core.rule; +using GFramework.Core.Abstractions.Query; +using GFramework.Core.Rule; -namespace GFramework.Core.query; +namespace GFramework.Core.Query; /// /// 异步查询抽象基类,提供异步查询的基本框架和执行机制 diff --git a/GFramework.Core/query/AbstractAsyncQueryWithResult.cs b/GFramework.Core/Query/AbstractAsyncQueryWithResult.cs similarity index 86% rename from GFramework.Core/query/AbstractAsyncQueryWithResult.cs rename to GFramework.Core/Query/AbstractAsyncQueryWithResult.cs index 8799149..9efaf39 100644 --- a/GFramework.Core/query/AbstractAsyncQueryWithResult.cs +++ b/GFramework.Core/Query/AbstractAsyncQueryWithResult.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.cqrs.query; -using GFramework.Core.Abstractions.query; -using GFramework.Core.rule; +using GFramework.Core.Abstractions.CQRS.Query; +using GFramework.Core.Abstractions.Query; +using GFramework.Core.Rule; -namespace GFramework.Core.query; +namespace GFramework.Core.Query; /// /// 抽象异步查询基类,用于处理输入类型为TInput、结果类型为TResult的异步查询操作 diff --git a/GFramework.Core/query/AbstractQuery.cs b/GFramework.Core/Query/AbstractQuery.cs similarity index 86% rename from GFramework.Core/query/AbstractQuery.cs rename to GFramework.Core/Query/AbstractQuery.cs index 1702bcc..35f2c9b 100644 --- a/GFramework.Core/query/AbstractQuery.cs +++ b/GFramework.Core/Query/AbstractQuery.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.query; -using GFramework.Core.rule; +using GFramework.Core.Abstractions.Query; +using GFramework.Core.Rule; -namespace GFramework.Core.query; +namespace GFramework.Core.Query; /// /// 抽象查询类,提供查询操作的基础实现 diff --git a/GFramework.Core/query/AbstractQueryWithResult.cs b/GFramework.Core/Query/AbstractQueryWithResult.cs similarity index 84% rename from GFramework.Core/query/AbstractQueryWithResult.cs rename to GFramework.Core/Query/AbstractQueryWithResult.cs index b142fe4..ad00b22 100644 --- a/GFramework.Core/query/AbstractQueryWithResult.cs +++ b/GFramework.Core/Query/AbstractQueryWithResult.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.cqrs.query; -using GFramework.Core.Abstractions.query; -using GFramework.Core.rule; +using GFramework.Core.Abstractions.CQRS.Query; +using GFramework.Core.Abstractions.Query; +using GFramework.Core.Rule; -namespace GFramework.Core.query; +namespace GFramework.Core.Query; /// /// 抽象查询类,提供查询操作的基础实现 diff --git a/GFramework.Core/query/AsyncQueryExecutor.cs b/GFramework.Core/Query/AsyncQueryExecutor.cs similarity index 89% rename from GFramework.Core/query/AsyncQueryExecutor.cs rename to GFramework.Core/Query/AsyncQueryExecutor.cs index 7f57ab3..5d2313f 100644 --- a/GFramework.Core/query/AsyncQueryExecutor.cs +++ b/GFramework.Core/Query/AsyncQueryExecutor.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.query; +using GFramework.Core.Abstractions.Query; -namespace GFramework.Core.query; +namespace GFramework.Core.Query; /// /// 异步查询总线实现,用于处理异步查询请求 diff --git a/GFramework.Core/query/EmptyQueryInput.cs b/GFramework.Core/Query/EmptyQueryInput.cs similarity index 79% rename from GFramework.Core/query/EmptyQueryInput.cs rename to GFramework.Core/Query/EmptyQueryInput.cs index 57c0fe8..e2893a5 100644 --- a/GFramework.Core/query/EmptyQueryInput.cs +++ b/GFramework.Core/Query/EmptyQueryInput.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.cqrs.query; +using GFramework.Core.Abstractions.CQRS.Query; -namespace GFramework.Core.query; +namespace GFramework.Core.Query; /// /// 空查询输入类,用于表示不需要任何输入参数的查询操作 diff --git a/GFramework.Core/query/QueryExecutor.cs b/GFramework.Core/Query/QueryExecutor.cs similarity index 92% rename from GFramework.Core/query/QueryExecutor.cs rename to GFramework.Core/Query/QueryExecutor.cs index d0ac3c7..3d82285 100644 --- a/GFramework.Core/query/QueryExecutor.cs +++ b/GFramework.Core/Query/QueryExecutor.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.query; +using GFramework.Core.Abstractions.Query; -namespace GFramework.Core.query; +namespace GFramework.Core.Query; /// diff --git a/GFramework.Core/resource/AutoReleaseStrategy.cs b/GFramework.Core/Resource/AutoReleaseStrategy.cs similarity index 83% rename from GFramework.Core/resource/AutoReleaseStrategy.cs rename to GFramework.Core/Resource/AutoReleaseStrategy.cs index 6325e85..96ee7cb 100644 --- a/GFramework.Core/resource/AutoReleaseStrategy.cs +++ b/GFramework.Core/Resource/AutoReleaseStrategy.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.resource; +using GFramework.Core.Abstractions.Resource; -namespace GFramework.Core.resource; +namespace GFramework.Core.Resource; /// /// 自动释放策略 diff --git a/GFramework.Core/resource/ManualReleaseStrategy.cs b/GFramework.Core/Resource/ManualReleaseStrategy.cs similarity index 85% rename from GFramework.Core/resource/ManualReleaseStrategy.cs rename to GFramework.Core/Resource/ManualReleaseStrategy.cs index dd50757..2035a90 100644 --- a/GFramework.Core/resource/ManualReleaseStrategy.cs +++ b/GFramework.Core/Resource/ManualReleaseStrategy.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.resource; +using GFramework.Core.Abstractions.Resource; -namespace GFramework.Core.resource; +namespace GFramework.Core.Resource; /// /// 手动释放策略 diff --git a/GFramework.Core/resource/ResourceCache.cs b/GFramework.Core/Resource/ResourceCache.cs similarity index 99% rename from GFramework.Core/resource/ResourceCache.cs rename to GFramework.Core/Resource/ResourceCache.cs index 745f4fc..440e93b 100644 --- a/GFramework.Core/resource/ResourceCache.cs +++ b/GFramework.Core/Resource/ResourceCache.cs @@ -1,6 +1,6 @@ using System.Collections.Concurrent; -namespace GFramework.Core.resource; +namespace GFramework.Core.Resource; /// /// 资源缓存条目 diff --git a/GFramework.Core/resource/ResourceHandle.cs b/GFramework.Core/Resource/ResourceHandle.cs similarity index 95% rename from GFramework.Core/resource/ResourceHandle.cs rename to GFramework.Core/Resource/ResourceHandle.cs index 208b1cd..e16b204 100644 --- a/GFramework.Core/resource/ResourceHandle.cs +++ b/GFramework.Core/Resource/ResourceHandle.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.logging; -using GFramework.Core.Abstractions.resource; -using GFramework.Core.logging; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Abstractions.Resource; +using GFramework.Core.Logging; -namespace GFramework.Core.resource; +namespace GFramework.Core.Resource; /// /// 资源句柄实现,管理资源的生命周期和引用计数 diff --git a/GFramework.Core/resource/ResourceManager.cs b/GFramework.Core/Resource/ResourceManager.cs similarity index 98% rename from GFramework.Core/resource/ResourceManager.cs rename to GFramework.Core/Resource/ResourceManager.cs index 8ef383e..11c30a0 100644 --- a/GFramework.Core/resource/ResourceManager.cs +++ b/GFramework.Core/Resource/ResourceManager.cs @@ -1,9 +1,9 @@ using System.Collections.Concurrent; -using GFramework.Core.Abstractions.logging; -using GFramework.Core.Abstractions.resource; -using GFramework.Core.logging; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Abstractions.Resource; +using GFramework.Core.Logging; -namespace GFramework.Core.resource; +namespace GFramework.Core.Resource; /// /// 资源管理器实现,提供资源加载、缓存和卸载功能 diff --git a/GFramework.Core/rule/ContextAwareBase.cs b/GFramework.Core/Rule/ContextAwareBase.cs similarity index 87% rename from GFramework.Core/rule/ContextAwareBase.cs rename to GFramework.Core/Rule/ContextAwareBase.cs index cba9784..c0293ec 100644 --- a/GFramework.Core/rule/ContextAwareBase.cs +++ b/GFramework.Core/Rule/ContextAwareBase.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.Abstractions.rule; -using GFramework.Core.architecture; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Abstractions.Rule; +using GFramework.Core.Architectures; -namespace GFramework.Core.rule; +namespace GFramework.Core.Rule; /// /// 上下文感知基类,实现了IContextAware接口,为需要感知架构上下文的类提供基础实现 diff --git a/GFramework.Core/services/modules/AsyncQueryExecutorModule.cs b/GFramework.Core/Services/Modules/AsyncQueryExecutorModule.cs similarity index 90% rename from GFramework.Core/services/modules/AsyncQueryExecutorModule.cs rename to GFramework.Core/Services/Modules/AsyncQueryExecutorModule.cs index 046e1d9..a3920f8 100644 --- a/GFramework.Core/services/modules/AsyncQueryExecutorModule.cs +++ b/GFramework.Core/Services/Modules/AsyncQueryExecutorModule.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.Abstractions.ioc; -using GFramework.Core.query; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Abstractions.IoC; +using GFramework.Core.Query; -namespace GFramework.Core.services.modules; +namespace GFramework.Core.Services.Modules; /// /// 异步查询执行器模块,用于注册和管理异步查询执行器服务。 diff --git a/GFramework.Core/services/modules/CommandExecutorModule.cs b/GFramework.Core/Services/Modules/CommandExecutorModule.cs similarity index 90% rename from GFramework.Core/services/modules/CommandExecutorModule.cs rename to GFramework.Core/Services/Modules/CommandExecutorModule.cs index a28e034..a4e462e 100644 --- a/GFramework.Core/services/modules/CommandExecutorModule.cs +++ b/GFramework.Core/Services/Modules/CommandExecutorModule.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.Abstractions.ioc; -using GFramework.Core.command; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Abstractions.IoC; +using GFramework.Core.Command; -namespace GFramework.Core.services.modules; +namespace GFramework.Core.Services.Modules; /// /// 命令执行器模块,用于注册和管理命令执行器服务。 diff --git a/GFramework.Core/services/modules/EventBusModule.cs b/GFramework.Core/Services/Modules/EventBusModule.cs similarity index 90% rename from GFramework.Core/services/modules/EventBusModule.cs rename to GFramework.Core/Services/Modules/EventBusModule.cs index 854f490..cb8b75c 100644 --- a/GFramework.Core/services/modules/EventBusModule.cs +++ b/GFramework.Core/Services/Modules/EventBusModule.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.Abstractions.ioc; -using GFramework.Core.events; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Abstractions.IoC; +using GFramework.Core.Events; -namespace GFramework.Core.services.modules; +namespace GFramework.Core.Services.Modules; /// /// 事件总线模块,用于注册和管理事件总线服务。 diff --git a/GFramework.Core/services/modules/QueryExecutorModule.cs b/GFramework.Core/Services/Modules/QueryExecutorModule.cs similarity index 90% rename from GFramework.Core/services/modules/QueryExecutorModule.cs rename to GFramework.Core/Services/Modules/QueryExecutorModule.cs index ed8991b..487d718 100644 --- a/GFramework.Core/services/modules/QueryExecutorModule.cs +++ b/GFramework.Core/Services/Modules/QueryExecutorModule.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.Abstractions.ioc; -using GFramework.Core.query; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Abstractions.IoC; +using GFramework.Core.Query; -namespace GFramework.Core.services.modules; +namespace GFramework.Core.Services.Modules; /// /// 查询执行器模块,用于注册和管理查询执行器服务。 diff --git a/GFramework.Core/services/ServiceModuleManager.cs b/GFramework.Core/Services/ServiceModuleManager.cs similarity index 94% rename from GFramework.Core/services/ServiceModuleManager.cs rename to GFramework.Core/Services/ServiceModuleManager.cs index 9ed0aac..3cf4b1d 100644 --- a/GFramework.Core/services/ServiceModuleManager.cs +++ b/GFramework.Core/Services/ServiceModuleManager.cs @@ -1,11 +1,11 @@ -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.Abstractions.ioc; -using GFramework.Core.Abstractions.lifecycle; -using GFramework.Core.Abstractions.logging; -using GFramework.Core.logging; -using GFramework.Core.services.modules; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Abstractions.IoC; +using GFramework.Core.Abstractions.Lifecycle; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Logging; +using GFramework.Core.Services.Modules; -namespace GFramework.Core.services; +namespace GFramework.Core.Services; /// /// 服务模块管理器,负责注册、初始化和销毁架构中的服务模块。 diff --git a/GFramework.Core/state/AsyncContextAwareStateBase.cs b/GFramework.Core/State/AsyncContextAwareStateBase.cs similarity index 96% rename from GFramework.Core/state/AsyncContextAwareStateBase.cs rename to GFramework.Core/State/AsyncContextAwareStateBase.cs index 20b9098..2c332da 100644 --- a/GFramework.Core/state/AsyncContextAwareStateBase.cs +++ b/GFramework.Core/State/AsyncContextAwareStateBase.cs @@ -11,12 +11,12 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.Abstractions.lifecycle; -using GFramework.Core.Abstractions.rule; -using GFramework.Core.Abstractions.state; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Abstractions.Lifecycle; +using GFramework.Core.Abstractions.Rule; +using GFramework.Core.Abstractions.State; -namespace GFramework.Core.state; +namespace GFramework.Core.State; /// /// 上下文感知异步状态基类 diff --git a/GFramework.Core/state/ContextAwareStateBase.cs b/GFramework.Core/State/ContextAwareStateBase.cs similarity index 91% rename from GFramework.Core/state/ContextAwareStateBase.cs rename to GFramework.Core/State/ContextAwareStateBase.cs index 0c44a6d..5175d50 100644 --- a/GFramework.Core/state/ContextAwareStateBase.cs +++ b/GFramework.Core/State/ContextAwareStateBase.cs @@ -1,9 +1,9 @@ -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.Abstractions.lifecycle; -using GFramework.Core.Abstractions.rule; -using GFramework.Core.Abstractions.state; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Abstractions.Lifecycle; +using GFramework.Core.Abstractions.Rule; +using GFramework.Core.Abstractions.State; -namespace GFramework.Core.state; +namespace GFramework.Core.State; /// /// 上下文感知状态基类 diff --git a/GFramework.Core/state/StateChangedEvent.cs b/GFramework.Core/State/StateChangedEvent.cs similarity index 82% rename from GFramework.Core/state/StateChangedEvent.cs rename to GFramework.Core/State/StateChangedEvent.cs index dde29a1..5aa4057 100644 --- a/GFramework.Core/state/StateChangedEvent.cs +++ b/GFramework.Core/State/StateChangedEvent.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.state; +using GFramework.Core.Abstractions.State; -namespace GFramework.Core.state; +namespace GFramework.Core.State; /// /// 表示状态变更事件的数据类 diff --git a/GFramework.Core/state/StateMachine.cs b/GFramework.Core/State/StateMachine.cs similarity index 99% rename from GFramework.Core/state/StateMachine.cs rename to GFramework.Core/State/StateMachine.cs index 45c6bcf..2d0c3f5 100644 --- a/GFramework.Core/state/StateMachine.cs +++ b/GFramework.Core/State/StateMachine.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.state; +using GFramework.Core.Abstractions.State; -namespace GFramework.Core.state; +namespace GFramework.Core.State; /// /// 状态机实现类,用于管理状态的注册、切换和生命周期 diff --git a/GFramework.Core/state/StateMachineSystem.cs b/GFramework.Core/State/StateMachineSystem.cs similarity index 91% rename from GFramework.Core/state/StateMachineSystem.cs rename to GFramework.Core/State/StateMachineSystem.cs index 6ce8a4c..58b5b79 100644 --- a/GFramework.Core/state/StateMachineSystem.cs +++ b/GFramework.Core/State/StateMachineSystem.cs @@ -1,11 +1,11 @@ -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.Abstractions.enums; -using GFramework.Core.Abstractions.lifecycle; -using GFramework.Core.Abstractions.rule; -using GFramework.Core.Abstractions.state; -using GFramework.Core.extensions; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Abstractions.Enums; +using GFramework.Core.Abstractions.Lifecycle; +using GFramework.Core.Abstractions.Rule; +using GFramework.Core.Abstractions.State; +using GFramework.Core.Extensions; -namespace GFramework.Core.state; +namespace GFramework.Core.State; /// /// 上下文感知状态机,继承自StateMachine并实现ISystem接口 diff --git a/GFramework.Core/system/AbstractSystem.cs b/GFramework.Core/Systems/AbstractSystem.cs similarity index 86% rename from GFramework.Core/system/AbstractSystem.cs rename to GFramework.Core/Systems/AbstractSystem.cs index 1efae50..2efa472 100644 --- a/GFramework.Core/system/AbstractSystem.cs +++ b/GFramework.Core/Systems/AbstractSystem.cs @@ -1,10 +1,10 @@ -using GFramework.Core.Abstractions.enums; -using GFramework.Core.Abstractions.logging; -using GFramework.Core.Abstractions.system; -using GFramework.Core.logging; -using GFramework.Core.rule; +using GFramework.Core.Abstractions.Enums; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Abstractions.Systems; +using GFramework.Core.Logging; +using GFramework.Core.Rule; -namespace GFramework.Core.system; +namespace GFramework.Core.Systems; /// /// 抽象系统基类,实现系统接口的基本功能 diff --git a/GFramework.Core/time/SystemTimeProvider.cs b/GFramework.Core/Time/SystemTimeProvider.cs similarity index 78% rename from GFramework.Core/time/SystemTimeProvider.cs rename to GFramework.Core/Time/SystemTimeProvider.cs index 17d37fa..45bd66a 100644 --- a/GFramework.Core/time/SystemTimeProvider.cs +++ b/GFramework.Core/Time/SystemTimeProvider.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.time; +using GFramework.Core.Abstractions.Time; -namespace GFramework.Core.time; +namespace GFramework.Core.Time; /// /// 系统时间提供者,返回真实的系统时间 diff --git a/GFramework.Core/utility/AbstractContextUtility.cs b/GFramework.Core/Utility/AbstractContextUtility.cs similarity index 88% rename from GFramework.Core/utility/AbstractContextUtility.cs rename to GFramework.Core/Utility/AbstractContextUtility.cs index 80697e1..3d45f75 100644 --- a/GFramework.Core/utility/AbstractContextUtility.cs +++ b/GFramework.Core/Utility/AbstractContextUtility.cs @@ -1,9 +1,9 @@ -using GFramework.Core.Abstractions.logging; -using GFramework.Core.Abstractions.utility; -using GFramework.Core.logging; -using GFramework.Core.rule; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Abstractions.Utility; +using GFramework.Core.Logging; +using GFramework.Core.Rule; -namespace GFramework.Core.utility; +namespace GFramework.Core.Utility; /// /// 抽象上下文工具类,提供上下文相关的通用功能实现 diff --git a/GFramework.Ecs.Arch.Abstractions/IArchEcsModule.cs b/GFramework.Ecs.Arch.Abstractions/IArchEcsModule.cs index 6dcc631..078572d 100644 --- a/GFramework.Ecs.Arch.Abstractions/IArchEcsModule.cs +++ b/GFramework.Ecs.Arch.Abstractions/IArchEcsModule.cs @@ -1,4 +1,4 @@ -using GFramework.Core.Abstractions.architecture; +using GFramework.Core.Abstractions.Architecture; namespace GFramework.Ecs.Arch.Abstractions; diff --git a/GFramework.Ecs.Arch.Abstractions/IArchSystemAdapter.cs b/GFramework.Ecs.Arch.Abstractions/IArchSystemAdapter.cs index 59c42d6..c2030a0 100644 --- a/GFramework.Ecs.Arch.Abstractions/IArchSystemAdapter.cs +++ b/GFramework.Ecs.Arch.Abstractions/IArchSystemAdapter.cs @@ -1,4 +1,4 @@ -using GFramework.Core.Abstractions.system; +using GFramework.Core.Abstractions.Systems; namespace GFramework.Ecs.Arch.Abstractions; diff --git a/GFramework.Ecs.Arch.Tests/ecs/EcsAdvancedTests.cs b/GFramework.Ecs.Arch.Tests/Ecs/EcsAdvancedTests.cs similarity index 96% rename from GFramework.Ecs.Arch.Tests/ecs/EcsAdvancedTests.cs rename to GFramework.Ecs.Arch.Tests/Ecs/EcsAdvancedTests.cs index 3ef8f07..5d9d808 100644 --- a/GFramework.Ecs.Arch.Tests/ecs/EcsAdvancedTests.cs +++ b/GFramework.Ecs.Arch.Tests/Ecs/EcsAdvancedTests.cs @@ -1,12 +1,12 @@ using System.Diagnostics.CodeAnalysis; using Arch.Core; -using GFramework.Core.Abstractions.rule; -using GFramework.Core.architecture; -using GFramework.Core.ioc; -using GFramework.Ecs.Arch.components; -using GFramework.Ecs.Arch.systems; +using GFramework.Core.Abstractions.Rule; +using GFramework.Core.Architectures; +using GFramework.Core.IoC; +using GFramework.Ecs.Arch.Components; +using GFramework.Ecs.Arch.Systems; -namespace GFramework.Ecs.Arch.Tests.ecs; +namespace GFramework.Ecs.Arch.Tests.ECS; /// /// ECS 高级功能测试类 - 使用 Arch 原生 API diff --git a/GFramework.Ecs.Arch.Tests/ecs/EcsBasicTests.cs b/GFramework.Ecs.Arch.Tests/Ecs/EcsBasicTests.cs similarity index 95% rename from GFramework.Ecs.Arch.Tests/ecs/EcsBasicTests.cs rename to GFramework.Ecs.Arch.Tests/Ecs/EcsBasicTests.cs index 896789a..e6681d0 100644 --- a/GFramework.Ecs.Arch.Tests/ecs/EcsBasicTests.cs +++ b/GFramework.Ecs.Arch.Tests/Ecs/EcsBasicTests.cs @@ -1,12 +1,12 @@ using System.Diagnostics.CodeAnalysis; using Arch.Core; -using GFramework.Core.Abstractions.rule; -using GFramework.Core.architecture; -using GFramework.Core.ioc; -using GFramework.Ecs.Arch.components; -using GFramework.Ecs.Arch.systems; +using GFramework.Core.Abstractions.Rule; +using GFramework.Core.Architectures; +using GFramework.Core.IoC; +using GFramework.Ecs.Arch.Components; +using GFramework.Ecs.Arch.Systems; -namespace GFramework.Ecs.Arch.Tests.ecs; +namespace GFramework.Ecs.Arch.Tests.ECS; /// /// ECS 基础功能测试类 - 使用 Arch 原生 API diff --git a/GFramework.Ecs.Arch.Tests/ecs/EcsIntegrationTests.cs b/GFramework.Ecs.Arch.Tests/Ecs/EcsIntegrationTests.cs similarity index 95% rename from GFramework.Ecs.Arch.Tests/ecs/EcsIntegrationTests.cs rename to GFramework.Ecs.Arch.Tests/Ecs/EcsIntegrationTests.cs index db9c290..79be58e 100644 --- a/GFramework.Ecs.Arch.Tests/ecs/EcsIntegrationTests.cs +++ b/GFramework.Ecs.Arch.Tests/Ecs/EcsIntegrationTests.cs @@ -1,12 +1,12 @@ using System.Diagnostics.CodeAnalysis; using Arch.Core; -using GFramework.Core.Abstractions.rule; -using GFramework.Core.architecture; -using GFramework.Core.ioc; -using GFramework.Ecs.Arch.components; -using GFramework.Ecs.Arch.systems; +using GFramework.Core.Abstractions.Rule; +using GFramework.Core.Architectures; +using GFramework.Core.IoC; +using GFramework.Ecs.Arch.Components; +using GFramework.Ecs.Arch.Systems; -namespace GFramework.Ecs.Arch.Tests.ecs; +namespace GFramework.Ecs.Arch.Tests.ECS; /// /// ECS 集成测试类 - 使用 Arch 原生 API diff --git a/GFramework.Ecs.Arch.Tests/GlobalUsings.cs b/GFramework.Ecs.Arch.Tests/GlobalUsings.cs index 170ef5b..891d01f 100644 --- a/GFramework.Ecs.Arch.Tests/GlobalUsings.cs +++ b/GFramework.Ecs.Arch.Tests/GlobalUsings.cs @@ -1,5 +1,4 @@ global using System; global using System.Collections.Generic; global using System.Threading.Tasks; -global using NUnit.Framework; -global using GFramework.Ecs.Arch; \ No newline at end of file +global using NUnit.Framework; \ No newline at end of file diff --git a/GFramework.Ecs.Arch.Tests/integration/ExplicitRegistrationTests.cs b/GFramework.Ecs.Arch.Tests/Integration/ExplicitRegistrationTests.cs similarity index 94% rename from GFramework.Ecs.Arch.Tests/integration/ExplicitRegistrationTests.cs rename to GFramework.Ecs.Arch.Tests/Integration/ExplicitRegistrationTests.cs index 515e5c9..5e13e51 100644 --- a/GFramework.Ecs.Arch.Tests/integration/ExplicitRegistrationTests.cs +++ b/GFramework.Ecs.Arch.Tests/Integration/ExplicitRegistrationTests.cs @@ -1,11 +1,11 @@ using Arch.Core; -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.architecture; -using GFramework.Core.ioc; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Architectures; +using GFramework.Core.IoC; using GFramework.Ecs.Arch.Abstractions; -using GFramework.Ecs.Arch.extensions; +using GFramework.Ecs.Arch.Extensions; -namespace GFramework.Ecs.Arch.Tests.integration; +namespace GFramework.Ecs.Arch.Tests.Integration; /// /// 显式注册集成测试 diff --git a/GFramework.Ecs.Arch/ArchEcsModule.cs b/GFramework.Ecs.Arch/ArchEcsModule.cs index 31ab8e9..642c930 100644 --- a/GFramework.Ecs.Arch/ArchEcsModule.cs +++ b/GFramework.Ecs.Arch/ArchEcsModule.cs @@ -1,5 +1,5 @@ using Arch.Core; -using GFramework.Core.Abstractions.ioc; +using GFramework.Core.Abstractions.IoC; namespace GFramework.Ecs.Arch; diff --git a/GFramework.Ecs.Arch/ArchSystemAdapter.cs b/GFramework.Ecs.Arch/ArchSystemAdapter.cs index 6f7e99f..91aff84 100644 --- a/GFramework.Ecs.Arch/ArchSystemAdapter.cs +++ b/GFramework.Ecs.Arch/ArchSystemAdapter.cs @@ -1,6 +1,6 @@ using Arch.Core; -using GFramework.Core.extensions; -using GFramework.Core.system; +using GFramework.Core.Extensions; +using GFramework.Core.Systems; using ArchSys = Arch.System; namespace GFramework.Ecs.Arch; diff --git a/GFramework.Ecs.Arch/components/Position.cs b/GFramework.Ecs.Arch/Components/Position.cs similarity index 92% rename from GFramework.Ecs.Arch/components/Position.cs rename to GFramework.Ecs.Arch/Components/Position.cs index fe625d0..744ae13 100644 --- a/GFramework.Ecs.Arch/components/Position.cs +++ b/GFramework.Ecs.Arch/Components/Position.cs @@ -1,6 +1,6 @@ using System.Runtime.InteropServices; -namespace GFramework.Ecs.Arch.components; +namespace GFramework.Ecs.Arch.Components; /// /// 位置组件,用于表示实体在二维空间中的坐标位置。 diff --git a/GFramework.Ecs.Arch/components/Velocity.cs b/GFramework.Ecs.Arch/Components/Velocity.cs similarity index 93% rename from GFramework.Ecs.Arch/components/Velocity.cs rename to GFramework.Ecs.Arch/Components/Velocity.cs index dab5eb6..9cf3847 100644 --- a/GFramework.Ecs.Arch/components/Velocity.cs +++ b/GFramework.Ecs.Arch/Components/Velocity.cs @@ -1,6 +1,6 @@ using System.Runtime.InteropServices; -namespace GFramework.Ecs.Arch.components; +namespace GFramework.Ecs.Arch.Components; /// /// 速度结构体,用于表示二维空间中实体的瞬时速度向量 diff --git a/GFramework.Ecs.Arch/extensions/ArchExtensions.cs b/GFramework.Ecs.Arch/Extensions/ArchExtensions.cs similarity index 90% rename from GFramework.Ecs.Arch/extensions/ArchExtensions.cs rename to GFramework.Ecs.Arch/Extensions/ArchExtensions.cs index dda51b1..9ac01f8 100644 --- a/GFramework.Ecs.Arch/extensions/ArchExtensions.cs +++ b/GFramework.Ecs.Arch/Extensions/ArchExtensions.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.architecture; +using GFramework.Core.Abstractions.Architecture; -namespace GFramework.Ecs.Arch.extensions; +namespace GFramework.Ecs.Arch.Extensions; /// /// Arch ECS 扩展方法 diff --git a/GFramework.Ecs.Arch/INTEGRATION_PATTERN.md b/GFramework.Ecs.Arch/INTEGRATION_PATTERN.md new file mode 100644 index 0000000..471634c --- /dev/null +++ b/GFramework.Ecs.Arch/INTEGRATION_PATTERN.md @@ -0,0 +1,177 @@ +# GFramework.Ecs.Arch - C# 标准集成方式 + +## 为什么不使用 ModuleInitializer? + +`ModuleInitializer` 在 C# 中主要用于: + +1. **应用程序代码** - 初始化应用程序级别的状态 +2. **高级源生成器** - 编译时代码生成 + +对于**库(Library)**来说,使用 `ModuleInitializer` 有以下问题: + +- ❌ 不符合 .NET 生态习惯 +- ❌ 缺乏显式控制 +- ❌ 难以测试和调试 +- ❌ 可能导致意外的副作用 +- ❌ 违反"显式优于隐式"原则 + +## C# 中的标准做法 + +### 1. 依赖注入扩展方法(推荐) + +这是 .NET 生态中最标准的做法,类似于: + +- ASP.NET Core: `services.AddMvc()` +- Entity Framework: `services.AddDbContext()` +- SignalR: `services.AddSignalR()` + +**优点:** + +- ✅ 符合 .NET 生态习惯 +- ✅ 显式、可控 +- ✅ 易于测试 +- ✅ 支持配置 +- ✅ 支持链式调用 + +### 2. 使用方式 + +#### 基本用法 + +```csharp +public class MyArchitecture : Architecture +{ + protected override void OnConfigure() + { + // 显式添加 Arch ECS 支持 + Services.AddArch(); + } +} +``` + +#### 带配置的用法 + +```csharp +public class MyArchitecture : Architecture +{ + protected override void OnConfigure() + { + Services.AddArch(options => + { + options.WorldCapacity = 2000; + options.EnableStatistics = true; + options.Priority = 50; + }); + } +} +``` + +#### 容器级别的用法 + +```csharp +var container = new MicrosoftDiContainer(); +container.AddArch(options => +{ + options.WorldCapacity = 1000; +}); +``` + +### 3. 对比其他方案 + +#### Spring Boot Starter(Java) + +```java +// Spring Boot 使用自动配置 +@SpringBootApplication +public class Application { + // 自动扫描并加载 starter +} +``` + +#### ASP.NET Core(C#) + +```csharp +// .NET 使用显式注册 +var builder = WebApplication.CreateBuilder(args); +builder.Services.AddControllers(); +builder.Services.AddSwagger(); +``` + +**C# 更倾向于显式注册**,因为: + +1. 更清晰的依赖关系 +2. 更好的 IDE 支持 +3. 更容易调试和测试 +4. 避免"魔法"行为 + +### 4. 其他常见模式 + +#### 4.1 Builder 模式 + +```csharp +var architecture = new ArchitectureBuilder() + .AddArch() + .AddLogging() + .Build(); +``` + +#### 4.2 Options 模式 + +```csharp +services.Configure(options => +{ + options.WorldCapacity = 2000; +}); +``` + +#### 4.3 静态工厂方法 + +```csharp +var module = ArchEcsModule.Create(options => +{ + options.WorldCapacity = 1000; +}); +``` + +## 迁移指南 + +### 从 ModuleInitializer 迁移 + +**之前(自动注册):** + +```csharp +// 只需引入包,自动注册 +// 无需任何代码 +``` + +**现在(显式注册):** + +```csharp +public class MyArchitecture : Architecture +{ + protected override void OnConfigure() +{ + Services.AddArch(); + } +} +``` + +### 优势 + +1. **更清晰** - 一眼就能看出使用了哪些模块 +2. **更可控** - 可以决定何时、如何注册 +3. **更灵活** - 可以传递配置参数 +4. **更标准** - 符合 .NET 生态习惯 + +## 总结 + +C# 生态更倾向于**显式优于隐式**的设计哲学,因此: + +- ✅ **推荐**:使用扩展方法 `AddArch()` +- ❌ **不推荐**:使用 `ModuleInitializer` + +这样的设计: + +1. 符合 .NET 生态习惯 +2. 提供更好的开发体验 +3. 更容易理解和维护 +4. 避免 CA2255 警告 diff --git a/GFramework.Ecs.Arch/MIGRATION_FROM_AUTO_TO_EXPLICIT.md b/GFramework.Ecs.Arch/MIGRATION_FROM_AUTO_TO_EXPLICIT.md new file mode 100644 index 0000000..0cb3843 --- /dev/null +++ b/GFramework.Ecs.Arch/MIGRATION_FROM_AUTO_TO_EXPLICIT.md @@ -0,0 +1,314 @@ +# GFramework.Ecs.Arch - 从自动注册到显式注册的迁移 + +## 变更原因 + +### 问题:CA2255 警告 + +``` +warning CA2255: The 'ModuleInitializer' attribute is only intended to be used +in application code or advanced source generator scenarios +``` + +### 为什么 ModuleInitializer 不适合库? + +在 C# 生态中,`ModuleInitializer` 主要用于: + +1. **应用程序代码** - 初始化应用程序级别的状态 +2. **高级源生成器** - 编译时代码生成 + +对于**库(Library)**来说,使用 `ModuleInitializer` 有以下问题: + +- ❌ 不符合 .NET 生态习惯 +- ❌ 缺乏显式控制 +- ❌ 难以测试和调试 +- ❌ 可能导致意外的副作用 +- ❌ 违反"显式优于隐式"原则 +- ❌ 触发 CA2255 警告 + +## C# 标准做法对比 + +### Spring Boot(Java)- 自动配置 + +```java +@SpringBootApplication +public class Application { + // 自动扫描并加载 starter +} +``` + +### ASP.NET Core(C#)- 显式注册 + +```csharp +var builder = WebApplication.CreateBuilder(args); +builder.Services.AddControllers(); // 显式注册 +builder.Services.AddSwagger(); // 显式注册 +``` + +**C# 更倾向于显式注册**,因为: + +1. ✅ 更清晰的依赖关系 +2. ✅ 更好的 IDE 支持 +3. ✅ 更容易调试和测试 +4. ✅ 避免"魔法"行为 + +## 变更内容 + +### 1. 移除 ModuleInitializer + +**之前:** + +```csharp +// ArchModuleInitializer.cs +[ModuleInitializer] +public static void Initialize() +{ + ArchitectureModuleRegistry.Register(() => new ArchEcsModule(enabled: true)); +} +``` + +**现在:** + +```csharp +// 文件已删除 +``` + +### 2. 新增扩展方法 + +**新增:** + +```csharp +// ArchExtensions.cs +public static class ArchExtensions +{ + /// + /// 添加 Arch ECS 支持到架构服务中 + /// + public static IArchitectureServices AddArch( + this IArchitectureServices services, + Action? configure = null) + { + var options = new ArchOptions(); + configure?.Invoke(options); + + ArchitectureModuleRegistry.Register(() => new ArchEcsModule(enabled: true)); + + return services; + } + + /// + /// 添加 Arch ECS 支持到 IoC 容器中 + /// + public static IIocContainer AddArch( + this IIocContainer container, + Action? configure = null) + { + var options = new ArchOptions(); + configure?.Invoke(options); + + ArchitectureModuleRegistry.Register(() => new ArchEcsModule(enabled: true)); + + return container; + } +} +``` + +### 3. 更新使用方式 + +#### 之前(自动注册) + +```csharp +// 只需引入包,自动注册 +// 无需任何代码 +``` + +#### 现在(显式注册) + +```csharp +public class MyArchitecture : Architecture +{ + protected override void OnConfigure() + { + // 显式注册 + Services.AddArch(); + } +} +``` + +#### 带配置 + +```csharp +public class MyArchitecture : Architecture +{ + protected override void OnConfigure() + { + Services.AddArch(options => + { + options.WorldCapacity = 2000; + options.EnableStatistics = true; + options.Priority = 50; + }); + } +} +``` + +### 4. 更新测试 + +**之前:** + +```csharp +[Test] +public void ArchEcsModule_Should_Be_Auto_Registered() +{ + // 手动触发模块初始化器 + ArchModuleInitializer.Initialize(); + + var services = new ArchitectureServices(); + services.ModuleManager.RegisterBuiltInModules(...); + // ... +} +``` + +**现在:** + +```csharp +[Test] +public void ArchEcsModule_Should_Be_Explicitly_Registered() +{ + var services = new ArchitectureServices(); + + // 显式注册 + services.AddArch(); + + services.ModuleManager.RegisterBuiltInModules(...); + // ... +} +``` + +## 优势对比 + +### 自动注册(ModuleInitializer) + +- ❌ 触发 CA2255 警告 +- ❌ 不符合 .NET 生态习惯 +- ❌ 缺乏显式控制 +- ❌ 难以测试 +- ❌ "魔法"行为 + +### 显式注册(扩展方法) + +- ✅ 无警告 +- ✅ 符合 .NET 生态习惯 +- ✅ 显式、可控 +- ✅ 易于测试 +- ✅ 支持配置 +- ✅ 支持链式调用 +- ✅ 更好的 IDE 支持 + +## 迁移指南 + +### 对于现有用户 + +如果你之前使用自动注册方式,需要进行以下更改: + +**步骤 1:更新包** + +```bash +dotnet update package GeWuYou.GFramework.Ecs.Arch +``` + +**步骤 2:添加显式注册** + +```csharp +public class MyArchitecture : Architecture +{ + protected override void OnConfigure() + { + // 添加这一行 + Services.AddArch(); + } +} +``` + +**步骤 3:(可选)添加配置** + +```csharp +Services.AddArch(options => +{ + options.WorldCapacity = 2000; + options.EnableStatistics = true; +}); +``` + +## 验证结果 + +### 构建验证 ✅ + +```bash +dotnet build GFramework.sln +# Build succeeded. 39 Warning(s), 0 Error(s) +# 无 CA2255 警告 +``` + +### 测试验证 ✅ + +```bash +dotnet test --filter "ExplicitRegistrationTests" +# Pas 4, Failed: 0, Total: 4 +``` + +**测试用例:** + +1. ✅ `ArchEcsModule_Should_Be_Explicitly_Registered` - 验证显式注册 +2. ✅ `World_Should_Be_Registered_In_Container` - 验证 World 注册 +3. ✅ `AddArch_Should_Accept_Configuration` - 验证配置支持 +4. ✅ `Container_AddArch_Should_Work` - 验证容器级别注册 + +## 参考资料 + +### .NET 生态中的类似实现 + +1. **ASP.NET Core** + ```csharp + services.AddMvc(); + services.AddControllers(); + ``` + +2. **Entity Framework Core** + ```csharp + services.AddDbContext(); + ``` + +3. **SignalR** + ```csharp + services.AddSignalR(); + ``` + +4. **Swagger** + ```csharp + services.AddSwaggerGen(); + ``` + +### 相关文档 + +-N_PATTERN.md](INTEGRATION_PATTERN.md) - 集成模式详解 + +- [README.md](README.md) - 使用指南 +- [CA2255 规则说明](https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2255) + +## 总结 + +通过从 `ModuleInitializer` 迁移到显式注册扩展方法: + +1. ✅ **消除警告** - 不再触发 CA2255 +2. ✅ **符合习惯** - 遵循 .NET 生态标准 +3. ✅ **更好控制** - 显式、可配置 +4. ✅ **易于测试** - 清晰的测试边界 +5. ✅ **更好体验** - IDE 支持、链式调用 + +这是一个**破坏性变更**,但带来了更好的开发体验和更符合 .NET 生态的设计。 + +--- + +**变更日期:** 2026-03-08 +**影响范围:** 所有使用 GFramework.Ecs.Arch 的项目 +**迁移难度:** 低(只需添加一行代码) diff --git a/GFramework.Ecs.Arch/systems/MovementSystem.cs b/GFramework.Ecs.Arch/Systems/MovementSystem.cs similarity index 92% rename from GFramework.Ecs.Arch/systems/MovementSystem.cs rename to GFramework.Ecs.Arch/Systems/MovementSystem.cs index 3f3b923..73b589c 100644 --- a/GFramework.Ecs.Arch/systems/MovementSystem.cs +++ b/GFramework.Ecs.Arch/Systems/MovementSystem.cs @@ -1,7 +1,7 @@ using Arch.Core; -using GFramework.Ecs.Arch.components; +using GFramework.Ecs.Arch.Components; -namespace GFramework.Ecs.Arch.systems; +namespace GFramework.Ecs.Arch.Systems; /// /// 移动系统 - 继承 ArchSystemAdapter diff --git a/GFramework.Game.Abstractions/asset/IAssetRegistry.cs b/GFramework.Game.Abstractions/Asset/IAssetRegistry.cs similarity index 62% rename from GFramework.Game.Abstractions/asset/IAssetRegistry.cs rename to GFramework.Game.Abstractions/Asset/IAssetRegistry.cs index 1c35089..57bf55f 100644 --- a/GFramework.Game.Abstractions/asset/IAssetRegistry.cs +++ b/GFramework.Game.Abstractions/Asset/IAssetRegistry.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.registries; -using GFramework.Core.Abstractions.utility; +using GFramework.Core.Abstractions.Registries; +using GFramework.Core.Abstractions.Utility; -namespace GFramework.Game.Abstractions.asset; +namespace GFramework.Game.Abstractions.Asset; /// /// 资源注册表接口,用于管理指定类型T的资源注册和查找 diff --git a/GFramework.Game.Abstractions/data/DataRepositoryOptions.cs b/GFramework.Game.Abstractions/Data/DataRepositoryOptions.cs similarity index 96% rename from GFramework.Game.Abstractions/data/DataRepositoryOptions.cs rename to GFramework.Game.Abstractions/Data/DataRepositoryOptions.cs index 8ba1944..e077465 100644 --- a/GFramework.Game.Abstractions/data/DataRepositoryOptions.cs +++ b/GFramework.Game.Abstractions/Data/DataRepositoryOptions.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Game.Abstractions.data; +namespace GFramework.Game.Abstractions.Data; /// /// 数据仓库配置选项 diff --git a/GFramework.Game.Abstractions/data/events/DataBatchSavedEvent.cs b/GFramework.Game.Abstractions/Data/Events/DataBatchSavedEvent.cs similarity index 94% rename from GFramework.Game.Abstractions/data/events/DataBatchSavedEvent.cs rename to GFramework.Game.Abstractions/Data/Events/DataBatchSavedEvent.cs index a0c00f1..c414810 100644 --- a/GFramework.Game.Abstractions/data/events/DataBatchSavedEvent.cs +++ b/GFramework.Game.Abstractions/Data/Events/DataBatchSavedEvent.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Game.Abstractions.data.events; +namespace GFramework.Game.Abstractions.Data.Events; /// /// 表示数据批次保存事件的记录类型 diff --git a/GFramework.Game.Abstractions/data/events/DataDeletedEvent.cs b/GFramework.Game.Abstractions/Data/Events/DataDeletedEvent.cs similarity index 94% rename from GFramework.Game.Abstractions/data/events/DataDeletedEvent.cs rename to GFramework.Game.Abstractions/Data/Events/DataDeletedEvent.cs index 1bb9cd5..6f4870c 100644 --- a/GFramework.Game.Abstractions/data/events/DataDeletedEvent.cs +++ b/GFramework.Game.Abstractions/Data/Events/DataDeletedEvent.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Game.Abstractions.data.events; +namespace GFramework.Game.Abstractions.Data.Events; /// /// 表示数据删除事件的记录类型 diff --git a/GFramework.Game.Abstractions/data/events/DataLoadedEvent.cs b/GFramework.Game.Abstractions/Data/Events/DataLoadedEvent.cs similarity index 94% rename from GFramework.Game.Abstractions/data/events/DataLoadedEvent.cs rename to GFramework.Game.Abstractions/Data/Events/DataLoadedEvent.cs index bbe04da..6e201fd 100644 --- a/GFramework.Game.Abstractions/data/events/DataLoadedEvent.cs +++ b/GFramework.Game.Abstractions/Data/Events/DataLoadedEvent.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Game.Abstractions.data.events; +namespace GFramework.Game.Abstractions.Data.Events; /// /// 表示数据加载完成事件的泛型类 diff --git a/GFramework.Game.Abstractions/data/events/DataSavedEvent.cs b/GFramework.Game.Abstractions/Data/Events/DataSavedEvent.cs similarity index 94% rename from GFramework.Game.Abstractions/data/events/DataSavedEvent.cs rename to GFramework.Game.Abstractions/Data/Events/DataSavedEvent.cs index a0b8fce..d0da2cc 100644 --- a/GFramework.Game.Abstractions/data/events/DataSavedEvent.cs +++ b/GFramework.Game.Abstractions/Data/Events/DataSavedEvent.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Game.Abstractions.data.events; +namespace GFramework.Game.Abstractions.Data.Events; /// /// 表示数据保存事件的记录类型 diff --git a/GFramework.Game.Abstractions/data/IData.cs b/GFramework.Game.Abstractions/Data/IData.cs similarity index 93% rename from GFramework.Game.Abstractions/data/IData.cs rename to GFramework.Game.Abstractions/Data/IData.cs index 09f793c..3902716 100644 --- a/GFramework.Game.Abstractions/data/IData.cs +++ b/GFramework.Game.Abstractions/Data/IData.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Game.Abstractions.data; +namespace GFramework.Game.Abstractions.Data; /// /// 通用数据标记接口 diff --git a/GFramework.Game.Abstractions/data/IDataLocation.cs b/GFramework.Game.Abstractions/Data/IDataLocation.cs similarity index 93% rename from GFramework.Game.Abstractions/data/IDataLocation.cs rename to GFramework.Game.Abstractions/Data/IDataLocation.cs index fd3f673..82ac91d 100644 --- a/GFramework.Game.Abstractions/data/IDataLocation.cs +++ b/GFramework.Game.Abstractions/Data/IDataLocation.cs @@ -11,9 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Game.Abstractions.enums; +using GFramework.Game.Abstractions.Enums; -namespace GFramework.Game.Abstractions.data; +namespace GFramework.Game.Abstractions.Data; /// /// 数据位置接口,定义了数据存储的位置信息和相关属性 diff --git a/GFramework.Game.Abstractions/data/IDataLocationProvider.cs b/GFramework.Game.Abstractions/Data/IDataLocationProvider.cs similarity index 92% rename from GFramework.Game.Abstractions/data/IDataLocationProvider.cs rename to GFramework.Game.Abstractions/Data/IDataLocationProvider.cs index 832ac02..fc5fc04 100644 --- a/GFramework.Game.Abstractions/data/IDataLocationProvider.cs +++ b/GFramework.Game.Abstractions/Data/IDataLocationProvider.cs @@ -11,9 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.Abstractions.utility; +using GFramework.Core.Abstractions.Utility; -namespace GFramework.Game.Abstractions.data; +namespace GFramework.Game.Abstractions.Data; /// /// 定义数据位置提供者的接口,用于获取指定类型的数据位置信息 diff --git a/GFramework.Game.Abstractions/data/IDataRepository.cs b/GFramework.Game.Abstractions/Data/IDataRepository.cs similarity index 96% rename from GFramework.Game.Abstractions/data/IDataRepository.cs rename to GFramework.Game.Abstractions/Data/IDataRepository.cs index 6ecda05..73753de 100644 --- a/GFramework.Game.Abstractions/data/IDataRepository.cs +++ b/GFramework.Game.Abstractions/Data/IDataRepository.cs @@ -11,9 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.Abstractions.utility; +using GFramework.Core.Abstractions.Utility; -namespace GFramework.Game.Abstractions.data; +namespace GFramework.Game.Abstractions.Data; /// /// 定义数据仓库接口,提供异步的数据加载、保存、检查存在性和删除操作 diff --git a/GFramework.Game.Abstractions/data/IRepository.cs b/GFramework.Game.Abstractions/Data/IRepository.cs similarity index 96% rename from GFramework.Game.Abstractions/data/IRepository.cs rename to GFramework.Game.Abstractions/Data/IRepository.cs index 1aae810..4f5b029 100644 --- a/GFramework.Game.Abstractions/data/IRepository.cs +++ b/GFramework.Game.Abstractions/Data/IRepository.cs @@ -11,9 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.Abstractions.utility; +using GFramework.Core.Abstractions.Utility; -namespace GFramework.Game.Abstractions.data; +namespace GFramework.Game.Abstractions.Data; /// /// 定义数据仓储接口,提供键值对数据的基本操作功能 diff --git a/GFramework.Game.Abstractions/data/ISaveRepository.cs b/GFramework.Game.Abstractions/Data/ISaveRepository.cs similarity index 95% rename from GFramework.Game.Abstractions/data/ISaveRepository.cs rename to GFramework.Game.Abstractions/Data/ISaveRepository.cs index bcca839..52e160a 100644 --- a/GFramework.Game.Abstractions/data/ISaveRepository.cs +++ b/GFramework.Game.Abstractions/Data/ISaveRepository.cs @@ -11,9 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.Abstractions.utility; +using GFramework.Core.Abstractions.Utility; -namespace GFramework.Game.Abstractions.data; +namespace GFramework.Game.Abstractions.Data; /// /// 存档仓库接口,管理基于槽位的存档系统 diff --git a/GFramework.Game.Abstractions/data/ISettingsDataRepository.cs b/GFramework.Game.Abstractions/Data/ISettingsDataRepository.cs similarity index 97% rename from GFramework.Game.Abstractions/data/ISettingsDataRepository.cs rename to GFramework.Game.Abstractions/Data/ISettingsDataRepository.cs index ad7a629..aca1712 100644 --- a/GFramework.Game.Abstractions/data/ISettingsDataRepository.cs +++ b/GFramework.Game.Abstractions/Data/ISettingsDataRepository.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Game.Abstractions.data; +namespace GFramework.Game.Abstractions.Data; /// /// 定义设置数据仓库接口,用于管理应用程序设置数据的存储和检索 diff --git a/GFramework.Game.Abstractions/data/IVersionedData.cs b/GFramework.Game.Abstractions/Data/IVersionedData.cs similarity index 96% rename from GFramework.Game.Abstractions/data/IVersionedData.cs rename to GFramework.Game.Abstractions/Data/IVersionedData.cs index c4c28dd..40a60ed 100644 --- a/GFramework.Game.Abstractions/data/IVersionedData.cs +++ b/GFramework.Game.Abstractions/Data/IVersionedData.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Game.Abstractions.data; +namespace GFramework.Game.Abstractions.Data; /// /// 版本化数据接口,继承自IData接口 diff --git a/GFramework.Game.Abstractions/enums/SceneTransitionPhases.cs b/GFramework.Game.Abstractions/Enums/SceneTransitionPhases.cs similarity index 97% rename from GFramework.Game.Abstractions/enums/SceneTransitionPhases.cs rename to GFramework.Game.Abstractions/Enums/SceneTransitionPhases.cs index cfaf962..987d111 100644 --- a/GFramework.Game.Abstractions/enums/SceneTransitionPhases.cs +++ b/GFramework.Game.Abstractions/Enums/SceneTransitionPhases.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Game.Abstractions.enums; +namespace GFramework.Game.Abstractions.Enums; /// /// 场景过渡阶段枚举,定义了场景切换过程中的不同执行阶段。 diff --git a/GFramework.Game.Abstractions/enums/SceneTransitionType.cs b/GFramework.Game.Abstractions/Enums/SceneTransitionType.cs similarity index 96% rename from GFramework.Game.Abstractions/enums/SceneTransitionType.cs rename to GFramework.Game.Abstractions/Enums/SceneTransitionType.cs index edd8599..a814458 100644 --- a/GFramework.Game.Abstractions/enums/SceneTransitionType.cs +++ b/GFramework.Game.Abstractions/Enums/SceneTransitionType.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Game.Abstractions.enums; +namespace GFramework.Game.Abstractions.Enums; /// /// 场景过渡类型枚举,定义了场景切换的不同操作模式。 diff --git a/GFramework.Game.Abstractions/enums/StorageKinds.cs b/GFramework.Game.Abstractions/Enums/StorageKinds.cs similarity index 96% rename from GFramework.Game.Abstractions/enums/StorageKinds.cs rename to GFramework.Game.Abstractions/Enums/StorageKinds.cs index 2eeadbb..b918e95 100644 --- a/GFramework.Game.Abstractions/enums/StorageKinds.cs +++ b/GFramework.Game.Abstractions/Enums/StorageKinds.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Game.Abstractions.enums; +namespace GFramework.Game.Abstractions.Enums; /// /// 存储类型枚举,用于标识不同的存储方式 diff --git a/GFramework.Game.Abstractions/enums/UITransitionPhases.cs b/GFramework.Game.Abstractions/Enums/UITransitionPhases.cs similarity index 96% rename from GFramework.Game.Abstractions/enums/UITransitionPhases.cs rename to GFramework.Game.Abstractions/Enums/UITransitionPhases.cs index 3d2ff6e..ebde245 100644 --- a/GFramework.Game.Abstractions/enums/UITransitionPhases.cs +++ b/GFramework.Game.Abstractions/Enums/UITransitionPhases.cs @@ -1,4 +1,4 @@ -namespace GFramework.Game.Abstractions.enums; +namespace GFramework.Game.Abstractions.Enums; /// /// UI切换阶段枚举,定义UI切换过程中的不同阶段 diff --git a/GFramework.Game.Abstractions/enums/UiLayer.cs b/GFramework.Game.Abstractions/Enums/UiLayer.cs similarity index 96% rename from GFramework.Game.Abstractions/enums/UiLayer.cs rename to GFramework.Game.Abstractions/Enums/UiLayer.cs index c17290a..be9e20d 100644 --- a/GFramework.Game.Abstractions/enums/UiLayer.cs +++ b/GFramework.Game.Abstractions/Enums/UiLayer.cs @@ -1,4 +1,4 @@ -namespace GFramework.Game.Abstractions.enums; +namespace GFramework.Game.Abstractions.Enums; /// /// UI层级枚举,定义UI界面的显示层级 diff --git a/GFramework.Game.Abstractions/enums/UiTransitionPolicy.cs b/GFramework.Game.Abstractions/Enums/UiTransitionPolicy.cs similarity index 88% rename from GFramework.Game.Abstractions/enums/UiTransitionPolicy.cs rename to GFramework.Game.Abstractions/Enums/UiTransitionPolicy.cs index cf76e69..19e92e8 100644 --- a/GFramework.Game.Abstractions/enums/UiTransitionPolicy.cs +++ b/GFramework.Game.Abstractions/Enums/UiTransitionPolicy.cs @@ -1,4 +1,4 @@ -namespace GFramework.Game.Abstractions.enums; +namespace GFramework.Game.Abstractions.Enums; /// /// UI页面过渡策略枚举 diff --git a/GFramework.Game.Abstractions/enums/UiTransitionType.cs b/GFramework.Game.Abstractions/Enums/UiTransitionType.cs similarity index 90% rename from GFramework.Game.Abstractions/enums/UiTransitionType.cs rename to GFramework.Game.Abstractions/Enums/UiTransitionType.cs index 7f5c6af..103e60f 100644 --- a/GFramework.Game.Abstractions/enums/UiTransitionType.cs +++ b/GFramework.Game.Abstractions/Enums/UiTransitionType.cs @@ -1,4 +1,4 @@ -namespace GFramework.Game.Abstractions.enums; +namespace GFramework.Game.Abstractions.Enums; /// /// UI切换类型枚举,定义不同的UI切换操作类型 diff --git a/GFramework.Core.Abstractions/internals/IsExternalInit.cs b/GFramework.Game.Abstractions/Internals/IsExternalInit.cs similarity index 97% rename from GFramework.Core.Abstractions/internals/IsExternalInit.cs rename to GFramework.Game.Abstractions/Internals/IsExternalInit.cs index 880389a..be0cd50 100644 --- a/GFramework.Core.Abstractions/internals/IsExternalInit.cs +++ b/GFramework.Game.Abstractions/Internals/IsExternalInit.cs @@ -1,18 +1,18 @@ -// IsExternalInit.cs -// This type is required to support init-only setters and record types -// when targeting netstandard2.0 or older frameworks. - -#if !NET5_0_OR_GREATER -using System.ComponentModel; - -namespace System.Runtime.CompilerServices; - -/// -/// 提供一个占位符类型,用于支持 C# 9.0 的 init 访问器功能。 -/// 该类型在 .NET 5.0 及更高版本中已内置,因此仅在较低版本的 .NET 中定义。 -/// -[EditorBrowsable(EditorBrowsableState.Never)] -internal static class IsExternalInit -{ -} +// IsExternalInit.cs +// This type is required to support init-only setters and record types +// when targeting netstandard2.0 or older frameworks. + +#if !NET5_0_OR_GREATER +using System.ComponentModel; + +namespace System.Runtime.CompilerServices; + +/// +/// 提供一个占位符类型,用于支持 C# 9.0 的 init 访问器功能。 +/// 该类型在 .NET 5.0 及更高版本中已内置,因此仅在较低版本的 .NET 中定义。 +/// +[EditorBrowsable(EditorBrowsableState.Never)] +internal static class IsExternalInit +{ +} #endif \ No newline at end of file diff --git a/GFramework.Game.Abstractions/scene/IGameSceneRegistry.cs b/GFramework.Game.Abstractions/Scene/IGameSceneRegistry.cs similarity index 74% rename from GFramework.Game.Abstractions/scene/IGameSceneRegistry.cs rename to GFramework.Game.Abstractions/Scene/IGameSceneRegistry.cs index ed596c7..5a85e5b 100644 --- a/GFramework.Game.Abstractions/scene/IGameSceneRegistry.cs +++ b/GFramework.Game.Abstractions/Scene/IGameSceneRegistry.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.registries; +using GFramework.Core.Abstractions.Registries; -namespace GFramework.Game.Abstractions.scene; +namespace GFramework.Game.Abstractions.Scene; /// /// 游戏场景注册表接口,用于管理游戏场景的注册和查找 diff --git a/GFramework.Game.Abstractions/scene/IScene.cs b/GFramework.Game.Abstractions/Scene/IScene.cs similarity index 98% rename from GFramework.Game.Abstractions/scene/IScene.cs rename to GFramework.Game.Abstractions/Scene/IScene.cs index 887a403..8627f6d 100644 --- a/GFramework.Game.Abstractions/scene/IScene.cs +++ b/GFramework.Game.Abstractions/Scene/IScene.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Game.Abstractions.scene; +namespace GFramework.Game.Abstractions.Scene; /// /// 场景接口,定义了场景生命周期管理的核心方法。 diff --git a/GFramework.Game.Abstractions/scene/ISceneAroundTransitionHandler.cs b/GFramework.Game.Abstractions/Scene/ISceneAroundTransitionHandler.cs similarity index 97% rename from GFramework.Game.Abstractions/scene/ISceneAroundTransitionHandler.cs rename to GFramework.Game.Abstractions/Scene/ISceneAroundTransitionHandler.cs index e73d7c7..e208781 100644 --- a/GFramework.Game.Abstractions/scene/ISceneAroundTransitionHandler.cs +++ b/GFramework.Game.Abstractions/Scene/ISceneAroundTransitionHandler.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Game.Abstractions.scene; +namespace GFramework.Game.Abstractions.Scene; /// /// 场景切换中间件处理器接口,支持包裹整个变更过程的逻辑。 diff --git a/GFramework.Game.Abstractions/scene/ISceneBehavior.cs b/GFramework.Game.Abstractions/Scene/ISceneBehavior.cs similarity index 98% rename from GFramework.Game.Abstractions/scene/ISceneBehavior.cs rename to GFramework.Game.Abstractions/Scene/ISceneBehavior.cs index bd3f30b..4a817e9 100644 --- a/GFramework.Game.Abstractions/scene/ISceneBehavior.cs +++ b/GFramework.Game.Abstractions/Scene/ISceneBehavior.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Game.Abstractions.scene; +namespace GFramework.Game.Abstractions.Scene; /// /// 场景行为接口,定义了场景生命周期管理的标准方法。 diff --git a/GFramework.Game.Abstractions/scene/ISceneBehaviorProvider.cs b/GFramework.Game.Abstractions/Scene/ISceneBehaviorProvider.cs similarity index 95% rename from GFramework.Game.Abstractions/scene/ISceneBehaviorProvider.cs rename to GFramework.Game.Abstractions/Scene/ISceneBehaviorProvider.cs index 121e11d..c6c76a3 100644 --- a/GFramework.Game.Abstractions/scene/ISceneBehaviorProvider.cs +++ b/GFramework.Game.Abstractions/Scene/ISceneBehaviorProvider.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Game.Abstractions.scene; +namespace GFramework.Game.Abstractions.Scene; /// /// 场景行为提供者接口,用于获取场景行为实例。 diff --git a/GFramework.Game.Abstractions/scene/ISceneEnterParam.cs b/GFramework.Game.Abstractions/Scene/ISceneEnterParam.cs similarity index 94% rename from GFramework.Game.Abstractions/scene/ISceneEnterParam.cs rename to GFramework.Game.Abstractions/Scene/ISceneEnterParam.cs index 901facf..d5b807c 100644 --- a/GFramework.Game.Abstractions/scene/ISceneEnterParam.cs +++ b/GFramework.Game.Abstractions/Scene/ISceneEnterParam.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Game.Abstractions.scene; +namespace GFramework.Game.Abstractions.Scene; /// /// 场景进入参数接口 diff --git a/GFramework.Game.Abstractions/scene/ISceneFactory.cs b/GFramework.Game.Abstractions/Scene/ISceneFactory.cs similarity index 92% rename from GFramework.Game.Abstractions/scene/ISceneFactory.cs rename to GFramework.Game.Abstractions/Scene/ISceneFactory.cs index 07300da..0212cd1 100644 --- a/GFramework.Game.Abstractions/scene/ISceneFactory.cs +++ b/GFramework.Game.Abstractions/Scene/ISceneFactory.cs @@ -11,9 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.Abstractions.utility; +using GFramework.Core.Abstractions.Utility; -namespace GFramework.Game.Abstractions.scene; +namespace GFramework.Game.Abstractions.Scene; /// /// 场景工厂接口,继承自上下文工具接口。 diff --git a/GFramework.Game.Abstractions/scene/ISceneLoadingProgress.cs b/GFramework.Game.Abstractions/Scene/ISceneLoadingProgress.cs similarity index 97% rename from GFramework.Game.Abstractions/scene/ISceneLoadingProgress.cs rename to GFramework.Game.Abstractions/Scene/ISceneLoadingProgress.cs index 153325e..2aba240 100644 --- a/GFramework.Game.Abstractions/scene/ISceneLoadingProgress.cs +++ b/GFramework.Game.Abstractions/Scene/ISceneLoadingProgress.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Game.Abstractions.scene; +namespace GFramework.Game.Abstractions.Scene; /// /// 场景加载进度接口,用于跟踪和报告场景资源的加载状态。 diff --git a/GFramework.Game.Abstractions/scene/ISceneRoot.cs b/GFramework.Game.Abstractions/Scene/ISceneRoot.cs similarity index 96% rename from GFramework.Game.Abstractions/scene/ISceneRoot.cs rename to GFramework.Game.Abstractions/Scene/ISceneRoot.cs index 2cfd1d8..bda1fca 100644 --- a/GFramework.Game.Abstractions/scene/ISceneRoot.cs +++ b/GFramework.Game.Abstractions/Scene/ISceneRoot.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Game.Abstractions.scene; +namespace GFramework.Game.Abstractions.Scene; /// /// 场景根接口,定义了场景树容器的基本操作。 diff --git a/GFramework.Game.Abstractions/scene/ISceneRouteGuard.cs b/GFramework.Game.Abstractions/Scene/ISceneRouteGuard.cs similarity index 97% rename from GFramework.Game.Abstractions/scene/ISceneRouteGuard.cs rename to GFramework.Game.Abstractions/Scene/ISceneRouteGuard.cs index 07ed138..5aca883 100644 --- a/GFramework.Game.Abstractions/scene/ISceneRouteGuard.cs +++ b/GFramework.Game.Abstractions/Scene/ISceneRouteGuard.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Game.Abstractions.scene; +namespace GFramework.Game.Abstractions.Scene; /// /// 场景路由守卫接口,用于在场景切换前进行权限检查和条件验证。 diff --git a/GFramework.Game.Abstractions/scene/ISceneRouter.cs b/GFramework.Game.Abstractions/Scene/ISceneRouter.cs similarity index 97% rename from GFramework.Game.Abstractions/scene/ISceneRouter.cs rename to GFramework.Game.Abstractions/Scene/ISceneRouter.cs index c71f6ba..4bb9049 100644 --- a/GFramework.Game.Abstractions/scene/ISceneRouter.cs +++ b/GFramework.Game.Abstractions/Scene/ISceneRouter.cs @@ -11,9 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.Abstractions.system; +using GFramework.Core.Abstractions.Systems; -namespace GFramework.Game.Abstractions.scene; +namespace GFramework.Game.Abstractions.Scene; /// /// 场景路由接口,继承自系统接口。 diff --git a/GFramework.Game.Abstractions/scene/ISceneTransitionHandler.cs b/GFramework.Game.Abstractions/Scene/ISceneTransitionHandler.cs similarity index 95% rename from GFramework.Game.Abstractions/scene/ISceneTransitionHandler.cs rename to GFramework.Game.Abstractions/Scene/ISceneTransitionHandler.cs index b1d31c7..5dca851 100644 --- a/GFramework.Game.Abstractions/scene/ISceneTransitionHandler.cs +++ b/GFramework.Game.Abstractions/Scene/ISceneTransitionHandler.cs @@ -11,9 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Game.Abstractions.enums; +using GFramework.Game.Abstractions.Enums; -namespace GFramework.Game.Abstractions.scene; +namespace GFramework.Game.Abstractions.Scene; /// /// 场景过渡处理器接口,定义了场景切换过程中的扩展点。 diff --git a/GFramework.Game.Abstractions/scene/SceneTransitionEvent.cs b/GFramework.Game.Abstractions/Scene/SceneTransitionEvent.cs similarity index 97% rename from GFramework.Game.Abstractions/scene/SceneTransitionEvent.cs rename to GFramework.Game.Abstractions/Scene/SceneTransitionEvent.cs index 00b6517..959d263 100644 --- a/GFramework.Game.Abstractions/scene/SceneTransitionEvent.cs +++ b/GFramework.Game.Abstractions/Scene/SceneTransitionEvent.cs @@ -11,9 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Game.Abstractions.enums; +using GFramework.Game.Abstractions.Enums; -namespace GFramework.Game.Abstractions.scene; +namespace GFramework.Game.Abstractions.Scene; /// /// 场景过渡事件,封装了场景切换过程中的上下文信息。 diff --git a/GFramework.Game.Abstractions/scene/SceneTransitionHandlerOptions.cs b/GFramework.Game.Abstractions/Scene/SceneTransitionHandlerOptions.cs similarity index 96% rename from GFramework.Game.Abstractions/scene/SceneTransitionHandlerOptions.cs rename to GFramework.Game.Abstractions/Scene/SceneTransitionHandlerOptions.cs index d6c6fdd..3a4fcec 100644 --- a/GFramework.Game.Abstractions/scene/SceneTransitionHandlerOptions.cs +++ b/GFramework.Game.Abstractions/Scene/SceneTransitionHandlerOptions.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Game.Abstractions.scene; +namespace GFramework.Game.Abstractions.Scene; /// /// 场景过渡处理器选项,定义了处理器执行时的配置参数。 diff --git a/GFramework.Game.Abstractions/setting/data/AudioSettings.cs b/GFramework.Game.Abstractions/Setting/Data/AudioSettings.cs similarity index 97% rename from GFramework.Game.Abstractions/setting/data/AudioSettings.cs rename to GFramework.Game.Abstractions/Setting/Data/AudioSettings.cs index 15b75fe..4b5b30b 100644 --- a/GFramework.Game.Abstractions/setting/data/AudioSettings.cs +++ b/GFramework.Game.Abstractions/Setting/Data/AudioSettings.cs @@ -1,4 +1,4 @@ -namespace GFramework.Game.Abstractions.setting.data; +namespace GFramework.Game.Abstractions.Setting.Data; /// /// 音频设置类,用于管理游戏中的音频配置 diff --git a/GFramework.Game.Abstractions/setting/data/GraphicsSettings.cs b/GFramework.Game.Abstractions/Setting/Data/GraphicsSettings.cs similarity index 96% rename from GFramework.Game.Abstractions/setting/data/GraphicsSettings.cs rename to GFramework.Game.Abstractions/Setting/Data/GraphicsSettings.cs index 63213a1..699c6e1 100644 --- a/GFramework.Game.Abstractions/setting/data/GraphicsSettings.cs +++ b/GFramework.Game.Abstractions/Setting/Data/GraphicsSettings.cs @@ -1,4 +1,4 @@ -namespace GFramework.Game.Abstractions.setting.data; +namespace GFramework.Game.Abstractions.Setting.Data; /// /// 图形设置类,用于管理游戏的图形相关配置 diff --git a/GFramework.Game.Abstractions/setting/data/LocalizationSettings.cs b/GFramework.Game.Abstractions/Setting/Data/LocalizationSettings.cs similarity index 97% rename from GFramework.Game.Abstractions/setting/data/LocalizationSettings.cs rename to GFramework.Game.Abstractions/Setting/Data/LocalizationSettings.cs index 72fe044..c339536 100644 --- a/GFramework.Game.Abstractions/setting/data/LocalizationSettings.cs +++ b/GFramework.Game.Abstractions/Setting/Data/LocalizationSettings.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Game.Abstractions.setting.data; +namespace GFramework.Game.Abstractions.Setting.Data; /// /// 本地化设置类,用于管理游戏的语言本地化配置 diff --git a/GFramework.Game.Abstractions/setting/IApplyAbleSettings.cs b/GFramework.Game.Abstractions/Setting/IApplyAbleSettings.cs similarity index 83% rename from GFramework.Game.Abstractions/setting/IApplyAbleSettings.cs rename to GFramework.Game.Abstractions/Setting/IApplyAbleSettings.cs index c9fc2b1..bf0d43f 100644 --- a/GFramework.Game.Abstractions/setting/IApplyAbleSettings.cs +++ b/GFramework.Game.Abstractions/Setting/IApplyAbleSettings.cs @@ -1,4 +1,4 @@ -namespace GFramework.Game.Abstractions.setting; +namespace GFramework.Game.Abstractions.Setting; /// /// 定义可应用设置的接口,继承自ISettingsSection diff --git a/GFramework.Game.Abstractions/setting/IResetApplyAbleSettings.cs b/GFramework.Game.Abstractions/Setting/IResetApplyAbleSettings.cs similarity index 96% rename from GFramework.Game.Abstractions/setting/IResetApplyAbleSettings.cs rename to GFramework.Game.Abstractions/Setting/IResetApplyAbleSettings.cs index 062ad08..523e1f8 100644 --- a/GFramework.Game.Abstractions/setting/IResetApplyAbleSettings.cs +++ b/GFramework.Game.Abstractions/Setting/IResetApplyAbleSettings.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Game.Abstractions.setting; +namespace GFramework.Game.Abstractions.Setting; /// /// 定义一个可重置且可应用设置的接口 diff --git a/GFramework.Game.Abstractions/setting/IResettable.cs b/GFramework.Game.Abstractions/Setting/IResettable.cs similarity index 85% rename from GFramework.Game.Abstractions/setting/IResettable.cs rename to GFramework.Game.Abstractions/Setting/IResettable.cs index f00e254..ba076e6 100644 --- a/GFramework.Game.Abstractions/setting/IResettable.cs +++ b/GFramework.Game.Abstractions/Setting/IResettable.cs @@ -1,4 +1,4 @@ -namespace GFramework.Game.Abstractions.setting; +namespace GFramework.Game.Abstractions.Setting; /// /// 可重置设置接口,继承自ISettingsSection接口 diff --git a/GFramework.Game.Abstractions/setting/ISettingsChangedEvent.cs b/GFramework.Game.Abstractions/Setting/ISettingsChangedEvent.cs similarity index 90% rename from GFramework.Game.Abstractions/setting/ISettingsChangedEvent.cs rename to GFramework.Game.Abstractions/Setting/ISettingsChangedEvent.cs index 87ea615..cb380f7 100644 --- a/GFramework.Game.Abstractions/setting/ISettingsChangedEvent.cs +++ b/GFramework.Game.Abstractions/Setting/ISettingsChangedEvent.cs @@ -1,4 +1,4 @@ -namespace GFramework.Game.Abstractions.setting; +namespace GFramework.Game.Abstractions.Setting; /// /// 设置变更事件基类 diff --git a/GFramework.Game.Abstractions/setting/ISettingsData.cs b/GFramework.Game.Abstractions/Setting/ISettingsData.cs similarity index 86% rename from GFramework.Game.Abstractions/setting/ISettingsData.cs rename to GFramework.Game.Abstractions/Setting/ISettingsData.cs index 7aef3bb..467b243 100644 --- a/GFramework.Game.Abstractions/setting/ISettingsData.cs +++ b/GFramework.Game.Abstractions/Setting/ISettingsData.cs @@ -11,10 +11,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.Abstractions.data; -using GFramework.Game.Abstractions.data; +using GFramework.Core.Abstractions.Data; +using GFramework.Game.Abstractions.Data; -namespace GFramework.Game.Abstractions.setting; +namespace GFramework.Game.Abstractions.Setting; /// /// 定义游戏设置数据的接口 diff --git a/GFramework.Game.Abstractions/setting/ISettingsMigration.cs b/GFramework.Game.Abstractions/Setting/ISettingsMigration.cs similarity index 96% rename from GFramework.Game.Abstractions/setting/ISettingsMigration.cs rename to GFramework.Game.Abstractions/Setting/ISettingsMigration.cs index e8ccca0..0e4b1fc 100644 --- a/GFramework.Game.Abstractions/setting/ISettingsMigration.cs +++ b/GFramework.Game.Abstractions/Setting/ISettingsMigration.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Game.Abstractions.setting; +namespace GFramework.Game.Abstractions.Setting; /// /// 定义设置数据迁移接口,用于处理不同版本设置数据之间的转换 diff --git a/GFramework.Game.Abstractions/setting/ISettingsModel.cs b/GFramework.Game.Abstractions/Setting/ISettingsModel.cs similarity index 97% rename from GFramework.Game.Abstractions/setting/ISettingsModel.cs rename to GFramework.Game.Abstractions/Setting/ISettingsModel.cs index 7cf2ae9..d7668ee 100644 --- a/GFramework.Game.Abstractions/setting/ISettingsModel.cs +++ b/GFramework.Game.Abstractions/Setting/ISettingsModel.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.model; +using GFramework.Core.Abstractions.Model; -namespace GFramework.Game.Abstractions.setting; +namespace GFramework.Game.Abstractions.Setting; /// /// 设置模型接口: diff --git a/GFramework.Game.Abstractions/setting/ISettingsSection.cs b/GFramework.Game.Abstractions/Setting/ISettingsSection.cs similarity index 80% rename from GFramework.Game.Abstractions/setting/ISettingsSection.cs rename to GFramework.Game.Abstractions/Setting/ISettingsSection.cs index be480fe..60af633 100644 --- a/GFramework.Game.Abstractions/setting/ISettingsSection.cs +++ b/GFramework.Game.Abstractions/Setting/ISettingsSection.cs @@ -1,4 +1,4 @@ -namespace GFramework.Game.Abstractions.setting; +namespace GFramework.Game.Abstractions.Setting; /// /// 表示游戏设置的一个配置节接口 diff --git a/GFramework.Game.Abstractions/setting/ISettingsSystem.cs b/GFramework.Game.Abstractions/Setting/ISettingsSystem.cs similarity index 93% rename from GFramework.Game.Abstractions/setting/ISettingsSystem.cs rename to GFramework.Game.Abstractions/Setting/ISettingsSystem.cs index 7f3ab5d..384e633 100644 --- a/GFramework.Game.Abstractions/setting/ISettingsSystem.cs +++ b/GFramework.Game.Abstractions/Setting/ISettingsSystem.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.system; +using GFramework.Core.Abstractions.Systems; -namespace GFramework.Game.Abstractions.setting; +namespace GFramework.Game.Abstractions.Setting; /// /// 定义设置系统的接口,提供应用各种设置的方法 diff --git a/GFramework.Game.Abstractions/storage/IFileStorage.cs b/GFramework.Game.Abstractions/Storage/IFileStorage.cs similarity index 69% rename from GFramework.Game.Abstractions/storage/IFileStorage.cs rename to GFramework.Game.Abstractions/Storage/IFileStorage.cs index 4923c1a..a60dd43 100644 --- a/GFramework.Game.Abstractions/storage/IFileStorage.cs +++ b/GFramework.Game.Abstractions/Storage/IFileStorage.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.storage; +using GFramework.Core.Abstractions.Storage; -namespace GFramework.Game.Abstractions.storage; +namespace GFramework.Game.Abstractions.Storage; /// /// 文件存储接口,定义了文件存储操作的契约 diff --git a/GFramework.Game.Abstractions/storage/IScopedStorage.cs b/GFramework.Game.Abstractions/Storage/IScopedStorage.cs similarity index 59% rename from GFramework.Game.Abstractions/storage/IScopedStorage.cs rename to GFramework.Game.Abstractions/Storage/IScopedStorage.cs index b18248c..a4f75d0 100644 --- a/GFramework.Game.Abstractions/storage/IScopedStorage.cs +++ b/GFramework.Game.Abstractions/Storage/IScopedStorage.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.storage; +using GFramework.Core.Abstractions.Storage; -namespace GFramework.Game.Abstractions.storage; +namespace GFramework.Game.Abstractions.Storage; /// /// 表示作用域存储接口,继承自基础存储接口 diff --git a/GFramework.Game.Abstractions/ui/IUiAroundTransitionHandler.cs b/GFramework.Game.Abstractions/UI/IUiAroundTransitionHandler.cs similarity index 96% rename from GFramework.Game.Abstractions/ui/IUiAroundTransitionHandler.cs rename to GFramework.Game.Abstractions/UI/IUiAroundTransitionHandler.cs index 9d06634..443bc08 100644 --- a/GFramework.Game.Abstractions/ui/IUiAroundTransitionHandler.cs +++ b/GFramework.Game.Abstractions/UI/IUiAroundTransitionHandler.cs @@ -1,4 +1,4 @@ -namespace GFramework.Game.Abstractions.ui; +namespace GFramework.Game.Abstractions.UI; /// /// UI切换中间件处理器接口,支持包裹整个变更过程的逻辑。 diff --git a/GFramework.Game.Abstractions/ui/IUiFactory.cs b/GFramework.Game.Abstractions/UI/IUiFactory.cs similarity index 79% rename from GFramework.Game.Abstractions/ui/IUiFactory.cs rename to GFramework.Game.Abstractions/UI/IUiFactory.cs index 665451f..807fdc8 100644 --- a/GFramework.Game.Abstractions/ui/IUiFactory.cs +++ b/GFramework.Game.Abstractions/UI/IUiFactory.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.utility; +using GFramework.Core.Abstractions.Utility; -namespace GFramework.Game.Abstractions.ui; +namespace GFramework.Game.Abstractions.UI; /// /// UI工厂接口,用于创建UI页面实例 diff --git a/GFramework.Game.Abstractions/ui/IUiPage.cs b/GFramework.Game.Abstractions/UI/IUiPage.cs similarity index 95% rename from GFramework.Game.Abstractions/ui/IUiPage.cs rename to GFramework.Game.Abstractions/UI/IUiPage.cs index ce67157..f11d69b 100644 --- a/GFramework.Game.Abstractions/ui/IUiPage.cs +++ b/GFramework.Game.Abstractions/UI/IUiPage.cs @@ -1,4 +1,4 @@ -namespace GFramework.Game.Abstractions.ui; +namespace GFramework.Game.Abstractions.UI; /// /// UI页面生命周期接口 diff --git a/GFramework.Game.Abstractions/ui/IUiPageBehavior.cs b/GFramework.Game.Abstractions/UI/IUiPageBehavior.cs similarity index 96% rename from GFramework.Game.Abstractions/ui/IUiPageBehavior.cs rename to GFramework.Game.Abstractions/UI/IUiPageBehavior.cs index 8eae2cd..efd0e53 100644 --- a/GFramework.Game.Abstractions/ui/IUiPageBehavior.cs +++ b/GFramework.Game.Abstractions/UI/IUiPageBehavior.cs @@ -1,6 +1,6 @@ -using GFramework.Game.Abstractions.enums; +using GFramework.Game.Abstractions.Enums; -namespace GFramework.Game.Abstractions.ui; +namespace GFramework.Game.Abstractions.UI; /// /// UI页面行为接口,定义了UI页面的生命周期方法和状态管理 diff --git a/GFramework.Game.Abstractions/ui/IUiPageBehaviorProvider.cs b/GFramework.Game.Abstractions/UI/IUiPageBehaviorProvider.cs similarity index 86% rename from GFramework.Game.Abstractions/ui/IUiPageBehaviorProvider.cs rename to GFramework.Game.Abstractions/UI/IUiPageBehaviorProvider.cs index 64ec3e5..ce298bf 100644 --- a/GFramework.Game.Abstractions/ui/IUiPageBehaviorProvider.cs +++ b/GFramework.Game.Abstractions/UI/IUiPageBehaviorProvider.cs @@ -1,4 +1,4 @@ -namespace GFramework.Game.Abstractions.ui; +namespace GFramework.Game.Abstractions.UI; /// /// UI页面行为提供者接口,用于获取页面行为实例 diff --git a/GFramework.Game.Abstractions/ui/IUiPageEnterParam.cs b/GFramework.Game.Abstractions/UI/IUiPageEnterParam.cs similarity index 79% rename from GFramework.Game.Abstractions/ui/IUiPageEnterParam.cs rename to GFramework.Game.Abstractions/UI/IUiPageEnterParam.cs index 4ae809a..29bea63 100644 --- a/GFramework.Game.Abstractions/ui/IUiPageEnterParam.cs +++ b/GFramework.Game.Abstractions/UI/IUiPageEnterParam.cs @@ -1,4 +1,4 @@ -namespace GFramework.Game.Abstractions.ui; +namespace GFramework.Game.Abstractions.UI; /// /// UI页面进入参数接口 diff --git a/GFramework.Game.Abstractions/ui/IUiRoot.cs b/GFramework.Game.Abstractions/UI/IUiRoot.cs similarity index 90% rename from GFramework.Game.Abstractions/ui/IUiRoot.cs rename to GFramework.Game.Abstractions/UI/IUiRoot.cs index 4a29eb0..ba7d661 100644 --- a/GFramework.Game.Abstractions/ui/IUiRoot.cs +++ b/GFramework.Game.Abstractions/UI/IUiRoot.cs @@ -1,6 +1,6 @@ -using GFramework.Game.Abstractions.enums; +using GFramework.Game.Abstractions.Enums; -namespace GFramework.Game.Abstractions.ui; +namespace GFramework.Game.Abstractions.UI; /// /// UI根节点接口,定义了UI页面容器的基本操作 diff --git a/GFramework.Game.Abstractions/ui/IUiRouteGuard.cs b/GFramework.Game.Abstractions/UI/IUiRouteGuard.cs similarity index 96% rename from GFramework.Game.Abstractions/ui/IUiRouteGuard.cs rename to GFramework.Game.Abstractions/UI/IUiRouteGuard.cs index 6b8cf4b..8bfa0df 100644 --- a/GFramework.Game.Abstractions/ui/IUiRouteGuard.cs +++ b/GFramework.Game.Abstractions/UI/IUiRouteGuard.cs @@ -1,4 +1,4 @@ -namespace GFramework.Game.Abstractions.ui; +namespace GFramework.Game.Abstractions.UI; /// /// UI路由守卫接口 diff --git a/GFramework.Game.Abstractions/ui/IUiRouter.cs b/GFramework.Game.Abstractions/UI/IUiRouter.cs similarity index 98% rename from GFramework.Game.Abstractions/ui/IUiRouter.cs rename to GFramework.Game.Abstractions/UI/IUiRouter.cs index 9eedc53..c5ee283 100644 --- a/GFramework.Game.Abstractions/ui/IUiRouter.cs +++ b/GFramework.Game.Abstractions/UI/IUiRouter.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.system; -using GFramework.Game.Abstractions.enums; +using GFramework.Core.Abstractions.Systems; +using GFramework.Game.Abstractions.Enums; -namespace GFramework.Game.Abstractions.ui; +namespace GFramework.Game.Abstractions.UI; /// /// UI路由管理器接口,用于管理UI界面的导航和切换操作 diff --git a/GFramework.Game.Abstractions/ui/IUiTransitionHandler.cs b/GFramework.Game.Abstractions/UI/IUiTransitionHandler.cs similarity index 93% rename from GFramework.Game.Abstractions/ui/IUiTransitionHandler.cs rename to GFramework.Game.Abstractions/UI/IUiTransitionHandler.cs index 4177849..4146497 100644 --- a/GFramework.Game.Abstractions/ui/IUiTransitionHandler.cs +++ b/GFramework.Game.Abstractions/UI/IUiTransitionHandler.cs @@ -1,6 +1,6 @@ -using GFramework.Game.Abstractions.enums; +using GFramework.Game.Abstractions.Enums; -namespace GFramework.Game.Abstractions.ui; +namespace GFramework.Game.Abstractions.UI; /// /// UI切换处理器接口,定义UI切换扩展点的处理逻辑 diff --git a/GFramework.Game.Abstractions/ui/UiHandle.cs b/GFramework.Game.Abstractions/UI/UiHandle.cs similarity index 94% rename from GFramework.Game.Abstractions/ui/UiHandle.cs rename to GFramework.Game.Abstractions/UI/UiHandle.cs index c10e8b9..7813b9b 100644 --- a/GFramework.Game.Abstractions/ui/UiHandle.cs +++ b/GFramework.Game.Abstractions/UI/UiHandle.cs @@ -11,9 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Game.Abstractions.enums; +using GFramework.Game.Abstractions.Enums; -namespace GFramework.Game.Abstractions.ui; +namespace GFramework.Game.Abstractions.UI; /// /// 表示一个UI句柄,用于唯一标识和管理UI实例。 diff --git a/GFramework.Game.Abstractions/ui/UiPopPolicy.cs b/GFramework.Game.Abstractions/UI/UiPopPolicy.cs similarity index 84% rename from GFramework.Game.Abstractions/ui/UiPopPolicy.cs rename to GFramework.Game.Abstractions/UI/UiPopPolicy.cs index 9930d48..4ebf207 100644 --- a/GFramework.Game.Abstractions/ui/UiPopPolicy.cs +++ b/GFramework.Game.Abstractions/UI/UiPopPolicy.cs @@ -1,4 +1,4 @@ -namespace GFramework.Game.Abstractions.ui; +namespace GFramework.Game.Abstractions.UI; /// /// 定义UI弹窗的关闭策略枚举 diff --git a/GFramework.Game.Abstractions/ui/UiTransitionEvent.cs b/GFramework.Game.Abstractions/UI/UiTransitionEvent.cs similarity index 97% rename from GFramework.Game.Abstractions/ui/UiTransitionEvent.cs rename to GFramework.Game.Abstractions/UI/UiTransitionEvent.cs index 556b450..8f01242 100644 --- a/GFramework.Game.Abstractions/ui/UiTransitionEvent.cs +++ b/GFramework.Game.Abstractions/UI/UiTransitionEvent.cs @@ -1,6 +1,6 @@ -using GFramework.Game.Abstractions.enums; +using GFramework.Game.Abstractions.Enums; -namespace GFramework.Game.Abstractions.ui; +namespace GFramework.Game.Abstractions.UI; /// /// UI切换事件,包含UI切换过程中的上下文信息 diff --git a/GFramework.Game.Abstractions/ui/UiTransitionHandlerOptions.cs b/GFramework.Game.Abstractions/UI/UiTransitionHandlerOptions.cs similarity index 77% rename from GFramework.Game.Abstractions/ui/UiTransitionHandlerOptions.cs rename to GFramework.Game.Abstractions/UI/UiTransitionHandlerOptions.cs index c4c012e..fd1871c 100644 --- a/GFramework.Game.Abstractions/ui/UiTransitionHandlerOptions.cs +++ b/GFramework.Game.Abstractions/UI/UiTransitionHandlerOptions.cs @@ -1,4 +1,4 @@ -namespace GFramework.Game.Abstractions.ui; +namespace GFramework.Game.Abstractions.UI; /// /// UI切换处理器执行选项 diff --git a/GFramework.Game/data/DataRepository.cs b/GFramework.Game/Data/DataRepository.cs similarity index 94% rename from GFramework.Game/data/DataRepository.cs rename to GFramework.Game/Data/DataRepository.cs index a02573e..5bfff9a 100644 --- a/GFramework.Game/data/DataRepository.cs +++ b/GFramework.Game/Data/DataRepository.cs @@ -11,14 +11,14 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.Abstractions.storage; -using GFramework.Core.extensions; -using GFramework.Core.utility; -using GFramework.Game.Abstractions.data; -using GFramework.Game.Abstractions.data.events; -using GFramework.Game.extensions; +using GFramework.Core.Abstractions.Storage; +using GFramework.Core.Extensions; +using GFramework.Core.Utility; +using GFramework.Game.Abstractions.Data; +using GFramework.Game.Abstractions.Data.Events; +using GFramework.Game.Extensions; -namespace GFramework.Game.data; +namespace GFramework.Game.Data; /// /// 数据仓库类,用于管理游戏数据的存储和读取 diff --git a/GFramework.Game/data/SaveConfiguration.cs b/GFramework.Game/Data/SaveConfiguration.cs similarity index 97% rename from GFramework.Game/data/SaveConfiguration.cs rename to GFramework.Game/Data/SaveConfiguration.cs index b7bdd3b..d136ae2 100644 --- a/GFramework.Game/data/SaveConfiguration.cs +++ b/GFramework.Game/Data/SaveConfiguration.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Game.data; +namespace GFramework.Game.Data; /// /// 存档系统配置 diff --git a/GFramework.Game/data/SaveRepository.cs b/GFramework.Game/Data/SaveRepository.cs similarity index 96% rename from GFramework.Game/data/SaveRepository.cs rename to GFramework.Game/Data/SaveRepository.cs index 995a2db..f7eb57f 100644 --- a/GFramework.Game/data/SaveRepository.cs +++ b/GFramework.Game/Data/SaveRepository.cs @@ -12,12 +12,12 @@ // limitations under the License. using System.Globalization; -using GFramework.Core.Abstractions.storage; -using GFramework.Core.utility; -using GFramework.Game.Abstractions.data; -using GFramework.Game.storage; +using GFramework.Core.Abstractions.Storage; +using GFramework.Core.Utility; +using GFramework.Game.Abstractions.Data; +using GFramework.Game.Storage; -namespace GFramework.Game.data; +namespace GFramework.Game.Data; /// /// 基于槽位的存档仓库实现 diff --git a/GFramework.Game/data/UnifiedSettingsDataRepository.cs b/GFramework.Game/Data/UnifiedSettingsDataRepository.cs similarity index 96% rename from GFramework.Game/data/UnifiedSettingsDataRepository.cs rename to GFramework.Game/Data/UnifiedSettingsDataRepository.cs index 854561d..00a1f25 100644 --- a/GFramework.Game/data/UnifiedSettingsDataRepository.cs +++ b/GFramework.Game/Data/UnifiedSettingsDataRepository.cs @@ -11,14 +11,14 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.Abstractions.serializer; -using GFramework.Core.Abstractions.storage; -using GFramework.Core.extensions; -using GFramework.Core.utility; -using GFramework.Game.Abstractions.data; -using GFramework.Game.Abstractions.data.events; +using GFramework.Core.Abstractions.Serializer; +using GFramework.Core.Abstractions.Storage; +using GFramework.Core.Extensions; +using GFramework.Core.Utility; +using GFramework.Game.Abstractions.Data; +using GFramework.Game.Abstractions.Data.Events; -namespace GFramework.Game.data; +namespace GFramework.Game.Data; /// /// 使用单一文件存储所有设置数据的仓库实现 diff --git a/GFramework.Game/data/UnifiedSettingsFile.cs b/GFramework.Game/Data/UnifiedSettingsFile.cs similarity index 93% rename from GFramework.Game/data/UnifiedSettingsFile.cs rename to GFramework.Game/Data/UnifiedSettingsFile.cs index fa50ef4..694dcc2 100644 --- a/GFramework.Game/data/UnifiedSettingsFile.cs +++ b/GFramework.Game/Data/UnifiedSettingsFile.cs @@ -11,9 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.Abstractions.versioning; +using GFramework.Core.Abstractions.Versioning; -namespace GFramework.Game.data; +namespace GFramework.Game.Data; /// /// 统一设置文件类,用于管理应用程序的配置设置 diff --git a/GFramework.Game/extensions/DataLocationExtensions.cs b/GFramework.Game/Extensions/DataLocationExtensions.cs similarity index 93% rename from GFramework.Game/extensions/DataLocationExtensions.cs rename to GFramework.Game/Extensions/DataLocationExtensions.cs index 8d9661c..bb20bb6 100644 --- a/GFramework.Game/extensions/DataLocationExtensions.cs +++ b/GFramework.Game/Extensions/DataLocationExtensions.cs @@ -11,9 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Game.Abstractions.data; +using GFramework.Game.Abstractions.Data; -namespace GFramework.Game.extensions; +namespace GFramework.Game.Extensions; /// /// 提供数据位置相关的扩展方法 diff --git a/GFramework.Game/scene/handler/LoggingTransitionHandler.cs b/GFramework.Game/Scene/Handler/LoggingTransitionHandler.cs similarity index 90% rename from GFramework.Game/scene/handler/LoggingTransitionHandler.cs rename to GFramework.Game/Scene/Handler/LoggingTransitionHandler.cs index d8afbc6..5371fcf 100644 --- a/GFramework.Game/scene/handler/LoggingTransitionHandler.cs +++ b/GFramework.Game/Scene/Handler/LoggingTransitionHandler.cs @@ -11,12 +11,12 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.Abstractions.logging; -using GFramework.Core.logging; -using GFramework.Game.Abstractions.enums; -using GFramework.Game.Abstractions.scene; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Logging; +using GFramework.Game.Abstractions.Enums; +using GFramework.Game.Abstractions.Scene; -namespace GFramework.Game.scene.handler; +namespace GFramework.Game.Scene.Handler; /// /// 日志场景切换处理器,用于记录场景切换的详细信息。 diff --git a/GFramework.Game/scene/handler/SceneTransitionHandlerBase.cs b/GFramework.Game/Scene/Handler/SceneTransitionHandlerBase.cs similarity index 94% rename from GFramework.Game/scene/handler/SceneTransitionHandlerBase.cs rename to GFramework.Game/Scene/Handler/SceneTransitionHandlerBase.cs index d83f814..fe29612 100644 --- a/GFramework.Game/scene/handler/SceneTransitionHandlerBase.cs +++ b/GFramework.Game/Scene/Handler/SceneTransitionHandlerBase.cs @@ -11,10 +11,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Game.Abstractions.enums; -using GFramework.Game.Abstractions.scene; +using GFramework.Game.Abstractions.Enums; +using GFramework.Game.Abstractions.Scene; -namespace GFramework.Game.scene.handler; +namespace GFramework.Game.Scene.Handler; /// /// 场景过渡处理器抽象基类,提供了 ISceneTransitionHandler 接口的默认实现。 diff --git a/GFramework.Game/scene/SceneRouterBase.cs b/GFramework.Game/Scene/SceneRouterBase.cs similarity index 98% rename from GFramework.Game/scene/SceneRouterBase.cs rename to GFramework.Game/Scene/SceneRouterBase.cs index 20cd400..2b3ccec 100644 --- a/GFramework.Game/scene/SceneRouterBase.cs +++ b/GFramework.Game/Scene/SceneRouterBase.cs @@ -11,14 +11,14 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.Abstractions.logging; -using GFramework.Core.extensions; -using GFramework.Core.logging; -using GFramework.Core.system; -using GFramework.Game.Abstractions.enums; -using GFramework.Game.Abstractions.scene; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Extensions; +using GFramework.Core.Logging; +using GFramework.Core.Systems; +using GFramework.Game.Abstractions.Enums; +using GFramework.Game.Abstractions.Scene; -namespace GFramework.Game.scene; +namespace GFramework.Game.Scene; /// /// 场景路由基类,提供场景切换和卸载的基础功能。 diff --git a/GFramework.Game/scene/SceneTransitionPipeline.cs b/GFramework.Game/Scene/SceneTransitionPipeline.cs similarity index 98% rename from GFramework.Game/scene/SceneTransitionPipeline.cs rename to GFramework.Game/Scene/SceneTransitionPipeline.cs index 1cf394d..a8e93e8 100644 --- a/GFramework.Game/scene/SceneTransitionPipeline.cs +++ b/GFramework.Game/Scene/SceneTransitionPipeline.cs @@ -11,12 +11,12 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.Abstractions.logging; -using GFramework.Core.logging; -using GFramework.Game.Abstractions.enums; -using GFramework.Game.Abstractions.scene; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Logging; +using GFramework.Game.Abstractions.Enums; +using GFramework.Game.Abstractions.Scene; -namespace GFramework.Game.scene; +namespace GFramework.Game.Scene; /// /// 场景过渡处理器管道,负责管理和执行场景切换扩展点。 diff --git a/GFramework.Game/serializer/JsonSerializer.cs b/GFramework.Game/Serializer/JsonSerializer.cs similarity index 96% rename from GFramework.Game/serializer/JsonSerializer.cs rename to GFramework.Game/Serializer/JsonSerializer.cs index f49b958..df76185 100644 --- a/GFramework.Game/serializer/JsonSerializer.cs +++ b/GFramework.Game/Serializer/JsonSerializer.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.serializer; +using GFramework.Core.Abstractions.Serializer; using Newtonsoft.Json; -namespace GFramework.Game.serializer; +namespace GFramework.Game.Serializer; /// /// JSON序列化器实现类,用于将对象序列化为JSON字符串或将JSON字符串反序列化为对象 diff --git a/GFramework.Game/setting/events/SettingsAppliedAllEvent.cs b/GFramework.Game/Setting/Events/SettingsAppliedAllEvent.cs similarity index 95% rename from GFramework.Game/setting/events/SettingsAppliedAllEvent.cs rename to GFramework.Game/Setting/Events/SettingsAppliedAllEvent.cs index 5969c32..c6e6c53 100644 --- a/GFramework.Game/setting/events/SettingsAppliedAllEvent.cs +++ b/GFramework.Game/Setting/Events/SettingsAppliedAllEvent.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Game.setting.events; +namespace GFramework.Game.Setting.Events; /// /// 表示所有设置已应用的事件。 diff --git a/GFramework.Game/setting/events/SettingsAppliedEvent.cs b/GFramework.Game/Setting/Events/SettingsAppliedEvent.cs similarity index 92% rename from GFramework.Game/setting/events/SettingsAppliedEvent.cs rename to GFramework.Game/Setting/Events/SettingsAppliedEvent.cs index 2399b21..4a1715a 100644 --- a/GFramework.Game/setting/events/SettingsAppliedEvent.cs +++ b/GFramework.Game/Setting/Events/SettingsAppliedEvent.cs @@ -1,6 +1,6 @@ -using GFramework.Game.Abstractions.setting; +using GFramework.Game.Abstractions.Setting; -namespace GFramework.Game.setting.events; +namespace GFramework.Game.Setting.Events; /// /// 表示设置应用完成事件 diff --git a/GFramework.Game/setting/events/SettingsApplyingEvent.cs b/GFramework.Game/Setting/Events/SettingsApplyingEvent.cs similarity index 90% rename from GFramework.Game/setting/events/SettingsApplyingEvent.cs rename to GFramework.Game/Setting/Events/SettingsApplyingEvent.cs index 0d7a5f1..f9987be 100644 --- a/GFramework.Game/setting/events/SettingsApplyingEvent.cs +++ b/GFramework.Game/Setting/Events/SettingsApplyingEvent.cs @@ -1,6 +1,6 @@ -using GFramework.Game.Abstractions.setting; +using GFramework.Game.Abstractions.Setting; -namespace GFramework.Game.setting.events; +namespace GFramework.Game.Setting.Events; /// /// 表示设置应用事件的泛型类 diff --git a/GFramework.Game/setting/events/SettingsInitializedEvent.cs b/GFramework.Game/Setting/Events/SettingsInitializedEvent.cs similarity index 94% rename from GFramework.Game/setting/events/SettingsInitializedEvent.cs rename to GFramework.Game/Setting/Events/SettingsInitializedEvent.cs index 640db79..835da10 100644 --- a/GFramework.Game/setting/events/SettingsInitializedEvent.cs +++ b/GFramework.Game/Setting/Events/SettingsInitializedEvent.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Game.setting.events; +namespace GFramework.Game.Setting.Events; /// /// 表示设置已初始化的事件。 diff --git a/GFramework.Game/setting/events/SettingsResetAllEvent.cs b/GFramework.Game/Setting/Events/SettingsResetAllEvent.cs similarity index 90% rename from GFramework.Game/setting/events/SettingsResetAllEvent.cs rename to GFramework.Game/Setting/Events/SettingsResetAllEvent.cs index 8ab86a5..72ae2cb 100644 --- a/GFramework.Game/setting/events/SettingsResetAllEvent.cs +++ b/GFramework.Game/Setting/Events/SettingsResetAllEvent.cs @@ -1,6 +1,6 @@ -using GFramework.Game.Abstractions.setting; +using GFramework.Game.Abstractions.Setting; -namespace GFramework.Game.setting.events; +namespace GFramework.Game.Setting.Events; /// /// 表示所有设置重置完成事件 diff --git a/GFramework.Game/setting/events/SettingsResetEvent.cs b/GFramework.Game/Setting/Events/SettingsResetEvent.cs similarity index 90% rename from GFramework.Game/setting/events/SettingsResetEvent.cs rename to GFramework.Game/Setting/Events/SettingsResetEvent.cs index d70e38f..e991b3a 100644 --- a/GFramework.Game/setting/events/SettingsResetEvent.cs +++ b/GFramework.Game/Setting/Events/SettingsResetEvent.cs @@ -1,6 +1,6 @@ -using GFramework.Game.Abstractions.setting; +using GFramework.Game.Abstractions.Setting; -namespace GFramework.Game.setting.events; +namespace GFramework.Game.Setting.Events; /// /// 表示设置重置事件 diff --git a/GFramework.Game/setting/events/SettingsSavedAllEvent.cs b/GFramework.Game/Setting/Events/SettingsSavedAllEvent.cs similarity index 94% rename from GFramework.Game/setting/events/SettingsSavedAllEvent.cs rename to GFramework.Game/Setting/Events/SettingsSavedAllEvent.cs index 18ccbd9..aaac0ac 100644 --- a/GFramework.Game/setting/events/SettingsSavedAllEvent.cs +++ b/GFramework.Game/Setting/Events/SettingsSavedAllEvent.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Game.setting.events; +namespace GFramework.Game.Setting.Events; /// /// 表示所有设置已保存的事件。 diff --git a/GFramework.Game/setting/SettingsModel.cs b/GFramework.Game/Setting/SettingsModel.cs similarity index 96% rename from GFramework.Game/setting/SettingsModel.cs rename to GFramework.Game/Setting/SettingsModel.cs index 41d9eaf..d480589 100644 --- a/GFramework.Game/setting/SettingsModel.cs +++ b/GFramework.Game/Setting/SettingsModel.cs @@ -1,12 +1,12 @@ -using GFramework.Core.Abstractions.logging; -using GFramework.Core.extensions; -using GFramework.Core.logging; -using GFramework.Core.model; -using GFramework.Game.Abstractions.data; -using GFramework.Game.Abstractions.setting; -using GFramework.Game.setting.events; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Extensions; +using GFramework.Core.Logging; +using GFramework.Core.Model; +using GFramework.Game.Abstractions.Data; +using GFramework.Game.Abstractions.Setting; +using GFramework.Game.Setting.Events; -namespace GFramework.Game.setting; +namespace GFramework.Game.Setting; /// /// 设置模型: diff --git a/GFramework.Game/setting/SettingsSystem.cs b/GFramework.Game/Setting/SettingsSystem.cs similarity index 94% rename from GFramework.Game/setting/SettingsSystem.cs rename to GFramework.Game/Setting/SettingsSystem.cs index 2646328..4051502 100644 --- a/GFramework.Game/setting/SettingsSystem.cs +++ b/GFramework.Game/Setting/SettingsSystem.cs @@ -1,9 +1,9 @@ -using GFramework.Core.extensions; -using GFramework.Core.system; -using GFramework.Game.Abstractions.setting; -using GFramework.Game.setting.events; +using GFramework.Core.Extensions; +using GFramework.Core.Systems; +using GFramework.Game.Abstractions.Setting; +using GFramework.Game.Setting.Events; -namespace GFramework.Game.setting; +namespace GFramework.Game.Setting; /// /// 设置系统,负责管理和应用各种设置配置 diff --git a/GFramework.Game/state/GameStateMachineSystem.cs b/GFramework.Game/State/GameStateMachineSystem.cs similarity index 90% rename from GFramework.Game/state/GameStateMachineSystem.cs rename to GFramework.Game/State/GameStateMachineSystem.cs index fdbeddd..d553e41 100644 --- a/GFramework.Game/state/GameStateMachineSystem.cs +++ b/GFramework.Game/State/GameStateMachineSystem.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.state; -using GFramework.Core.state; +using GFramework.Core.Abstractions.State; +using GFramework.Core.State; -namespace GFramework.Game.state; +namespace GFramework.Game.State; /// /// 游戏状态机类,继承自ContextAwareStateMachine,用于管理游戏中的各种状态 diff --git a/GFramework.Game/storage/FileStorage.cs b/GFramework.Game/Storage/FileStorage.cs similarity index 98% rename from GFramework.Game/storage/FileStorage.cs rename to GFramework.Game/Storage/FileStorage.cs index a5dcc61..c593697 100644 --- a/GFramework.Game/storage/FileStorage.cs +++ b/GFramework.Game/Storage/FileStorage.cs @@ -1,9 +1,9 @@ using System.IO; using System.Text; -using GFramework.Core.Abstractions.serializer; -using GFramework.Game.Abstractions.storage; +using GFramework.Core.Abstractions.Serializer; +using GFramework.Game.Abstractions.Storage; -namespace GFramework.Game.storage; +namespace GFramework.Game.Storage; /// /// 基于文件系统的存储实现,实现了IFileStorage接口,支持按key细粒度锁保证线程安全 diff --git a/GFramework.Game/storage/ReadMe.md b/GFramework.Game/Storage/ReadMe.md similarity index 100% rename from GFramework.Game/storage/ReadMe.md rename to GFramework.Game/Storage/ReadMe.md diff --git a/GFramework.Game/storage/ScopedStorage.cs b/GFramework.Game/Storage/ScopedStorage.cs similarity index 97% rename from GFramework.Game/storage/ScopedStorage.cs rename to GFramework.Game/Storage/ScopedStorage.cs index 0ce4785..b071478 100644 --- a/GFramework.Game/storage/ScopedStorage.cs +++ b/GFramework.Game/Storage/ScopedStorage.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.storage; -using GFramework.Game.Abstractions.storage; +using GFramework.Core.Abstractions.Storage; +using GFramework.Game.Abstractions.Storage; -namespace GFramework.Game.storage; +namespace GFramework.Game.Storage; /// /// 提供带有作用域前缀的存储包装器,将所有键都加上指定的前缀 diff --git a/GFramework.Game/ui/handler/LoggingTransitionHandler.cs b/GFramework.Game/UI/Handler/LoggingTransitionHandler.cs similarity index 88% rename from GFramework.Game/ui/handler/LoggingTransitionHandler.cs rename to GFramework.Game/UI/Handler/LoggingTransitionHandler.cs index 39d81fa..4d827ab 100644 --- a/GFramework.Game/ui/handler/LoggingTransitionHandler.cs +++ b/GFramework.Game/UI/Handler/LoggingTransitionHandler.cs @@ -1,9 +1,9 @@ -using GFramework.Core.Abstractions.logging; -using GFramework.Core.logging; -using GFramework.Game.Abstractions.enums; -using GFramework.Game.Abstractions.ui; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Logging; +using GFramework.Game.Abstractions.Enums; +using GFramework.Game.Abstractions.UI; -namespace GFramework.Game.ui.handler; +namespace GFramework.Game.UI.Handler; /// /// 日志UI切换处理器,用于记录UI切换的详细信息 diff --git a/GFramework.Game/ui/handler/UiTransitionHandlerBase.cs b/GFramework.Game/UI/Handler/UiTransitionHandlerBase.cs similarity index 88% rename from GFramework.Game/ui/handler/UiTransitionHandlerBase.cs rename to GFramework.Game/UI/Handler/UiTransitionHandlerBase.cs index b868996..6e5b25c 100644 --- a/GFramework.Game/ui/handler/UiTransitionHandlerBase.cs +++ b/GFramework.Game/UI/Handler/UiTransitionHandlerBase.cs @@ -1,7 +1,7 @@ -using GFramework.Game.Abstractions.enums; -using GFramework.Game.Abstractions.ui; +using GFramework.Game.Abstractions.Enums; +using GFramework.Game.Abstractions.UI; -namespace GFramework.Game.ui.handler; +namespace GFramework.Game.UI.Handler; /// /// UI切换处理器抽象基类,提供一些默认实现 diff --git a/GFramework.Game/ui/UiRouterBase.cs b/GFramework.Game/UI/UiRouterBase.cs similarity index 99% rename from GFramework.Game/ui/UiRouterBase.cs rename to GFramework.Game/UI/UiRouterBase.cs index 90717f6..529c2cb 100644 --- a/GFramework.Game/ui/UiRouterBase.cs +++ b/GFramework.Game/UI/UiRouterBase.cs @@ -1,11 +1,11 @@ -using GFramework.Core.Abstractions.logging; -using GFramework.Core.extensions; -using GFramework.Core.logging; -using GFramework.Core.system; -using GFramework.Game.Abstractions.enums; -using GFramework.Game.Abstractions.ui; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Extensions; +using GFramework.Core.Logging; +using GFramework.Core.Systems; +using GFramework.Game.Abstractions.Enums; +using GFramework.Game.Abstractions.UI; -namespace GFramework.Game.ui; +namespace GFramework.Game.UI; /// /// UI路由基类,提供页面栈管理和层级UI管理功能 diff --git a/GFramework.Game/ui/UiTransitionPipeline.cs b/GFramework.Game/UI/UiTransitionPipeline.cs similarity index 98% rename from GFramework.Game/ui/UiTransitionPipeline.cs rename to GFramework.Game/UI/UiTransitionPipeline.cs index 8a878fd..4ca005c 100644 --- a/GFramework.Game/ui/UiTransitionPipeline.cs +++ b/GFramework.Game/UI/UiTransitionPipeline.cs @@ -1,9 +1,9 @@ -using GFramework.Core.Abstractions.logging; -using GFramework.Core.logging; -using GFramework.Game.Abstractions.enums; -using GFramework.Game.Abstractions.ui; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Logging; +using GFramework.Game.Abstractions.Enums; +using GFramework.Game.Abstractions.UI; -namespace GFramework.Game.ui; +namespace GFramework.Game.UI; /// /// UI切换处理器管道,负责管理和执行UI切换扩展点 diff --git a/GFramework.Godot/architecture/AbstractArchitecture.cs b/GFramework.Godot/Architecture/AbstractArchitecture.cs similarity index 93% rename from GFramework.Godot/architecture/AbstractArchitecture.cs rename to GFramework.Godot/Architecture/AbstractArchitecture.cs index 111e94c..537cfc0 100644 --- a/GFramework.Godot/architecture/AbstractArchitecture.cs +++ b/GFramework.Godot/Architecture/AbstractArchitecture.cs @@ -1,11 +1,10 @@ -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.Abstractions.environment; -using GFramework.Core.architecture; -using GFramework.Core.constants; -using GFramework.Godot.extensions; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Abstractions.Environment; +using GFramework.Core.Constants; +using GFramework.Godot.Extensions; using Godot; -namespace GFramework.Godot.architecture; +namespace GFramework.Godot.Architecture; /// /// 抽象架构类,为特定类型的架构提供基础实现框架。 @@ -16,7 +15,7 @@ public abstract class AbstractArchitecture( IEnvironment? environment = null, IArchitectureServices? services = null, IArchitectureContext? context = null -) : Architecture(configuration, environment, services, context) +) : Core.Architectures.Architecture(configuration, environment, services, context) { /// /// 存储所有已安装的Godot架构扩展组件列表 diff --git a/GFramework.Godot/architecture/AbstractGodotModule.cs b/GFramework.Godot/Architecture/AbstractGodotModule.cs similarity index 85% rename from GFramework.Godot/architecture/AbstractGodotModule.cs rename to GFramework.Godot/Architecture/AbstractGodotModule.cs index c116765..2eaa6dc 100644 --- a/GFramework.Godot/architecture/AbstractGodotModule.cs +++ b/GFramework.Godot/Architecture/AbstractGodotModule.cs @@ -1,9 +1,8 @@ -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.Abstractions.enums; -using GFramework.Core.architecture; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Abstractions.Enums; using Godot; -namespace GFramework.Godot.architecture; +namespace GFramework.Godot.Architecture; /// /// 抽象的Godot模块基类,用于定义Godot框架中的模块行为 @@ -15,23 +14,6 @@ public abstract class AbstractGodotModule : IGodotModule /// public abstract Node Node { get; } - /// - /// 当架构阶段发生变化时调用此方法 - /// - /// 当前的架构阶段 - /// 架构实例 - public virtual void OnPhase(ArchitecturePhase phase, IArchitecture architecture) - { - } - - /// - /// 当架构阶段发生变化时调用此方法 - /// - /// 当前的架构阶段 - public virtual void OnArchitecturePhase(ArchitecturePhase phase) - { - } - /// /// 安装模块到指定架构中 /// @@ -49,7 +31,24 @@ public abstract class AbstractGodotModule : IGodotModule /// 当模块被附加到架构时调用此方法 /// /// 被附加到的架构实例 - public virtual void OnAttach(Architecture architecture) + public virtual void OnAttach(Core.Architectures.Architecture architecture) + { + } + + /// + /// 当架构阶段发生变化时调用此方法 + /// + /// 当前的架构阶段 + /// 架构实例 + public virtual void OnPhase(ArchitecturePhase phase, IArchitecture architecture) + { + } + + /// + /// 当架构阶段发生变化时调用此方法 + /// + /// 当前的架构阶段 + public virtual void OnArchitecturePhase(ArchitecturePhase phase) { } } \ No newline at end of file diff --git a/GFramework.Godot/architecture/ArchitectureAnchor.cs b/GFramework.Godot/Architecture/ArchitectureAnchor.cs similarity index 96% rename from GFramework.Godot/architecture/ArchitectureAnchor.cs rename to GFramework.Godot/Architecture/ArchitectureAnchor.cs index 2884184..8c1272c 100644 --- a/GFramework.Godot/architecture/ArchitectureAnchor.cs +++ b/GFramework.Godot/Architecture/ArchitectureAnchor.cs @@ -1,6 +1,6 @@ using Godot; -namespace GFramework.Godot.architecture; +namespace GFramework.Godot.Architecture; /// /// 架构锚点节点类,用于在Godot场景树中作为架构组件的根节点 diff --git a/GFramework.Godot/architecture/IGodotModule.cs b/GFramework.Godot/Architecture/IGodotModule.cs similarity index 75% rename from GFramework.Godot/architecture/IGodotModule.cs rename to GFramework.Godot/Architecture/IGodotModule.cs index 01a15b8..9eae792 100644 --- a/GFramework.Godot/architecture/IGodotModule.cs +++ b/GFramework.Godot/Architecture/IGodotModule.cs @@ -1,8 +1,7 @@ -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.architecture; +using GFramework.Core.Abstractions.Architecture; using Godot; -namespace GFramework.Godot.architecture; +namespace GFramework.Godot.Architecture; /// /// Godot模块接口,定义了Godot引擎中模块的基本行为和属性 @@ -18,7 +17,7 @@ public interface IGodotModule : IArchitectureModule /// 当模块被附加到架构时调用 /// /// 要附加到的架构实例 - void OnAttach(Architecture architecture); + void OnAttach(Core.Architectures.Architecture architecture); /// /// 当模块从架构分离时调用 diff --git a/GFramework.Godot/coroutine/ContextAwareCoroutineExtensions.cs b/GFramework.Godot/Coroutine/ContextAwareCoroutineExtensions.cs similarity index 95% rename from GFramework.Godot/coroutine/ContextAwareCoroutineExtensions.cs rename to GFramework.Godot/Coroutine/ContextAwareCoroutineExtensions.cs index 451cf68..f0ccc21 100644 --- a/GFramework.Godot/coroutine/ContextAwareCoroutineExtensions.cs +++ b/GFramework.Godot/Coroutine/ContextAwareCoroutineExtensions.cs @@ -1,10 +1,10 @@ -using GFramework.Core.Abstractions.rule; -using GFramework.Core.coroutine; -using GFramework.Core.coroutine.extensions; -using GFramework.Core.extensions; +using GFramework.Core.Abstractions.Rule; +using GFramework.Core.Coroutine; +using GFramework.Core.Coroutine.Extensions; +using GFramework.Core.Extensions; using Mediator; -namespace GFramework.Godot.coroutine; +namespace GFramework.Godot.Coroutine; /// /// 提供协程相关的扩展方法,用于简化协程的启动和管理。 diff --git a/GFramework.Godot/coroutine/CoroutineNodeExtensions.cs b/GFramework.Godot/Coroutine/CoroutineNodeExtensions.cs similarity index 96% rename from GFramework.Godot/coroutine/CoroutineNodeExtensions.cs rename to GFramework.Godot/Coroutine/CoroutineNodeExtensions.cs index d40a72f..d233ad1 100644 --- a/GFramework.Godot/coroutine/CoroutineNodeExtensions.cs +++ b/GFramework.Godot/Coroutine/CoroutineNodeExtensions.cs @@ -11,11 +11,11 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.coroutine; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Coroutine; using Godot; -namespace GFramework.Godot.coroutine; +namespace GFramework.Godot.Coroutine; /// /// 提供协程相关的扩展方法,用于在Godot环境中管理协程的生命周期。 diff --git a/GFramework.Godot/coroutine/GodotTimeSource.cs b/GFramework.Godot/Coroutine/GodotTimeSource.cs similarity index 92% rename from GFramework.Godot/coroutine/GodotTimeSource.cs rename to GFramework.Godot/Coroutine/GodotTimeSource.cs index b08ba74..b33bc3d 100644 --- a/GFramework.Godot/coroutine/GodotTimeSource.cs +++ b/GFramework.Godot/Coroutine/GodotTimeSource.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.coroutine; +using GFramework.Core.Abstractions.Coroutine; -namespace GFramework.Godot.coroutine; +namespace GFramework.Godot.Coroutine; /// /// Godot时间源实现,用于提供基于Godot引擎的时间信息 diff --git a/GFramework.Godot/coroutine/Segment.cs b/GFramework.Godot/Coroutine/Segment.cs similarity index 95% rename from GFramework.Godot/coroutine/Segment.cs rename to GFramework.Godot/Coroutine/Segment.cs index 5d4cc50..5faed11 100644 --- a/GFramework.Godot/coroutine/Segment.cs +++ b/GFramework.Godot/Coroutine/Segment.cs @@ -1,4 +1,4 @@ -namespace GFramework.Godot.coroutine; +namespace GFramework.Godot.Coroutine; /// /// 定义协程执行的不同时间段枚举 diff --git a/GFramework.Godot/coroutine/Timing.cs b/GFramework.Godot/Coroutine/Timing.cs similarity index 98% rename from GFramework.Godot/coroutine/Timing.cs rename to GFramework.Godot/Coroutine/Timing.cs index d512910..881c36b 100644 --- a/GFramework.Godot/coroutine/Timing.cs +++ b/GFramework.Godot/Coroutine/Timing.cs @@ -1,11 +1,11 @@ using System.Reflection; -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.coroutine; -using GFramework.Core.coroutine.instructions; -using GFramework.Godot.extensions; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Coroutine; +using GFramework.Core.Coroutine.Instructions; +using GFramework.Godot.Extensions; using Godot; -namespace GFramework.Godot.coroutine; +namespace GFramework.Godot.Coroutine; /// /// Godot协程管理器,提供基于不同更新循环的协程调度功能 diff --git a/GFramework.Godot/data/GodotResourceRepository.cs b/GFramework.Godot/Data/GodotResourceRepository.cs similarity index 98% rename from GFramework.Godot/data/GodotResourceRepository.cs rename to GFramework.Godot/Data/GodotResourceRepository.cs index e4801d6..0035e7d 100644 --- a/GFramework.Godot/data/GodotResourceRepository.cs +++ b/GFramework.Godot/Data/GodotResourceRepository.cs @@ -11,12 +11,12 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.Abstractions.bases; -using GFramework.Core.Abstractions.logging; -using GFramework.Core.logging; +using GFramework.Core.Abstractions.Bases; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Logging; using Godot; -namespace GFramework.Godot.data; +namespace GFramework.Godot.Data; /// /// Godot资源仓储实现类,用于管理Godot资源的存储和加载。 diff --git a/GFramework.Godot/data/IResourceRepository.cs b/GFramework.Godot/Data/IResourceRepository.cs similarity index 96% rename from GFramework.Godot/data/IResourceRepository.cs rename to GFramework.Godot/Data/IResourceRepository.cs index 99b7227..33ba693 100644 --- a/GFramework.Godot/data/IResourceRepository.cs +++ b/GFramework.Godot/Data/IResourceRepository.cs @@ -11,10 +11,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Game.Abstractions.data; +using GFramework.Game.Abstractions.Data; using Godot; -namespace GFramework.Godot.data; +namespace GFramework.Godot.Data; /// /// 定义资源仓储接口,专门用于管理Godot资源的加载和存储 diff --git a/GFramework.Godot/extensions/GodotPathExtensions.cs b/GFramework.Godot/Extensions/GodotPathExtensions.cs similarity index 97% rename from GFramework.Godot/extensions/GodotPathExtensions.cs rename to GFramework.Godot/Extensions/GodotPathExtensions.cs index 1f81aa9..5469482 100644 --- a/GFramework.Godot/extensions/GodotPathExtensions.cs +++ b/GFramework.Godot/Extensions/GodotPathExtensions.cs @@ -1,4 +1,4 @@ -namespace GFramework.Godot.extensions; +namespace GFramework.Godot.Extensions; /// /// 提供对 Godot 路径相关操作的扩展方法。 diff --git a/GFramework.Godot/extensions/NodeExtensions.cs b/GFramework.Godot/Extensions/NodeExtensions.cs similarity index 99% rename from GFramework.Godot/extensions/NodeExtensions.cs rename to GFramework.Godot/Extensions/NodeExtensions.cs index 19bd824..a010641 100644 --- a/GFramework.Godot/extensions/NodeExtensions.cs +++ b/GFramework.Godot/Extensions/NodeExtensions.cs @@ -1,6 +1,6 @@ using Godot; -namespace GFramework.Godot.extensions; +namespace GFramework.Godot.Extensions; /// /// 节点扩展方法类,提供对Godot节点的扩展功能 diff --git a/GFramework.Godot/extensions/signal/SignalBuilder.cs b/GFramework.Godot/Extensions/Signal/SignalBuilder.cs similarity index 97% rename from GFramework.Godot/extensions/signal/SignalBuilder.cs rename to GFramework.Godot/Extensions/Signal/SignalBuilder.cs index e409e1a..e95a6c5 100644 --- a/GFramework.Godot/extensions/signal/SignalBuilder.cs +++ b/GFramework.Godot/Extensions/Signal/SignalBuilder.cs @@ -1,6 +1,6 @@ using Godot; -namespace GFramework.Godot.extensions.signal; +namespace GFramework.Godot.Extensions.Signal; /// /// 信号连接构建器,用于以流畅的方式连接Godot信号 diff --git a/GFramework.Godot/extensions/signal/SignalFluentExtensions.cs b/GFramework.Godot/Extensions/Signal/SignalFluentExtensions.cs similarity index 92% rename from GFramework.Godot/extensions/signal/SignalFluentExtensions.cs rename to GFramework.Godot/Extensions/Signal/SignalFluentExtensions.cs index 6891c61..0de0789 100644 --- a/GFramework.Godot/extensions/signal/SignalFluentExtensions.cs +++ b/GFramework.Godot/Extensions/Signal/SignalFluentExtensions.cs @@ -1,6 +1,6 @@ using Godot; -namespace GFramework.Godot.extensions.signal; +namespace GFramework.Godot.Extensions.Signal; /// /// 为Godot Node节点提供信号相关的流畅API扩展方法 diff --git a/GFramework.Godot/extensions/UnRegisterExtension.cs b/GFramework.Godot/Extensions/UnRegisterExtension.cs similarity index 90% rename from GFramework.Godot/extensions/UnRegisterExtension.cs rename to GFramework.Godot/Extensions/UnRegisterExtension.cs index 64b1a1e..49173d2 100644 --- a/GFramework.Godot/extensions/UnRegisterExtension.cs +++ b/GFramework.Godot/Extensions/UnRegisterExtension.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.events; +using GFramework.Core.Abstractions.Events; using Godot; -namespace GFramework.Godot.extensions; +namespace GFramework.Godot.Extensions; /// /// 提供取消注册扩展方法的静态类 diff --git a/GFramework.Godot/logging/GodotLogger.cs b/GFramework.Godot/Logging/GodotLogger.cs similarity index 95% rename from GFramework.Godot/logging/GodotLogger.cs rename to GFramework.Godot/Logging/GodotLogger.cs index 8a0cfdb..6252921 100644 --- a/GFramework.Godot/logging/GodotLogger.cs +++ b/GFramework.Godot/Logging/GodotLogger.cs @@ -1,8 +1,8 @@ -using GFramework.Core.Abstractions.logging; -using GFramework.Core.logging; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Logging; using Godot; -namespace GFramework.Godot.logging; +namespace GFramework.Godot.Logging; /// /// Godot平台的日志记录器实现。 diff --git a/GFramework.Godot/logging/GodotLoggerFactory.cs b/GFramework.Godot/Logging/GodotLoggerFactory.cs similarity index 87% rename from GFramework.Godot/logging/GodotLoggerFactory.cs rename to GFramework.Godot/Logging/GodotLoggerFactory.cs index 2d2a276..efbfb7d 100644 --- a/GFramework.Godot/logging/GodotLoggerFactory.cs +++ b/GFramework.Godot/Logging/GodotLoggerFactory.cs @@ -1,6 +1,6 @@ -using GFramework.Core.Abstractions.logging; +using GFramework.Core.Abstractions.Logging; -namespace GFramework.Godot.logging; +namespace GFramework.Godot.Logging; /// /// Godot日志工厂类,用于创建Godot平台专用的日志记录器实例 diff --git a/GFramework.Godot/logging/GodotLoggerFactoryProvider.cs b/GFramework.Godot/Logging/GodotLoggerFactoryProvider.cs similarity index 89% rename from GFramework.Godot/logging/GodotLoggerFactoryProvider.cs rename to GFramework.Godot/Logging/GodotLoggerFactoryProvider.cs index d753805..9ce22a9 100644 --- a/GFramework.Godot/logging/GodotLoggerFactoryProvider.cs +++ b/GFramework.Godot/Logging/GodotLoggerFactoryProvider.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.logging; -using GFramework.Core.logging; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Logging; -namespace GFramework.Godot.logging; +namespace GFramework.Godot.Logging; /// /// Godot日志工厂提供程序,用于创建Godot日志记录器实例 diff --git a/GFramework.Godot/pause/GodotPauseHandler.cs b/GFramework.Godot/Pause/GodotPauseHandler.cs similarity index 93% rename from GFramework.Godot/pause/GodotPauseHandler.cs rename to GFramework.Godot/Pause/GodotPauseHandler.cs index f77368c..bcf21b9 100644 --- a/GFramework.Godot/pause/GodotPauseHandler.cs +++ b/GFramework.Godot/Pause/GodotPauseHandler.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.pause; +using GFramework.Core.Abstractions.Pause; using Godot; -namespace GFramework.Godot.pause; +namespace GFramework.Godot.Pause; /// /// Godot 引擎的暂停处理器 diff --git a/GFramework.Godot/pool/AbstractNodePoolSystem.cs b/GFramework.Godot/Pool/AbstractNodePoolSystem.cs similarity index 94% rename from GFramework.Godot/pool/AbstractNodePoolSystem.cs rename to GFramework.Godot/Pool/AbstractNodePoolSystem.cs index 8167bc0..389deee 100644 --- a/GFramework.Godot/pool/AbstractNodePoolSystem.cs +++ b/GFramework.Godot/Pool/AbstractNodePoolSystem.cs @@ -1,7 +1,7 @@ -using GFramework.Core.pool; +using GFramework.Core.Pool; using Godot; -namespace GFramework.Godot.pool; +namespace GFramework.Godot.Pool; /// /// 抽象节点对象池系统,用于管理Godot节点类型的对象池 diff --git a/GFramework.Godot/pool/IPoolableNode.cs b/GFramework.Godot/Pool/IPoolableNode.cs similarity index 83% rename from GFramework.Godot/pool/IPoolableNode.cs rename to GFramework.Godot/Pool/IPoolableNode.cs index d55dc13..75439e3 100644 --- a/GFramework.Godot/pool/IPoolableNode.cs +++ b/GFramework.Godot/Pool/IPoolableNode.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.pool; +using GFramework.Core.Abstractions.Pool; using Godot; -namespace GFramework.Godot.pool; +namespace GFramework.Godot.Pool; /// /// 可池化节点接口,继承自IPoolableObject接口 diff --git a/GFramework.Godot/scene/ControlSceneBehavior.cs b/GFramework.Godot/Scene/ControlSceneBehavior.cs similarity index 97% rename from GFramework.Godot/scene/ControlSceneBehavior.cs rename to GFramework.Godot/Scene/ControlSceneBehavior.cs index f62ec0e..4e30953 100644 --- a/GFramework.Godot/scene/ControlSceneBehavior.cs +++ b/GFramework.Godot/Scene/ControlSceneBehavior.cs @@ -13,7 +13,7 @@ using Godot; -namespace GFramework.Godot.scene; +namespace GFramework.Godot.Scene; /// /// Control 场景行为类,用于管理 UI 场景节点的生命周期。 diff --git a/GFramework.Godot/scene/GenericSceneBehavior.cs b/GFramework.Godot/Scene/GenericSceneBehavior.cs similarity index 97% rename from GFramework.Godot/scene/GenericSceneBehavior.cs rename to GFramework.Godot/Scene/GenericSceneBehavior.cs index c6269a7..9084a25 100644 --- a/GFramework.Godot/scene/GenericSceneBehavior.cs +++ b/GFramework.Godot/Scene/GenericSceneBehavior.cs @@ -13,7 +13,7 @@ using Godot; -namespace GFramework.Godot.scene; +namespace GFramework.Godot.Scene; /// /// 通用场景行为类,用于管理任意 Node 类型场景节点的生命周期。 diff --git a/GFramework.Godot/scene/GodotSceneFactory.cs b/GFramework.Godot/Scene/GodotSceneFactory.cs similarity index 91% rename from GFramework.Godot/scene/GodotSceneFactory.cs rename to GFramework.Godot/Scene/GodotSceneFactory.cs index c5c472a..51626ae 100644 --- a/GFramework.Godot/scene/GodotSceneFactory.cs +++ b/GFramework.Godot/Scene/GodotSceneFactory.cs @@ -11,13 +11,13 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Core.Abstractions.logging; -using GFramework.Core.extensions; -using GFramework.Core.logging; -using GFramework.Core.utility; -using GFramework.Game.Abstractions.scene; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Extensions; +using GFramework.Core.Logging; +using GFramework.Core.Utility; +using GFramework.Game.Abstractions.Scene; -namespace GFramework.Godot.scene; +namespace GFramework.Godot.Scene; /// /// Godot 场景工厂类,用于创建场景实例。 diff --git a/GFramework.Godot/scene/GodotSceneRegistry.cs b/GFramework.Godot/Scene/GodotSceneRegistry.cs similarity index 81% rename from GFramework.Godot/scene/GodotSceneRegistry.cs rename to GFramework.Godot/Scene/GodotSceneRegistry.cs index 30c23c1..1e9dd8e 100644 --- a/GFramework.Godot/scene/GodotSceneRegistry.cs +++ b/GFramework.Godot/Scene/GodotSceneRegistry.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.registries; +using GFramework.Core.Abstractions.Registries; using Godot; -namespace GFramework.Godot.scene; +namespace GFramework.Godot.Scene; /// /// Godot场景注册表类 diff --git a/GFramework.Godot/scene/IGodotSceneRegistry.cs b/GFramework.Godot/Scene/IGodotSceneRegistry.cs similarity index 71% rename from GFramework.Godot/scene/IGodotSceneRegistry.cs rename to GFramework.Godot/Scene/IGodotSceneRegistry.cs index b28ceed..36b6559 100644 --- a/GFramework.Godot/scene/IGodotSceneRegistry.cs +++ b/GFramework.Godot/Scene/IGodotSceneRegistry.cs @@ -1,7 +1,7 @@ -using GFramework.Game.Abstractions.asset; +using GFramework.Game.Abstractions.Asset; using Godot; -namespace GFramework.Godot.scene; +namespace GFramework.Godot.Scene; /// /// Godot场景注册表接口,用于管理PackedScene资源的注册和访问 diff --git a/GFramework.Godot/scene/Node2DSceneBehavior.cs b/GFramework.Godot/Scene/Node2DSceneBehavior.cs similarity index 97% rename from GFramework.Godot/scene/Node2DSceneBehavior.cs rename to GFramework.Godot/Scene/Node2DSceneBehavior.cs index 77d9e6c..76137ab 100644 --- a/GFramework.Godot/scene/Node2DSceneBehavior.cs +++ b/GFramework.Godot/Scene/Node2DSceneBehavior.cs @@ -13,7 +13,7 @@ using Godot; -namespace GFramework.Godot.scene; +namespace GFramework.Godot.Scene; /// /// Node2D 场景行为类,用于管理 2D 场景节点的生命周期。 diff --git a/GFramework.Godot/scene/Node3DSceneBehavior.cs b/GFramework.Godot/Scene/Node3DSceneBehavior.cs similarity index 97% rename from GFramework.Godot/scene/Node3DSceneBehavior.cs rename to GFramework.Godot/Scene/Node3DSceneBehavior.cs index 1d5e9e8..01976c3 100644 --- a/GFramework.Godot/scene/Node3DSceneBehavior.cs +++ b/GFramework.Godot/Scene/Node3DSceneBehavior.cs @@ -13,7 +13,7 @@ using Godot; -namespace GFramework.Godot.scene; +namespace GFramework.Godot.Scene; /// /// Node3D 场景行为类,用于管理 3D 场景节点的生命周期。 diff --git a/GFramework.Godot/scene/SceneBehaviorBase.cs b/GFramework.Godot/Scene/SceneBehaviorBase.cs similarity index 98% rename from GFramework.Godot/scene/SceneBehaviorBase.cs rename to GFramework.Godot/Scene/SceneBehaviorBase.cs index e06395f..d2c30da 100644 --- a/GFramework.Godot/scene/SceneBehaviorBase.cs +++ b/GFramework.Godot/Scene/SceneBehaviorBase.cs @@ -11,11 +11,11 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Game.Abstractions.scene; -using GFramework.Godot.extensions; +using GFramework.Game.Abstractions.Scene; +using GFramework.Godot.Extensions; using Godot; -namespace GFramework.Godot.scene; +namespace GFramework.Godot.Scene; /// /// 场景行为基类,封装通用的场景生命周期管理逻辑。 diff --git a/GFramework.Godot/scene/SceneBehaviorFactory.cs b/GFramework.Godot/Scene/SceneBehaviorFactory.cs similarity index 95% rename from GFramework.Godot/scene/SceneBehaviorFactory.cs rename to GFramework.Godot/Scene/SceneBehaviorFactory.cs index bff228a..84640fc 100644 --- a/GFramework.Godot/scene/SceneBehaviorFactory.cs +++ b/GFramework.Godot/Scene/SceneBehaviorFactory.cs @@ -11,10 +11,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Game.Abstractions.scene; +using GFramework.Game.Abstractions.Scene; using Godot; -namespace GFramework.Godot.scene; +namespace GFramework.Godot.Scene; /// /// 场景行为工厂类,根据节点类型自动创建合适的场景行为实例。 diff --git a/GFramework.Godot/setting/data/AudioBusMap.cs b/GFramework.Godot/Setting/Data/AudioBusMap.cs similarity index 95% rename from GFramework.Godot/setting/data/AudioBusMap.cs rename to GFramework.Godot/Setting/Data/AudioBusMap.cs index 9737b46..069099f 100644 --- a/GFramework.Godot/setting/data/AudioBusMap.cs +++ b/GFramework.Godot/Setting/Data/AudioBusMap.cs @@ -1,4 +1,4 @@ -namespace GFramework.Godot.setting.data; +namespace GFramework.Godot.Setting.Data; /// /// 音频总线映射设置 diff --git a/GFramework.Godot/setting/data/LocalizationMap.cs b/GFramework.Godot/Setting/Data/LocalizationMap.cs similarity index 95% rename from GFramework.Godot/setting/data/LocalizationMap.cs rename to GFramework.Godot/Setting/Data/LocalizationMap.cs index f0dca1b..a5cface 100644 --- a/GFramework.Godot/setting/data/LocalizationMap.cs +++ b/GFramework.Godot/Setting/Data/LocalizationMap.cs @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -namespace GFramework.Godot.setting.data; +namespace GFramework.Godot.Setting.Data; /// /// 本地化映射设置 diff --git a/GFramework.Godot/setting/GodotAudioSettings.cs b/GFramework.Godot/Setting/GodotAudioSettings.cs similarity index 92% rename from GFramework.Godot/setting/GodotAudioSettings.cs rename to GFramework.Godot/Setting/GodotAudioSettings.cs index fc453d5..41abc76 100644 --- a/GFramework.Godot/setting/GodotAudioSettings.cs +++ b/GFramework.Godot/Setting/GodotAudioSettings.cs @@ -1,9 +1,9 @@ -using GFramework.Game.Abstractions.setting; -using GFramework.Game.Abstractions.setting.data; -using GFramework.Godot.setting.data; +using GFramework.Game.Abstractions.Setting; +using GFramework.Game.Abstractions.Setting.Data; +using GFramework.Godot.Setting.Data; using Godot; -namespace GFramework.Godot.setting; +namespace GFramework.Godot.Setting; /// /// Godot音频设置实现类,用于应用音频配置到Godot音频系统 diff --git a/GFramework.Godot/setting/GodotGraphicsSettings.cs b/GFramework.Godot/Setting/GodotGraphicsSettings.cs similarity index 93% rename from GFramework.Godot/setting/GodotGraphicsSettings.cs rename to GFramework.Godot/Setting/GodotGraphicsSettings.cs index f089290..e6870ce 100644 --- a/GFramework.Godot/setting/GodotGraphicsSettings.cs +++ b/GFramework.Godot/Setting/GodotGraphicsSettings.cs @@ -1,8 +1,8 @@ -using GFramework.Game.Abstractions.setting; -using GFramework.Game.Abstractions.setting.data; +using GFramework.Game.Abstractions.Setting; +using GFramework.Game.Abstractions.Setting.Data; using Godot; -namespace GFramework.Godot.setting; +namespace GFramework.Godot.Setting; /// /// Godot图形设置应用器 diff --git a/GFramework.Godot/setting/GodotLocalizationSettings.cs b/GFramework.Godot/Setting/GodotLocalizationSettings.cs similarity index 92% rename from GFramework.Godot/setting/GodotLocalizationSettings.cs rename to GFramework.Godot/Setting/GodotLocalizationSettings.cs index 16bc255..abbc9bf 100644 --- a/GFramework.Godot/setting/GodotLocalizationSettings.cs +++ b/GFramework.Godot/Setting/GodotLocalizationSettings.cs @@ -11,12 +11,12 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Game.Abstractions.setting; -using GFramework.Game.Abstractions.setting.data; -using GFramework.Godot.setting.data; +using GFramework.Game.Abstractions.Setting; +using GFramework.Game.Abstractions.Setting.Data; +using GFramework.Godot.Setting.Data; using Godot; -namespace GFramework.Godot.setting; +namespace GFramework.Godot.Setting; /// /// Godot本地化设置类,负责应用本地化配置到Godot引擎 diff --git a/GFramework.Godot/storage/GodotFileStorage.cs b/GFramework.Godot/Storage/GodotFileStorage.cs similarity index 98% rename from GFramework.Godot/storage/GodotFileStorage.cs rename to GFramework.Godot/Storage/GodotFileStorage.cs index eebf571..4ef608e 100644 --- a/GFramework.Godot/storage/GodotFileStorage.cs +++ b/GFramework.Godot/Storage/GodotFileStorage.cs @@ -1,14 +1,14 @@ using System.Collections.Concurrent; using System.IO; using System.Text; -using GFramework.Core.Abstractions.serializer; -using GFramework.Core.Abstractions.storage; -using GFramework.Godot.extensions; +using GFramework.Core.Abstractions.Serializer; +using GFramework.Core.Abstractions.Storage; +using GFramework.Godot.Extensions; using Godot; using Error = Godot.Error; using FileAccess = Godot.FileAccess; -namespace GFramework.Godot.storage; +namespace GFramework.Godot.Storage; /// /// Godot 特化的文件存储实现,支持 res://、user:// 和普通文件路径 diff --git a/GFramework.Godot/ui/CanvasItemUiPageBehaviorBase.cs b/GFramework.Godot/UI/CanvasItemUiPageBehaviorBase.cs similarity index 97% rename from GFramework.Godot/ui/CanvasItemUiPageBehaviorBase.cs rename to GFramework.Godot/UI/CanvasItemUiPageBehaviorBase.cs index d94bd23..59dc320 100644 --- a/GFramework.Godot/ui/CanvasItemUiPageBehaviorBase.cs +++ b/GFramework.Godot/UI/CanvasItemUiPageBehaviorBase.cs @@ -11,12 +11,12 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Game.Abstractions.enums; -using GFramework.Game.Abstractions.ui; -using GFramework.Godot.extensions; +using GFramework.Game.Abstractions.Enums; +using GFramework.Game.Abstractions.UI; +using GFramework.Godot.Extensions; using Godot; -namespace GFramework.Godot.ui; +namespace GFramework.Godot.UI; /// /// UI 页面行为基类,封装通用的生命周期管理逻辑。 diff --git a/GFramework.Godot/ui/GodotUiFactory.cs b/GFramework.Godot/UI/GodotUiFactory.cs similarity index 89% rename from GFramework.Godot/ui/GodotUiFactory.cs rename to GFramework.Godot/UI/GodotUiFactory.cs index 4a7c231..7f23ca7 100644 --- a/GFramework.Godot/ui/GodotUiFactory.cs +++ b/GFramework.Godot/UI/GodotUiFactory.cs @@ -1,10 +1,10 @@ -using GFramework.Core.Abstractions.logging; -using GFramework.Core.extensions; -using GFramework.Core.logging; -using GFramework.Core.utility; -using GFramework.Game.Abstractions.ui; +using GFramework.Core.Abstractions.Logging; +using GFramework.Core.Extensions; +using GFramework.Core.Logging; +using GFramework.Core.Utility; +using GFramework.Game.Abstractions.UI; -namespace GFramework.Godot.ui; +namespace GFramework.Godot.UI; /// /// Godot UI工厂类,用于创建UI页面实例。 diff --git a/GFramework.Godot/ui/GodotUiRegistry.cs b/GFramework.Godot/UI/GodotUiRegistry.cs similarity index 83% rename from GFramework.Godot/ui/GodotUiRegistry.cs rename to GFramework.Godot/UI/GodotUiRegistry.cs index 2055083..26d55bf 100644 --- a/GFramework.Godot/ui/GodotUiRegistry.cs +++ b/GFramework.Godot/UI/GodotUiRegistry.cs @@ -1,7 +1,7 @@ -using GFramework.Core.Abstractions.registries; +using GFramework.Core.Abstractions.Registries; using Godot; -namespace GFramework.Godot.ui; +namespace GFramework.Godot.UI; /// /// Godot UI注册表类,用于管理UI相关的PackedScene资源 diff --git a/GFramework.Godot/ui/IGodotUiRegistry.cs b/GFramework.Godot/UI/IGodotUiRegistry.cs similarity index 79% rename from GFramework.Godot/ui/IGodotUiRegistry.cs rename to GFramework.Godot/UI/IGodotUiRegistry.cs index a67b411..ff08bb1 100644 --- a/GFramework.Godot/ui/IGodotUiRegistry.cs +++ b/GFramework.Godot/UI/IGodotUiRegistry.cs @@ -1,7 +1,7 @@ -using GFramework.Game.Abstractions.asset; +using GFramework.Game.Abstractions.Asset; using Godot; -namespace GFramework.Godot.ui; +namespace GFramework.Godot.UI; /// /// Godot UI注册表接口,用于管理PackedScene类型的UI资源注册和管理 diff --git a/GFramework.Godot/ui/ModalLayerUiPageBehavior.cs b/GFramework.Godot/UI/ModalLayerUiPageBehavior.cs similarity index 96% rename from GFramework.Godot/ui/ModalLayerUiPageBehavior.cs rename to GFramework.Godot/UI/ModalLayerUiPageBehavior.cs index 4825cf4..9949bef 100644 --- a/GFramework.Godot/ui/ModalLayerUiPageBehavior.cs +++ b/GFramework.Godot/UI/ModalLayerUiPageBehavior.cs @@ -11,10 +11,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Game.Abstractions.enums; +using GFramework.Game.Abstractions.Enums; using Godot; -namespace GFramework.Godot.ui; +namespace GFramework.Godot.UI; /// /// 模态层 UI 行为类,用于管理模态界面的行为。 diff --git a/GFramework.Godot/ui/OverlayLayerUiPageBehavior.cs b/GFramework.Godot/UI/OverlayLayerUiPageBehavior.cs similarity index 95% rename from GFramework.Godot/ui/OverlayLayerUiPageBehavior.cs rename to GFramework.Godot/UI/OverlayLayerUiPageBehavior.cs index c63cfc9..a830373 100644 --- a/GFramework.Godot/ui/OverlayLayerUiPageBehavior.cs +++ b/GFramework.Godot/UI/OverlayLayerUiPageBehavior.cs @@ -11,11 +11,11 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Game.Abstractions.enums; -using GFramework.Game.Abstractions.ui; +using GFramework.Game.Abstractions.Enums; +using GFramework.Game.Abstractions.UI; using Godot; -namespace GFramework.Godot.ui; +namespace GFramework.Godot.UI; /// /// 浮层 UI 行为类,用于管理覆盖层、对话框等 UI 元素。 diff --git a/GFramework.Godot/ui/PageLayerUiPageBehavior.cs b/GFramework.Godot/UI/PageLayerUiPageBehavior.cs similarity index 96% rename from GFramework.Godot/ui/PageLayerUiPageBehavior.cs rename to GFramework.Godot/UI/PageLayerUiPageBehavior.cs index b91c868..4703f5d 100644 --- a/GFramework.Godot/ui/PageLayerUiPageBehavior.cs +++ b/GFramework.Godot/UI/PageLayerUiPageBehavior.cs @@ -11,10 +11,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Game.Abstractions.enums; +using GFramework.Game.Abstractions.Enums; using Godot; -namespace GFramework.Godot.ui; +namespace GFramework.Godot.UI; /// /// 页面层 UI 行为类,用于实现栈式管理的页面行为。 diff --git a/GFramework.Godot/ui/ToastLayerUiPageBehavior.cs b/GFramework.Godot/UI/ToastLayerUiPageBehavior.cs similarity index 96% rename from GFramework.Godot/ui/ToastLayerUiPageBehavior.cs rename to GFramework.Godot/UI/ToastLayerUiPageBehavior.cs index a8a12e7..ef1726a 100644 --- a/GFramework.Godot/ui/ToastLayerUiPageBehavior.cs +++ b/GFramework.Godot/UI/ToastLayerUiPageBehavior.cs @@ -11,10 +11,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Game.Abstractions.enums; +using GFramework.Game.Abstractions.Enums; using Godot; -namespace GFramework.Godot.ui; +namespace GFramework.Godot.UI; /// /// 表示一个用于管理Toast层UI页面行为的泛型类。 diff --git a/GFramework.Godot/ui/TopmostLayerUiPageBehavior.cs b/GFramework.Godot/UI/TopmostLayerUiPageBehavior.cs similarity index 96% rename from GFramework.Godot/ui/TopmostLayerUiPageBehavior.cs rename to GFramework.Godot/UI/TopmostLayerUiPageBehavior.cs index f3c55bd..cdb178c 100644 --- a/GFramework.Godot/ui/TopmostLayerUiPageBehavior.cs +++ b/GFramework.Godot/UI/TopmostLayerUiPageBehavior.cs @@ -11,10 +11,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Game.Abstractions.enums; +using GFramework.Game.Abstractions.Enums; using Godot; -namespace GFramework.Godot.ui; +namespace GFramework.Godot.UI; /// /// 顶层 UI 行为类,继承自 CanvasItemUiPageBehaviorBase。 diff --git a/GFramework.Godot/ui/UiPageBehaviorFactory.cs b/GFramework.Godot/UI/UiPageBehaviorFactory.cs similarity index 93% rename from GFramework.Godot/ui/UiPageBehaviorFactory.cs rename to GFramework.Godot/UI/UiPageBehaviorFactory.cs index 965005b..9f5042e 100644 --- a/GFramework.Godot/ui/UiPageBehaviorFactory.cs +++ b/GFramework.Godot/UI/UiPageBehaviorFactory.cs @@ -11,11 +11,11 @@ // See the License for the specific language governing permissions and // limitations under the License. -using GFramework.Game.Abstractions.enums; -using GFramework.Game.Abstractions.ui; +using GFramework.Game.Abstractions.Enums; +using GFramework.Game.Abstractions.UI; using Godot; -namespace GFramework.Godot.ui; +namespace GFramework.Godot.UI; /// /// UI 页面行为工厂类,根据层级创建对应的 Behavior 实例 diff --git a/GFramework.SourceGenerators.Abstractions/bases/PriorityAttribute.cs b/GFramework.SourceGenerators.Abstractions/Bases/PriorityAttribute.cs similarity index 89% rename from GFramework.SourceGenerators.Abstractions/bases/PriorityAttribute.cs rename to GFramework.SourceGenerators.Abstractions/Bases/PriorityAttribute.cs index 8c2d399..e5bae68 100644 --- a/GFramework.SourceGenerators.Abstractions/bases/PriorityAttribute.cs +++ b/GFramework.SourceGenerators.Abstractions/Bases/PriorityAttribute.cs @@ -1,7 +1,7 @@ -namespace GFramework.SourceGenerators.Abstractions.bases; +namespace GFramework.SourceGenerators.Abstractions.Bases; /// -/// 标记类的优先级,自动生成 接口实现 +/// 标记类的优先级,自动生成 接口实现 /// /// /// 使用此特性可以避免手动实现 IPrioritized 接口。 diff --git a/GFramework.SourceGenerators.Abstractions/enums/GenerateEnumExtensionsAttribute.cs b/GFramework.SourceGenerators.Abstractions/Enums/GenerateEnumExtensionsAttribute.cs similarity index 90% rename from GFramework.SourceGenerators.Abstractions/enums/GenerateEnumExtensionsAttribute.cs rename to GFramework.SourceGenerators.Abstractions/Enums/GenerateEnumExtensionsAttribute.cs index 447ff75..4780fc7 100644 --- a/GFramework.SourceGenerators.Abstractions/enums/GenerateEnumExtensionsAttribute.cs +++ b/GFramework.SourceGenerators.Abstractions/Enums/GenerateEnumExtensionsAttribute.cs @@ -1,4 +1,4 @@ -namespace GFramework.SourceGenerators.Abstractions.enums; +namespace GFramework.SourceGenerators.Abstractions.Enums; /// /// 标注在 enum 上,Source Generator 会为该 enum 生成扩展方法。 diff --git a/GFramework.SourceGenerators.Abstractions/logging/LogAttribute.cs b/GFramework.SourceGenerators.Abstractions/Logging/LogAttribute.cs similarity index 94% rename from GFramework.SourceGenerators.Abstractions/logging/LogAttribute.cs rename to GFramework.SourceGenerators.Abstractions/Logging/LogAttribute.cs index ba6004d..679d3b6 100644 --- a/GFramework.SourceGenerators.Abstractions/logging/LogAttribute.cs +++ b/GFramework.SourceGenerators.Abstractions/Logging/LogAttribute.cs @@ -1,5 +1,5 @@ #nullable enable -namespace GFramework.SourceGenerators.Abstractions.logging; +namespace GFramework.SourceGenerators.Abstractions.Logging; /// /// 标注在类上,Source Generator 会为该类自动生成一个日志记录器字段。 diff --git a/GFramework.SourceGenerators.Abstractions/rule/ContextAwareAttribute.cs b/GFramework.SourceGenerators.Abstractions/Rule/ContextAwareAttribute.cs similarity index 76% rename from GFramework.SourceGenerators.Abstractions/rule/ContextAwareAttribute.cs rename to GFramework.SourceGenerators.Abstractions/Rule/ContextAwareAttribute.cs index 0b9c7eb..d142358 100644 --- a/GFramework.SourceGenerators.Abstractions/rule/ContextAwareAttribute.cs +++ b/GFramework.SourceGenerators.Abstractions/Rule/ContextAwareAttribute.cs @@ -1,4 +1,4 @@ -namespace GFramework.SourceGenerators.Abstractions.rule; +namespace GFramework.SourceGenerators.Abstractions.Rule; /// /// 标记该类需要自动实现 IContextAware diff --git a/GFramework.SourceGenerators.Common/constants/PathContests.cs b/GFramework.SourceGenerators.Common/Constants/PathContests.cs similarity index 95% rename from GFramework.SourceGenerators.Common/constants/PathContests.cs rename to GFramework.SourceGenerators.Common/Constants/PathContests.cs index 9a0b6fe..e5cd758 100644 --- a/GFramework.SourceGenerators.Common/constants/PathContests.cs +++ b/GFramework.SourceGenerators.Common/Constants/PathContests.cs @@ -1,4 +1,4 @@ -namespace GFramework.SourceGenerators.Common.constants; +namespace GFramework.SourceGenerators.Common.Constants; /// /// 定义GFramework项目中使用的路径常量 diff --git a/GFramework.SourceGenerators.Common/diagnostics/CommonDiagnostics.cs b/GFramework.SourceGenerators.Common/Diagnostics/CommonDiagnostics.cs similarity index 96% rename from GFramework.SourceGenerators.Common/diagnostics/CommonDiagnostics.cs rename to GFramework.SourceGenerators.Common/Diagnostics/CommonDiagnostics.cs index 10c84bc..87cb06c 100644 --- a/GFramework.SourceGenerators.Common/diagnostics/CommonDiagnostics.cs +++ b/GFramework.SourceGenerators.Common/Diagnostics/CommonDiagnostics.cs @@ -1,6 +1,6 @@ using Microsoft.CodeAnalysis; -namespace GFramework.SourceGenerators.Common.diagnostics; +namespace GFramework.SourceGenerators.Common.Diagnostics; /// /// 提供通用诊断描述符的静态类 diff --git a/GFramework.SourceGenerators.Common/extensions/AttributeDataExtensions.cs b/GFramework.SourceGenerators.Common/Extensions/AttributeDataExtensions.cs similarity index 96% rename from GFramework.SourceGenerators.Common/extensions/AttributeDataExtensions.cs rename to GFramework.SourceGenerators.Common/Extensions/AttributeDataExtensions.cs index e6d8b77..a8e8438 100644 --- a/GFramework.SourceGenerators.Common/extensions/AttributeDataExtensions.cs +++ b/GFramework.SourceGenerators.Common/Extensions/AttributeDataExtensions.cs @@ -1,6 +1,6 @@ using Microsoft.CodeAnalysis; -namespace GFramework.SourceGenerators.Common.extensions; +namespace GFramework.SourceGenerators.Common.Extensions; /// /// 提供AttributeData的扩展方法 diff --git a/GFramework.SourceGenerators.Common/extensions/INamedTypeSymbolExtensions.cs b/GFramework.SourceGenerators.Common/Extensions/INamedTypeSymbolExtensions.cs similarity index 97% rename from GFramework.SourceGenerators.Common/extensions/INamedTypeSymbolExtensions.cs rename to GFramework.SourceGenerators.Common/Extensions/INamedTypeSymbolExtensions.cs index a41416d..681c1cf 100644 --- a/GFramework.SourceGenerators.Common/extensions/INamedTypeSymbolExtensions.cs +++ b/GFramework.SourceGenerators.Common/Extensions/INamedTypeSymbolExtensions.cs @@ -1,7 +1,7 @@ -using GFramework.SourceGenerators.Common.info; +using GFramework.SourceGenerators.Common.Info; using Microsoft.CodeAnalysis; -namespace GFramework.SourceGenerators.Common.extensions; +namespace GFramework.SourceGenerators.Common.Extensions; /// /// 提供INamedTypeSymbol类型的扩展方法 diff --git a/GFramework.SourceGenerators.Common/generator/AttributeClassGeneratorBase.cs b/GFramework.SourceGenerators.Common/Generator/AttributeClassGeneratorBase.cs similarity index 98% rename from GFramework.SourceGenerators.Common/generator/AttributeClassGeneratorBase.cs rename to GFramework.SourceGenerators.Common/Generator/AttributeClassGeneratorBase.cs index d950a97..074bdcd 100644 --- a/GFramework.SourceGenerators.Common/generator/AttributeClassGeneratorBase.cs +++ b/GFramework.SourceGenerators.Common/Generator/AttributeClassGeneratorBase.cs @@ -1,9 +1,9 @@ -using GFramework.SourceGenerators.Common.diagnostics; +using GFramework.SourceGenerators.Common.Diagnostics; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; -namespace GFramework.SourceGenerators.Common.generator; +namespace GFramework.SourceGenerators.Common.Generator; /// /// 属性类生成器基类,用于处理带有特定属性的类并生成相应的源代码 diff --git a/GFramework.SourceGenerators.Common/generator/AttributeEnumGeneratorBase.cs b/GFramework.SourceGenerators.Common/Generator/AttributeEnumGeneratorBase.cs similarity index 98% rename from GFramework.SourceGenerators.Common/generator/AttributeEnumGeneratorBase.cs rename to GFramework.SourceGenerators.Common/Generator/AttributeEnumGeneratorBase.cs index c184e7f..605f5eb 100644 --- a/GFramework.SourceGenerators.Common/generator/AttributeEnumGeneratorBase.cs +++ b/GFramework.SourceGenerators.Common/Generator/AttributeEnumGeneratorBase.cs @@ -1,7 +1,7 @@ using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp.Syntax; -namespace GFramework.SourceGenerators.Common.generator; +namespace GFramework.SourceGenerators.Common.Generator; /// /// 属性枚举生成器基类,用于基于特定属性的枚举进行源代码生成 diff --git a/GFramework.SourceGenerators.Common/generator/MetadataAttributeClassGeneratorBase.cs b/GFramework.SourceGenerators.Common/Generator/MetadataAttributeClassGeneratorBase.cs similarity index 96% rename from GFramework.SourceGenerators.Common/generator/MetadataAttributeClassGeneratorBase.cs rename to GFramework.SourceGenerators.Common/Generator/MetadataAttributeClassGeneratorBase.cs index df4c060..c7bdf00 100644 --- a/GFramework.SourceGenerators.Common/generator/MetadataAttributeClassGeneratorBase.cs +++ b/GFramework.SourceGenerators.Common/Generator/MetadataAttributeClassGeneratorBase.cs @@ -1,6 +1,6 @@ using Microsoft.CodeAnalysis; -namespace GFramework.SourceGenerators.Common.generator; +namespace GFramework.SourceGenerators.Common.Generator; /// /// 元数据属性类生成器基类,用于基于元数据名称解析特性的抽象基类 diff --git a/GFramework.SourceGenerators.Common/generator/TypeAttributeClassGeneratorBase.cs b/GFramework.SourceGenerators.Common/Generator/TypeAttributeClassGeneratorBase.cs similarity index 94% rename from GFramework.SourceGenerators.Common/generator/TypeAttributeClassGeneratorBase.cs rename to GFramework.SourceGenerators.Common/Generator/TypeAttributeClassGeneratorBase.cs index def0852..6571e04 100644 --- a/GFramework.SourceGenerators.Common/generator/TypeAttributeClassGeneratorBase.cs +++ b/GFramework.SourceGenerators.Common/Generator/TypeAttributeClassGeneratorBase.cs @@ -1,6 +1,6 @@ using Microsoft.CodeAnalysis; -namespace GFramework.SourceGenerators.Common.generator; +namespace GFramework.SourceGenerators.Common.Generator; /// /// 基于类型特性的类生成器基类 diff --git a/GFramework.SourceGenerators.Common/info/GenericInfo.cs b/GFramework.SourceGenerators.Common/Info/GenericInfo.cs similarity index 84% rename from GFramework.SourceGenerators.Common/info/GenericInfo.cs rename to GFramework.SourceGenerators.Common/Info/GenericInfo.cs index 0ba609f..778874e 100644 --- a/GFramework.SourceGenerators.Common/info/GenericInfo.cs +++ b/GFramework.SourceGenerators.Common/Info/GenericInfo.cs @@ -1,4 +1,4 @@ -namespace GFramework.SourceGenerators.Common.info; +namespace GFramework.SourceGenerators.Common.Info; /// /// 表示泛型信息的数据结构 diff --git a/GFramework.SourceGenerators.Tests/bases/PriorityGeneratorSnapshotTests.cs b/GFramework.SourceGenerators.Tests/Bases/PriorityGeneratorSnapshotTests.cs similarity index 95% rename from GFramework.SourceGenerators.Tests/bases/PriorityGeneratorSnapshotTests.cs rename to GFramework.SourceGenerators.Tests/Bases/PriorityGeneratorSnapshotTests.cs index d5ac1f1..3758860 100644 --- a/GFramework.SourceGenerators.Tests/bases/PriorityGeneratorSnapshotTests.cs +++ b/GFramework.SourceGenerators.Tests/Bases/PriorityGeneratorSnapshotTests.cs @@ -1,9 +1,9 @@ using System.IO; -using GFramework.SourceGenerators.bases; -using GFramework.SourceGenerators.Tests.core; +using GFramework.SourceGenerators.Bases; +using GFramework.SourceGenerators.Tests.Core; using NUnit.Framework; -namespace GFramework.SourceGenerators.Tests.bases; +namespace GFramework.SourceGenerators.Tests.Bases; /// /// Priority 生成器快照测试类 @@ -20,7 +20,7 @@ public class PriorityGeneratorSnapshotTests const string source = """ using System; - namespace GFramework.SourceGenerators.Abstractions.bases + namespace GFramework.SourceGenerators.Abstractions.Bases { [AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)] public sealed class PriorityAttribute : Attribute @@ -30,7 +30,7 @@ public class PriorityGeneratorSnapshotTests } } - namespace GFramework.Core.Abstractions.bases + namespace GFramework.Core.Abstractions.Bases { public interface IPrioritized { @@ -40,7 +40,7 @@ public class PriorityGeneratorSnapshotTests namespace TestApp { - using GFramework.SourceGenerators.Abstractions.bases; + using GFramework.SourceGenerators.Abstractions.Bases; [Priority(10)] public partial class MySystem @@ -68,7 +68,7 @@ public class PriorityGeneratorSnapshotTests const string source = """ using System; - namespace GFramework.SourceGenerators.Abstractions.bases + namespace GFramework.SourceGenerators.Abstractions.Bases { [AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)] public sealed class PriorityAttribute : Attribute @@ -78,7 +78,7 @@ public class PriorityGeneratorSnapshotTests } } - namespace GFramework.Core.Abstractions.bases + namespace GFramework.Core.Abstractions.Bases { public interface IPrioritized { @@ -88,7 +88,7 @@ public class PriorityGeneratorSnapshotTests namespace TestApp { - using GFramework.SourceGenerators.Abstractions.bases; + using GFramework.SourceGenerators.Abstractions.Bases; [Priority(-100)] public partial class CriticalSystem @@ -116,7 +116,7 @@ public class PriorityGeneratorSnapshotTests const string source = """ using System; - namespace GFramework.SourceGenerators.Abstractions.bases + namespace GFramework.SourceGenerators.Abstractions.Bases { [AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)] public sealed class PriorityAttribute : Attribute @@ -126,7 +126,7 @@ public class PriorityGeneratorSnapshotTests } } - namespace GFramework.Core.Abstractions.bases + namespace GFramework.Core.Abstractions.Bases { public interface IPrioritized { @@ -145,8 +145,8 @@ public class PriorityGeneratorSnapshotTests namespace TestApp { - using GFramework.SourceGenerators.Abstractions.bases; - using GFramework.Core.Abstractions.bases; + using GFramework.SourceGenerators.Abstractions.Bases; + using GFramework.Core.Abstractions.Bases; [Priority(PriorityGroup.High)] public partial class HighPrioritySystem @@ -174,7 +174,7 @@ public class PriorityGeneratorSnapshotTests const string source = """ using System; - namespace GFramework.SourceGenerators.Abstractions.bases + namespace GFramework.SourceGenerators.Abstractions.Bases { [AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)] public sealed class PriorityAttribute : Attribute @@ -184,7 +184,7 @@ public class PriorityGeneratorSnapshotTests } } - namespace GFramework.Core.Abstractions.bases + namespace GFramework.Core.Abstractions.Bases { public interface IPrioritized { @@ -194,7 +194,7 @@ public class PriorityGeneratorSnapshotTests namespace TestApp { - using GFramework.SourceGenerators.Abstractions.bases; + using GFramework.SourceGenerators.Abstractions.Bases; [Priority(20)] public partial class GenericSystem diff --git a/GFramework.SourceGenerators.Tests/core/GeneratorSnapshotTest.cs b/GFramework.SourceGenerators.Tests/Core/GeneratorSnapshotTest.cs similarity index 97% rename from GFramework.SourceGenerators.Tests/core/GeneratorSnapshotTest.cs rename to GFramework.SourceGenerators.Tests/Core/GeneratorSnapshotTest.cs index e826559..129007f 100644 --- a/GFramework.SourceGenerators.Tests/core/GeneratorSnapshotTest.cs +++ b/GFramework.SourceGenerators.Tests/Core/GeneratorSnapshotTest.cs @@ -3,7 +3,7 @@ using Microsoft.CodeAnalysis.CSharp.Testing; using Microsoft.CodeAnalysis.Testing; using NUnit.Framework; -namespace GFramework.SourceGenerators.Tests.core; +namespace GFramework.SourceGenerators.Tests.Core; /// /// 用于测试源代码生成器的快照测试类 diff --git a/GFramework.SourceGenerators.Tests/core/GeneratorTest.cs b/GFramework.SourceGenerators.Tests/Core/GeneratorTest.cs similarity index 96% rename from GFramework.SourceGenerators.Tests/core/GeneratorTest.cs rename to GFramework.SourceGenerators.Tests/Core/GeneratorTest.cs index b78411d..29138e1 100644 --- a/GFramework.SourceGenerators.Tests/core/GeneratorTest.cs +++ b/GFramework.SourceGenerators.Tests/Core/GeneratorTest.cs @@ -1,7 +1,7 @@ using Microsoft.CodeAnalysis.CSharp.Testing; using Microsoft.CodeAnalysis.Testing; -namespace GFramework.SourceGenerators.Tests.core; +namespace GFramework.SourceGenerators.Tests.Core; /// /// 提供源代码生成器测试的通用功能 diff --git a/GFramework.SourceGenerators.Tests/enums/EnumExtensionsGeneratorSnapshotTests.cs b/GFramework.SourceGenerators.Tests/Enums/EnumExtensionsGeneratorSnapshotTests.cs similarity index 95% rename from GFramework.SourceGenerators.Tests/enums/EnumExtensionsGeneratorSnapshotTests.cs rename to GFramework.SourceGenerators.Tests/Enums/EnumExtensionsGeneratorSnapshotTests.cs index e21149b..27d73c1 100644 --- a/GFramework.SourceGenerators.Tests/enums/EnumExtensionsGeneratorSnapshotTests.cs +++ b/GFramework.SourceGenerators.Tests/Enums/EnumExtensionsGeneratorSnapshotTests.cs @@ -1,9 +1,9 @@ using System.IO; -using GFramework.SourceGenerators.enums; -using GFramework.SourceGenerators.Tests.core; +using GFramework.SourceGenerators.Enums; +using GFramework.SourceGenerators.Tests.Core; using NUnit.Framework; -namespace GFramework.SourceGenerators.Tests.enums; +namespace GFramework.SourceGenerators.Tests.Enums; [TestFixture] public class EnumExtensionsGeneratorSnapshotTests @@ -14,7 +14,7 @@ public class EnumExtensionsGeneratorSnapshotTests const string source = """ using System; - namespace GFramework.SourceGenerators.Abstractions.enums + namespace GFramework.SourceGenerators.Abstractions.Enums { [AttributeUsage(AttributeTargets.Enum)] public sealed class GenerateEnumExtensionsAttribute : Attribute @@ -26,7 +26,7 @@ public class EnumExtensionsGeneratorSnapshotTests namespace TestApp { - using GFramework.SourceGenerators.Abstractions.enums; + using GFramework.SourceGenerators.Abstractions.Enums; [GenerateEnumExtensions] public enum Status @@ -54,7 +54,7 @@ public class EnumExtensionsGeneratorSnapshotTests const string source = """ using System; - namespace GFramework.SourceGenerators.Abstractions.enums + namespace GFramework.SourceGenerators.Abstractions.Enums { [AttributeUsage(AttributeTargets.Enum)] public sealed class GenerateEnumExtensionsAttribute : Attribute @@ -66,7 +66,7 @@ public class EnumExtensionsGeneratorSnapshotTests namespace TestApp { - using GFramework.SourceGenerators.Abstractions.enums; + using GFramework.SourceGenerators.Abstractions.Enums; [GenerateEnumExtensions] public enum Status @@ -93,7 +93,7 @@ public class EnumExtensionsGeneratorSnapshotTests const string source = """ using System; - namespace GFramework.SourceGenerators.Abstractions.enums + namespace GFramework.SourceGenerators.Abstractions.Enums { [AttributeUsage(AttributeTargets.Enum)] public sealed class GenerateEnumExtensionsAttribute : Attribute @@ -105,7 +105,7 @@ public class EnumExtensionsGeneratorSnapshotTests namespace TestApp { - using GFramework.SourceGenerators.Abstractions.enums; + using GFramework.SourceGenerators.Abstractions.Enums; [GenerateEnumExtensions] [Flags] @@ -135,7 +135,7 @@ public class EnumExtensionsGeneratorSnapshotTests const string source = """ using System; - namespace GFramework.SourceGenerators.Abstractions.enums + namespace GFramework.SourceGenerators.Abstractions.Enums { [AttributeUsage(AttributeTargets.Enum)] public sealed class GenerateEnumExtensionsAttribute : Attribute @@ -147,7 +147,7 @@ public class EnumExtensionsGeneratorSnapshotTests namespace TestApp { - using GFramework.SourceGenerators.Abstractions.enums; + using GFramework.SourceGenerators.Abstractions.Enums; [GenerateEnumExtensions(GenerateIsMethods = false)] public enum Status @@ -174,7 +174,7 @@ public class EnumExtensionsGeneratorSnapshotTests const string source = """ using System; - namespace GFramework.SourceGenerators.Abstractions.enums + namespace GFramework.SourceGenerators.Abstractions.Enums { [AttributeUsage(AttributeTargets.Enum)] public sealed class GenerateEnumExtensionsAttribute : Attribute @@ -186,7 +186,7 @@ public class EnumExtensionsGeneratorSnapshotTests namespace TestApp { - using GFramework.SourceGenerators.Abstractions.enums; + using GFramework.SourceGenerators.Abstractions.Enums; [GenerateEnumExtensions(GenerateIsInMethod = false)] public enum Status diff --git a/GFramework.SourceGenerators.Tests/logging/LoggerGeneratorSnapshotTests.cs b/GFramework.SourceGenerators.Tests/Logging/LoggerGeneratorSnapshotTests.cs similarity index 96% rename from GFramework.SourceGenerators.Tests/logging/LoggerGeneratorSnapshotTests.cs rename to GFramework.SourceGenerators.Tests/Logging/LoggerGeneratorSnapshotTests.cs index 670321f..d90412e 100644 --- a/GFramework.SourceGenerators.Tests/logging/LoggerGeneratorSnapshotTests.cs +++ b/GFramework.SourceGenerators.Tests/Logging/LoggerGeneratorSnapshotTests.cs @@ -1,9 +1,9 @@ using System.IO; -using GFramework.SourceGenerators.logging; -using GFramework.SourceGenerators.Tests.core; +using GFramework.SourceGenerators.Logging; +using GFramework.SourceGenerators.Tests.Core; using NUnit.Framework; -namespace GFramework.SourceGenerators.Tests.logging; +namespace GFramework.SourceGenerators.Tests.Logging; [TestFixture] public class LoggerGeneratorSnapshotTests @@ -14,7 +14,7 @@ public class LoggerGeneratorSnapshotTests const string source = """ using System; - namespace GFramework.SourceGenerators.Abstractions.logging + namespace GFramework.SourceGenerators.Abstractions.Logging { [AttributeUsage(AttributeTargets.Class)] public sealed class LogAttribute : Attribute @@ -26,7 +26,7 @@ public class LoggerGeneratorSnapshotTests } } - namespace GFramework.Core.Abstractions.logging + namespace GFramework.Core.Abstractions.Logging { public interface ILogger { @@ -39,9 +39,9 @@ public class LoggerGeneratorSnapshotTests } } - namespace GFramework.Core.logging + namespace GFramework.Core.Logging { - using GFramework.Core.Abstractions.logging; + using GFramework.Core.Abstractions.Logging; public static class LoggerFactoryResolver { @@ -86,7 +86,7 @@ public class LoggerGeneratorSnapshotTests namespace TestApp { - using GFramework.SourceGenerators.Abstractions.logging; + using GFramework.SourceGenerators.Abstractions.Logging; [Log] public partial class MyService @@ -111,7 +111,7 @@ public class LoggerGeneratorSnapshotTests const string source = """ using System; - namespace GFramework.SourceGenerators.Abstractions.logging + namespace GFramework.SourceGenerators.Abstractions.Logging { [AttributeUsage(AttributeTargets.Class)] public sealed class LogAttribute : Attribute @@ -123,7 +123,7 @@ public class LoggerGeneratorSnapshotTests } } - namespace GFramework.Core.Abstractions.logging + namespace GFramework.Core.Abstractions.Logging { public interface ILogger { @@ -136,9 +136,9 @@ public class LoggerGeneratorSnapshotTests } } - namespace GFramework.Core.logging + namespace GFramework.Core.Logging { - using GFramework.Core.Abstractions.logging; + using GFramework.Core.Abstractions.Logging; public static class LoggerFactoryResolver { @@ -183,7 +183,7 @@ public class LoggerGeneratorSnapshotTests namespace TestApp { - using GFramework.SourceGenerators.Abstractions.logging; + using GFramework.SourceGenerators.Abstractions.Logging; [Log(Name = "CustomLogger")] public partial class MyService @@ -208,7 +208,7 @@ public class LoggerGeneratorSnapshotTests const string source = """ using System; - namespace GFramework.SourceGenerators.Abstractions.logging + namespace GFramework.SourceGenerators.Abstractions.Logging { [AttributeUsage(AttributeTargets.Class)] public sealed class LogAttribute : Attribute @@ -220,7 +220,7 @@ public class LoggerGeneratorSnapshotTests } } - namespace GFramework.Core.Abstractions.logging + namespace GFramework.Core.Abstractions.Logging { public interface ILogger { @@ -233,9 +233,9 @@ public class LoggerGeneratorSnapshotTests } } - namespace GFramework.Core.logging + namespace GFramework.Core.Logging { - using GFramework.Core.Abstractions.logging; + using GFramework.Core.Abstractions.Logging; public static class LoggerFactoryResolver { @@ -280,7 +280,7 @@ public class LoggerGeneratorSnapshotTests namespace TestApp { - using GFramework.SourceGenerators.Abstractions.logging; + using GFramework.SourceGenerators.Abstractions.Logging; [Log(FieldName = "MyLogger")] public partial class MyService @@ -305,7 +305,7 @@ public class LoggerGeneratorSnapshotTests const string source = """ using System; - namespace GFramework.SourceGenerators.Abstractions.logging + namespace GFramework.SourceGenerators.Abstractions.Logging { [AttributeUsage(AttributeTargets.Class)] public sealed class LogAttribute : Attribute @@ -317,7 +317,7 @@ public class LoggerGeneratorSnapshotTests } } - namespace GFramework.Core.Abstractions.logging + namespace GFramework.Core.Abstractions.Logging { public interface ILogger { @@ -330,9 +330,9 @@ public class LoggerGeneratorSnapshotTests } } - namespace GFramework.Core.logging + namespace GFramework.Core.Logging { - using GFramework.Core.Abstractions.logging; + using GFramework.Core.Abstractions.Logging; public static class LoggerFactoryResolver { @@ -377,7 +377,7 @@ public class LoggerGeneratorSnapshotTests namespace TestApp { - using GFramework.SourceGenerators.Abstractions.logging; + using GFramework.SourceGenerators.Abstractions.Logging; [Log(IsStatic = false)] public partial class MyService @@ -402,7 +402,7 @@ public class LoggerGeneratorSnapshotTests const string source = """ using System; - namespace GFramework.SourceGenerators.Abstractions.logging + namespace GFramework.SourceGenerators.Abstractions.Logging { [AttributeUsage(AttributeTargets.Class)] public sealed class LogAttribute : Attribute @@ -414,7 +414,7 @@ public class LoggerGeneratorSnapshotTests } } - namespace GFramework.Core.Abstractions.logging + namespace GFramework.Core.Abstractions.Logging { public interface ILogger { @@ -427,9 +427,9 @@ public class LoggerGeneratorSnapshotTests } } - namespace GFramework.Core.logging + namespace GFramework.Core.Logging { - using GFramework.Core.Abstractions.logging; + using GFramework.Core.Abstractions.Logging; public static class LoggerFactoryResolver { @@ -474,7 +474,7 @@ public class LoggerGeneratorSnapshotTests namespace TestApp { - using GFramework.SourceGenerators.Abstractions.logging; + using GFramework.SourceGenerators.Abstractions.Logging; [Log(AccessModifier = "public")] public partial class MyService @@ -499,7 +499,7 @@ public class LoggerGeneratorSnapshotTests const string source = """ using System; - namespace GFramework.SourceGenerators.Abstractions.logging + namespace GFramework.SourceGenerators.Abstractions.Logging { [AttributeUsage(AttributeTargets.Class)] public sealed class LogAttribute : Attribute @@ -511,7 +511,7 @@ public class LoggerGeneratorSnapshotTests } } - namespace GFramework.Core.Abstractions.logging + namespace GFramework.Core.Abstractions.Logging { public interface ILogger { @@ -524,9 +524,9 @@ public class LoggerGeneratorSnapshotTests } } - namespace GFramework.Core.logging + namespace GFramework.Core.Logging { - using GFramework.Core.Abstractions.logging; + using GFramework.Core.Abstractions.Logging; public static class LoggerFactoryResolver { @@ -571,7 +571,7 @@ public class LoggerGeneratorSnapshotTests namespace TestApp { - using GFramework.SourceGenerators.Abstractions.logging; + using GFramework.SourceGenerators.Abstractions.Logging; [Log] public partial class MyService diff --git a/GFramework.SourceGenerators.Tests/rule/ContextAwareGeneratorSnapshotTests.cs b/GFramework.SourceGenerators.Tests/Rule/ContextAwareGeneratorSnapshotTests.cs similarity index 90% rename from GFramework.SourceGenerators.Tests/rule/ContextAwareGeneratorSnapshotTests.cs rename to GFramework.SourceGenerators.Tests/Rule/ContextAwareGeneratorSnapshotTests.cs index a91a721..3340cbb 100644 --- a/GFramework.SourceGenerators.Tests/rule/ContextAwareGeneratorSnapshotTests.cs +++ b/GFramework.SourceGenerators.Tests/Rule/ContextAwareGeneratorSnapshotTests.cs @@ -1,9 +1,9 @@ using System.IO; -using GFramework.SourceGenerators.rule; -using GFramework.SourceGenerators.Tests.core; +using GFramework.SourceGenerators.Rule; +using GFramework.SourceGenerators.Tests.Core; using NUnit.Framework; -namespace GFramework.SourceGenerators.Tests.rule; +namespace GFramework.SourceGenerators.Tests.Rule; /// /// 上下文感知生成器快照测试类 @@ -24,24 +24,24 @@ public class ContextAwareGeneratorSnapshotTests const string source = """ using System; - namespace GFramework.SourceGenerators.Abstractions.rule + namespace GFramework.SourceGenerators.Abstractions.Rule { [AttributeUsage(AttributeTargets.Class)] public sealed class ContextAwareAttribute : Attribute { } } - namespace GFramework.Core.Abstractions.rule + namespace GFramework.Core.Abstractions.Rule { public interface IContextAware { void SetContext( - GFramework.Core.Abstractions.architecture.IArchitectureContext context); + GFramework.Core.Abstractions.Architecture.IArchitectureContext context); - GFramework.Core.Abstractions.architecture.IArchitectureContext GetContext(); + GFramework.Core.Abstractions.Architecture.IArchitectureContext GetContext(); } } - namespace GFramework.Core.Abstractions.architecture + namespace GFramework.Core.Abstractions.Architecture { public interface IArchitectureContext { } @@ -52,9 +52,9 @@ public class ContextAwareGeneratorSnapshotTests } } - namespace GFramework.Core.architecture + namespace GFramework.Core.Architecture { - using GFramework.Core.Abstractions.architecture; + using GFramework.Core.Abstractions.Architecture; public sealed class GameContextProvider : IArchitectureContextProvider { @@ -74,8 +74,8 @@ public class ContextAwareGeneratorSnapshotTests namespace TestApp { - using GFramework.SourceGenerators.Abstractions.rule; - using GFramework.Core.Abstractions.rule; + using GFramework.SourceGenerators.Abstractions.Rule; + using GFramework.Core.Abstractions.Rule; [ContextAware] public partial class MyRule : IContextAware diff --git a/GFramework.SourceGenerators/analyzers/PriorityUsageAnalyzer.cs b/GFramework.SourceGenerators/Analyzers/PriorityUsageAnalyzer.cs similarity index 92% rename from GFramework.SourceGenerators/analyzers/PriorityUsageAnalyzer.cs rename to GFramework.SourceGenerators/Analyzers/PriorityUsageAnalyzer.cs index 33a770a..3267853 100644 --- a/GFramework.SourceGenerators/analyzers/PriorityUsageAnalyzer.cs +++ b/GFramework.SourceGenerators/Analyzers/PriorityUsageAnalyzer.cs @@ -1,10 +1,10 @@ using System.Collections.Immutable; -using GFramework.SourceGenerators.diagnostics; +using GFramework.SourceGenerators.Diagnostics; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.Diagnostics; using Microsoft.CodeAnalysis.Operations; -namespace GFramework.SourceGenerators.analyzers; +namespace GFramework.SourceGenerators.Analyzers; /// /// 优先级使用分析器,检测应该使用 GetAllByPriority 而非 GetAll 的场景 @@ -30,16 +30,16 @@ public sealed class PriorityUsageAnalyzer : DiagnosticAnalyzer { // 缓存符号查找 var iPrioritized = compilationContext.Compilation.GetTypeByMetadataName( - "GFramework.Core.Abstractions.bases.IPrioritized"); + "GFramework.Core.Abstractions.Bases.IPrioritized"); if (iPrioritized == null) return; var iocContainer = compilationContext.Compilation.GetTypeByMetadataName( - "GFramework.Core.Abstractions.ioc.IIocContainer"); + "GFramework.Core.Abstractions.IoC.IIocContainer"); var architectureContext = compilationContext.Compilation.GetTypeByMetadataName( - "GFramework.Core.Abstractions.architecture.IArchitectureContext"); + "GFramework.Core.Abstractions.Architecture.IArchitectureContext"); compilationContext.RegisterOperationAction( operationContext => AnalyzeInvocation( diff --git a/GFramework.SourceGenerators/bases/PriorityGenerator.cs b/GFramework.SourceGenerators/Bases/PriorityGenerator.cs similarity index 92% rename from GFramework.SourceGenerators/bases/PriorityGenerator.cs rename to GFramework.SourceGenerators/Bases/PriorityGenerator.cs index 69a9acd..9cb63d8 100644 --- a/GFramework.SourceGenerators/bases/PriorityGenerator.cs +++ b/GFramework.SourceGenerators/Bases/PriorityGenerator.cs @@ -1,12 +1,12 @@ using System.Text; -using GFramework.SourceGenerators.Common.constants; -using GFramework.SourceGenerators.Common.generator; -using GFramework.SourceGenerators.diagnostics; +using GFramework.SourceGenerators.Common.Constants; +using GFramework.SourceGenerators.Common.Generator; +using GFramework.SourceGenerators.Diagnostics; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; -namespace GFramework.SourceGenerators.bases; +namespace GFramework.SourceGenerators.Bases; /// /// Priority 特性生成器,为标记了 [Priority] 的类自动生成 IPrioritized 接口实现 @@ -18,7 +18,7 @@ public sealed class PriorityGenerator : MetadataAttributeClassGeneratorBase /// 获取特性的元数据名称 /// protected override string AttributeMetadataName => - $"{PathContests.SourceGeneratorsAbstractionsPath}.bases.PriorityAttribute"; + $"{PathContests.SourceGeneratorsAbstractionsPath}.Bases.PriorityAttribute"; /// /// 获取特性的短名称(不包含后缀) @@ -67,7 +67,7 @@ public sealed class PriorityGenerator : MetadataAttributeClassGeneratorBase // 4. 检查是否已手动实现 IPrioritized var iPrioritized = compilation.GetTypeByMetadataName( - $"{PathContests.CoreAbstractionsNamespace}.bases.IPrioritized"); + $"{PathContests.CoreAbstractionsNamespace}.Bases.IPrioritized"); if (iPrioritized != null && symbol.AllInterfaces.Contains(iPrioritized, SymbolEqualityComparer.Default)) { @@ -123,7 +123,7 @@ public sealed class PriorityGenerator : MetadataAttributeClassGeneratorBase : string.Empty; sb.AppendLine( - $"partial class {symbol.Name}{typeParameters} : global::GFramework.Core.Abstractions.bases.IPrioritized"); + $"partial class {symbol.Name}{typeParameters} : global::GFramework.Core.Abstractions.Bases.IPrioritized"); sb.AppendLine("{"); sb.AppendLine(" /// "); sb.AppendLine($" /// 获取优先级值: {priorityValue}"); diff --git a/GFramework.SourceGenerators/diagnostics/ContextAwareDiagnostic.cs b/GFramework.SourceGenerators/Diagnostics/ContextAwareDiagnostic.cs similarity index 85% rename from GFramework.SourceGenerators/diagnostics/ContextAwareDiagnostic.cs rename to GFramework.SourceGenerators/Diagnostics/ContextAwareDiagnostic.cs index f44b406..94dbd83 100644 --- a/GFramework.SourceGenerators/diagnostics/ContextAwareDiagnostic.cs +++ b/GFramework.SourceGenerators/Diagnostics/ContextAwareDiagnostic.cs @@ -1,6 +1,6 @@ using Microsoft.CodeAnalysis; -namespace GFramework.SourceGenerators.diagnostics; +namespace GFramework.SourceGenerators.Diagnostics; /// /// 提供与上下文感知相关的诊断规则定义 @@ -14,7 +14,7 @@ public static class ContextAwareDiagnostic "GF_Rule_001", "ContextAware can only be applied to class", "ContextAwareAttribute can only be applied to class '{0}'", - "GFramework.SourceGenerators.rule", + "GFramework.SourceGenerators.Rule", DiagnosticSeverity.Error, true ); diff --git a/GFramework.SourceGenerators/diagnostics/LoggerDiagnostic.cs b/GFramework.SourceGenerators/Diagnostics/LoggerDiagnostic.cs similarity index 86% rename from GFramework.SourceGenerators/diagnostics/LoggerDiagnostic.cs rename to GFramework.SourceGenerators/Diagnostics/LoggerDiagnostic.cs index 27b5cf0..26d5a78 100644 --- a/GFramework.SourceGenerators/diagnostics/LoggerDiagnostic.cs +++ b/GFramework.SourceGenerators/Diagnostics/LoggerDiagnostic.cs @@ -1,6 +1,6 @@ using Microsoft.CodeAnalysis; -namespace GFramework.SourceGenerators.diagnostics; +namespace GFramework.SourceGenerators.Diagnostics; /// /// 提供诊断描述符的静态类,用于GFramework日志生成器的编译时检查 @@ -15,7 +15,7 @@ internal static class LoggerDiagnostics "GF_Logging_001", "LogAttribute cannot generate Logger", "LogAttribute on class '{0}' is ineffective: {1}", - "GFramework.Godot.logging", + "GFramework.Godot.Logging", DiagnosticSeverity.Warning, true); } \ No newline at end of file diff --git a/GFramework.SourceGenerators/diagnostics/PriorityDiagnostic.cs b/GFramework.SourceGenerators/Diagnostics/PriorityDiagnostic.cs similarity index 98% rename from GFramework.SourceGenerators/diagnostics/PriorityDiagnostic.cs rename to GFramework.SourceGenerators/Diagnostics/PriorityDiagnostic.cs index e63837d..8ad8fac 100644 --- a/GFramework.SourceGenerators/diagnostics/PriorityDiagnostic.cs +++ b/GFramework.SourceGenerators/Diagnostics/PriorityDiagnostic.cs @@ -1,6 +1,6 @@ using Microsoft.CodeAnalysis; -namespace GFramework.SourceGenerators.diagnostics; +namespace GFramework.SourceGenerators.Diagnostics; /// /// Priority 特性相关的诊断信息 diff --git a/GFramework.SourceGenerators/enums/EnumExtensionsGenerator.cs b/GFramework.SourceGenerators/Enums/EnumExtensionsGenerator.cs similarity index 93% rename from GFramework.SourceGenerators/enums/EnumExtensionsGenerator.cs rename to GFramework.SourceGenerators/Enums/EnumExtensionsGenerator.cs index a70e841..2a5e304 100644 --- a/GFramework.SourceGenerators/enums/EnumExtensionsGenerator.cs +++ b/GFramework.SourceGenerators/Enums/EnumExtensionsGenerator.cs @@ -1,11 +1,11 @@ using System.Text; -using GFramework.SourceGenerators.Common.constants; -using GFramework.SourceGenerators.Common.diagnostics; -using GFramework.SourceGenerators.Common.generator; +using GFramework.SourceGenerators.Common.Constants; +using GFramework.SourceGenerators.Common.Diagnostics; +using GFramework.SourceGenerators.Common.Generator; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp.Syntax; -namespace GFramework.SourceGenerators.enums; +namespace GFramework.SourceGenerators.Enums; /// /// 枚举扩展方法生成器,用于自动生成枚举相关的扩展方法 @@ -14,7 +14,7 @@ namespace GFramework.SourceGenerators.enums; public sealed class EnumExtensionsGenerator : AttributeEnumGeneratorBase { private static string AttributeMetadataName => - $"{PathContests.SourceGeneratorsAbstractionsPath}.enums.GenerateEnumExtensionsAttribute"; + $"{PathContests.SourceGeneratorsAbstractionsPath}.Enums.GenerateEnumExtensionsAttribute"; /// /// 仅用于 Syntax 粗筛选 diff --git a/GFramework.SourceGenerators/logging/LoggerGenerator.cs b/GFramework.SourceGenerators/Logging/LoggerGenerator.cs similarity index 90% rename from GFramework.SourceGenerators/logging/LoggerGenerator.cs rename to GFramework.SourceGenerators/Logging/LoggerGenerator.cs index 751cdf6..8f3b789 100644 --- a/GFramework.SourceGenerators/logging/LoggerGenerator.cs +++ b/GFramework.SourceGenerators/Logging/LoggerGenerator.cs @@ -1,12 +1,12 @@ using System.Text; -using GFramework.SourceGenerators.Abstractions.logging; -using GFramework.SourceGenerators.Common.constants; -using GFramework.SourceGenerators.Common.extensions; -using GFramework.SourceGenerators.Common.generator; +using GFramework.SourceGenerators.Abstractions.Logging; +using GFramework.SourceGenerators.Common.Constants; +using GFramework.SourceGenerators.Common.Extensions; +using GFramework.SourceGenerators.Common.Generator; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp.Syntax; -namespace GFramework.SourceGenerators.logging; +namespace GFramework.SourceGenerators.Logging; /// /// 日志生成器,用于为标记了LogAttribute的类自动生成日志字段 @@ -66,8 +66,8 @@ public sealed class LoggerGenerator : TypeAttributeClassGeneratorBase var sb = new StringBuilder() .AppendLine("// ") - .AppendLine($"using {PathContests.CoreAbstractionsNamespace}.logging;") - .AppendLine($"using {PathContests.CoreNamespace}.logging;"); + .AppendLine($"using {PathContests.CoreAbstractionsNamespace}.Logging;") + .AppendLine($"using {PathContests.CoreNamespace}.Logging;"); if (ns is not null) sb.AppendLine() diff --git a/GFramework.SourceGenerators/rule/ContextAwareGenerator.cs b/GFramework.SourceGenerators/Rule/ContextAwareGenerator.cs similarity index 92% rename from GFramework.SourceGenerators/rule/ContextAwareGenerator.cs rename to GFramework.SourceGenerators/Rule/ContextAwareGenerator.cs index db695ca..1d0853d 100644 --- a/GFramework.SourceGenerators/rule/ContextAwareGenerator.cs +++ b/GFramework.SourceGenerators/Rule/ContextAwareGenerator.cs @@ -1,13 +1,13 @@ using System.Text; -using GFramework.SourceGenerators.Common.constants; -using GFramework.SourceGenerators.Common.diagnostics; -using GFramework.SourceGenerators.Common.generator; -using GFramework.SourceGenerators.diagnostics; +using GFramework.SourceGenerators.Common.Constants; +using GFramework.SourceGenerators.Common.Diagnostics; +using GFramework.SourceGenerators.Common.Generator; +using GFramework.SourceGenerators.Diagnostics; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; -namespace GFramework.SourceGenerators.rule; +namespace GFramework.SourceGenerators.Rule; /// /// 上下文感知生成器,用于为标记了ContextAware特性的类自动生成IContextAware接口实现 @@ -19,7 +19,7 @@ public sealed class ContextAwareGenerator : MetadataAttributeClassGeneratorBase /// 获取特性的元数据名称 /// protected override string AttributeMetadataName => - $"{PathContests.SourceGeneratorsAbstractionsPath}.rule.ContextAwareAttribute"; + $"{PathContests.SourceGeneratorsAbstractionsPath}.Rule.ContextAwareAttribute"; /// /// 获取特性的短名称(不包含后缀) @@ -85,7 +85,7 @@ public sealed class ContextAwareGenerator : MetadataAttributeClassGeneratorBase : symbol.ContainingNamespace.ToDisplayString(); var iContextAware = compilation.GetTypeByMetadataName( - $"{PathContests.CoreAbstractionsNamespace}.rule.IContextAware")!; + $"{PathContests.CoreAbstractionsNamespace}.Rule.IContextAware")!; var sb = new StringBuilder(); sb.AppendLine("// "); @@ -129,21 +129,21 @@ public sealed class ContextAwareGenerator : MetadataAttributeClassGeneratorBase /// 字符串构建器 private static void GenerateContextProperty(StringBuilder sb) { - sb.AppendLine(" private global::GFramework.Core.Abstractions.architecture.IArchitectureContext? _context;"); + sb.AppendLine(" private global::GFramework.Core.Abstractions.Architecture.IArchitectureContext? _context;"); sb.AppendLine( - " private static global::GFramework.Core.Abstractions.architecture.IArchitectureContextProvider? _contextProvider;"); + " private static global::GFramework.Core.Abstractions.Architecture.IArchitectureContextProvider? _contextProvider;"); sb.AppendLine(); sb.AppendLine(" /// "); sb.AppendLine(" /// 自动获取的架构上下文(懒加载,默认使用 GameContextProvider)"); sb.AppendLine(" /// "); - sb.AppendLine(" protected global::GFramework.Core.Abstractions.architecture.IArchitectureContext Context"); + sb.AppendLine(" protected global::GFramework.Core.Abstractions.Architecture.IArchitectureContext Context"); sb.AppendLine(" {"); sb.AppendLine(" get"); sb.AppendLine(" {"); sb.AppendLine(" if (_context == null)"); sb.AppendLine(" {"); sb.AppendLine( - " _contextProvider ??= new global::GFramework.Core.architecture.GameContextProvider();"); + " _contextProvider ??= new global::GFramework.Core.Architecture.GameContextProvider();"); sb.AppendLine(" _context = _contextProvider.GetContext();"); sb.AppendLine(" }"); sb.AppendLine(); @@ -156,7 +156,7 @@ public sealed class ContextAwareGenerator : MetadataAttributeClassGeneratorBase sb.AppendLine(" /// "); sb.AppendLine(" /// 上下文提供者实例"); sb.AppendLine( - " public static void SetContextProvider(global::GFramework.Core.Abstractions.architecture.IArchitectureContextProvider provider)"); + " public static void SetContextProvider(global::GFramework.Core.Abstractions.Architecture.IArchitectureContextProvider provider)"); sb.AppendLine(" {"); sb.AppendLine(" _contextProvider = provider;"); sb.AppendLine(" }"); diff --git a/Godot/script_templates/Node/ControllerTemplate.cs b/Godot/script_templates/Node/ControllerTemplate.cs index f65a766..155deb8 100644 --- a/Godot/script_templates/Node/ControllerTemplate.cs +++ b/Godot/script_templates/Node/ControllerTemplate.cs @@ -1,9 +1,9 @@ // meta-name: 控制器类模板 // meta-description: 负责管理场景的生命周期和架构关联 using Godot; -using GFramework.Core.Abstractions.controller; -using GFramework.SourceGenerators.Abstractions.logging; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Controller; +using GFramework.SourceGenerators.Abstractions.Logging; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] diff --git a/Godot/script_templates/Node/PageControllerTemplate.cs b/Godot/script_templates/Node/PageControllerTemplate.cs index 32d9672..5e9c606 100644 --- a/Godot/script_templates/Node/PageControllerTemplate.cs +++ b/Godot/script_templates/Node/PageControllerTemplate.cs @@ -1,12 +1,12 @@ // meta-name: UI页面控制器类模板 // meta-description: 负责管理UI页面场景的生命周期和架构关联 using Godot; -using GFramework.Core.Abstractions.controller; -using GFramework.Core.extensions; -using GFramework.Game.Abstractions.ui; -using GFramework.Godot.ui; -using GFramework.SourceGenerators.Abstractions.logging; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Controller; +using GFramework.Core.Extensions; +using GFramework.Game.Abstractions.UI; +using GFramework.Godot.UI; +using GFramework.SourceGenerators.Abstractions.Logging; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] diff --git a/docs/zh-CN/best-practices/architecture-patterns.md b/docs/zh-CN/best-practices/architecture-patterns.md index e743ca3..a94580c 100644 --- a/docs/zh-CN/best-practices/architecture-patterns.md +++ b/docs/zh-CN/best-practices/architecture-patterns.md @@ -657,7 +657,7 @@ public partial class UIController : IController ### 事件组合 ```csharp -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.SourceGenerators.Abstractions.Rule; // 使用 OrEvent 组合多个事件 [ContextAware] diff --git a/docs/zh-CN/best-practices/index.md b/docs/zh-CN/best-practices/index.md index 6eb1b22..5e85b09 100644 --- a/docs/zh-CN/best-practices/index.md +++ b/docs/zh-CN/best-practices/index.md @@ -32,8 +32,8 @@ public class CombatSystem : AbstractSystem } } -using GFramework.Core.Abstractions.controller; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Controller; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] public partial class PlayerController : IController @@ -181,8 +181,8 @@ public class StorageUtility : IUtility { } ### 1. 正确的注销管理 ```csharp -using GFramework.Core.Abstractions.controller; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Controller; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] public partial class MyController : IController diff --git a/docs/zh-CN/best-practices/performance.md b/docs/zh-CN/best-practices/performance.md index 375e23c..b1dfd7a 100644 --- a/docs/zh-CN/best-practices/performance.md +++ b/docs/zh-CN/best-practices/performance.md @@ -277,8 +277,8 @@ public class PoolMonitorSystem : AbstractSystem ### 1. 避免事件订阅泄漏 ```csharp -using GFramework.Core.Abstractions.controller; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Controller; +using GFramework.SourceGenerators.Abstractions.Rule; // ✅ 好的做法:正确管理事件订阅 [ContextAware] diff --git a/docs/zh-CN/contributing.md b/docs/zh-CN/contributing.md index a2839b1..eeb1a2f 100644 --- a/docs/zh-CN/contributing.md +++ b/docs/zh-CN/contributing.md @@ -417,7 +417,7 @@ Migration guide: 将 Init() 改为 async Task Init() ```csharp using Xunit; -namespace GFramework.Core.Tests.events; +namespace GFramework.Core.Tests.Events; public class EventBusTests { diff --git a/docs/zh-CN/core/architecture.md b/docs/zh-CN/core/architecture.md index ea4e6e4..2cfdaab 100644 --- a/docs/zh-CN/core/architecture.md +++ b/docs/zh-CN/core/architecture.md @@ -176,8 +176,8 @@ await architecture.WaitUntilReadyAsync(); // 4. 通过依赖注入使用架构 // 在 Controller 或其他组件中获取架构实例 -using GFramework.Core.Abstractions.controller; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Controller; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] public partial class GameController : IController diff --git a/docs/zh-CN/core/command.md b/docs/zh-CN/core/command.md index cd0d132..a383f56 100644 --- a/docs/zh-CN/core/command.md +++ b/docs/zh-CN/core/command.md @@ -56,8 +56,8 @@ public class SimpleCommand : AbstractCommand } // 使用命令 -using GFramework.Core.Abstractions.controller; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Controller; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] public partial class GameController : IController @@ -196,8 +196,8 @@ public class StartGameCommand : AbstractCommand } // 使用命令 -using GFramework.Core.Abstractions.controller; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Controller; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] public partial class GameController : IController diff --git a/docs/zh-CN/core/configuration.md b/docs/zh-CN/core/configuration.md index 5f26fb8..f36a80a 100644 --- a/docs/zh-CN/core/configuration.md +++ b/docs/zh-CN/core/configuration.md @@ -622,7 +622,7 @@ public class SettingsSystem : AbstractSystem ### 在 Controller 中使用 ```csharp -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] public partial class SettingsController : IController diff --git a/docs/zh-CN/core/coroutine.md b/docs/zh-CN/core/coroutine.md index 6fa8ab7..09f2c20 100644 --- a/docs/zh-CN/core/coroutine.md +++ b/docs/zh-CN/core/coroutine.md @@ -27,7 +27,7 @@ description: 协程系统提供了轻量级的异步操作管理机制,支持 `CoroutineScheduler` 是协程系统的核心,负责管理和执行所有协程: ```csharp -using GFramework.Core.coroutine; +using GFramework.Core.Coroutine; // 创建调度器(通常由架构自动管理) var scheduler = new CoroutineScheduler(timeSource); @@ -72,8 +72,8 @@ public interface IYieldInstruction ### 创建简单协程 ```csharp -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Coroutine.Instructions; public IEnumerator SimpleCoroutine() { @@ -94,7 +94,7 @@ public IEnumerator SimpleCoroutine() ### 使用协程辅助方法 ```csharp -using GFramework.Core.coroutine; +using GFramework.Core.Coroutine; public IEnumerator HelperCoroutine() { @@ -118,8 +118,8 @@ public IEnumerator HelperCoroutine() ### 在架构组件中使用 ```csharp -using GFramework.Core.model; -using GFramework.Core.extensions; +using GFramework.Core.Model; +using GFramework.Core.Extensions; public class PlayerModel : AbstractModel { @@ -146,7 +146,7 @@ public class PlayerModel : AbstractModel ### 等待事件 ```csharp -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Coroutine.Instructions; public IEnumerator WaitForEventExample() { @@ -315,7 +315,7 @@ scheduler.Run(CoroutineHelper.RepeatCallWhile(1.0, () => isRunning, () => ### 与命令系统集成 ```csharp -using GFramework.Core.coroutine.extensions; +using GFramework.Core.Coroutine.Extensions; public IEnumerator ExecuteCommandInCoroutine() { diff --git a/docs/zh-CN/core/cqrs.md b/docs/zh-CN/core/cqrs.md index 7045536..f1f3801 100644 --- a/docs/zh-CN/core/cqrs.md +++ b/docs/zh-CN/core/cqrs.md @@ -28,8 +28,8 @@ CQRS(Command Query Responsibility Segregation,命令查询职责分离)是 命令表示修改系统状态的操作,如创建、更新、删除: ```csharp -using GFramework.Core.cqrs.command; -using GFramework.Core.Abstractions.cqrs.command; +using GFramework.Core.CQRS.Command; +using GFramework.Core.Abstractions.CQRS.Command; // 定义命令输入 public class CreatePlayerInput : ICommandInput @@ -50,8 +50,8 @@ public class CreatePlayerCommand : CommandBase 查询表示读取系统状态的操作,不修改数据: ```csharp -using GFramework.Core.cqrs.query; -using GFramework.Core.Abstractions.cqrs.query; +using GFramework.Core.CQRS.Query; +using GFramework.Core.Abstractions.CQRS.Query; // 定义查询输入 public class GetPlayerInput : IQueryInput @@ -71,7 +71,7 @@ public class GetPlayerQuery : QueryBase 处理器负责执行命令或查询的具体逻辑: ```csharp -using GFramework.Core.cqrs.command; +using GFramework.Core.CQRS.Command; using Mediator; // 命令处理器 @@ -232,8 +232,8 @@ public class GameArchitecture : Architecture Request 是更通用的消息类型,可以用于任何场景: ```csharp -using GFramework.Core.cqrs.request; -using GFramework.Core.Abstractions.cqrs.request; +using GFramework.Core.CQRS.Request; +using GFramework.Core.Abstractions.CQRS.Request; // 定义请求输入 public class ValidatePlayerInput : IRequestInput @@ -270,8 +270,8 @@ public class ValidatePlayerRequestHandler : AbstractRequestHandler.Some(42); @@ -116,7 +116,7 @@ option.Match( #### 创建 Result ```csharp -using GFramework.Core.functional; +using GFramework.Core.Functional; // 创建成功结果 var success = Result.Succeed(42); @@ -192,7 +192,7 @@ result.Match( #### Pipe:管道转换 ```csharp -using GFramework.Core.functional.pipe; +using GFramework.Core.Functional.pipe; var result = 42 .Pipe(x => x * 2) // 84 @@ -235,7 +235,7 @@ var result = 42.PipeIf( #### Compose:函数组合 ```csharp -using GFramework.Core.functional.functions; +using GFramework.Core.Functional.functions; Func addOne = x => x + 1; Func multiplyTwo = x => x * 2; @@ -270,7 +270,7 @@ var result = add5(3); // 8 #### 链式副作用 ```csharp -using GFramework.Core.functional.result; +using GFramework.Core.Functional.result; Result.Succeed(42) .OnSuccess(x => Console.WriteLine($"Value: {x}")) @@ -304,7 +304,7 @@ var combined = results.Combine(); // Result> #### TakeIf:条件返回 ```csharp -using GFramework.Core.functional.control; +using GFramework.Core.Functional.control; var user = GetUser().TakeIf(u => u.IsActive); // 活跃用户或 null @@ -345,7 +345,7 @@ var result = ControlExtensions.Retry( #### 异步重试 ```csharp -using GFramework.Core.functional.async; +using GFramework.Core.Functional.async; var result = await (() => UnreliableOperationAsync()) .WithRetryAsync( diff --git a/docs/zh-CN/core/index.md b/docs/zh-CN/core/index.md index 68532a5..1d1cfda 100644 --- a/docs/zh-CN/core/index.md +++ b/docs/zh-CN/core/index.md @@ -127,7 +127,7 @@ Event ──┘ **作用**:Architecture 是整个应用的"中央调度器",负责管理所有组件的生命周期。 ```csharp -using GFramework.Core.architecture; +using GFramework.Core.Architecture; public class GameArchitecture : Architecture { diff --git a/docs/zh-CN/core/lifecycle.md b/docs/zh-CN/core/lifecycle.md index 26afbfd..7e13a20 100644 --- a/docs/zh-CN/core/lifecycle.md +++ b/docs/zh-CN/core/lifecycle.md @@ -94,7 +94,7 @@ public class GameSystem : AbstractSystem 最常见的方式是继承框架提供的抽象基类: ```csharp -using GFramework.Core.model; +using GFramework.Core.Model; public class InventoryModel : AbstractModel { @@ -114,8 +114,8 @@ public class InventoryModel : AbstractModel 对于需要清理资源的组件,实现 `IDestroyable` 接口: ```csharp -using GFramework.Core.Abstractions.system; -using GFramework.Core.Abstractions.lifecycle; +using GFramework.Core.Abstractions.System; +using GFramework.Core.Abstractions.Lifecycle; public class AudioSystem : ISystem, IDestroyable { @@ -164,8 +164,8 @@ public class GameArchitecture : Architecture 对于需要异步操作的组件(如加载配置、连接数据库),使用异步生命周期: ```csharp -using GFramework.Core.Abstractions.lifecycle; -using GFramework.Core.Abstractions.system; +using GFramework.Core.Abstractions.Lifecycle; +using GFramework.Core.Abstractions.System; public class ConfigurationSystem : ISystem, IAsyncInitializable { @@ -191,7 +191,7 @@ public class ConfigurationSystem : ISystem, IAsyncInitializable 对于需要异步清理的资源(如关闭网络连接、保存数据): ```csharp -using GFramework.Core.Abstractions.lifecycle; +using GFramework.Core.Abstractions.Lifecycle; public class NetworkSystem : ISystem, IAsyncDestroyable { @@ -250,7 +250,7 @@ public class DatabaseSystem : ISystem, IAsyncLifecycle 监听架构的生命周期阶段: ```csharp -using GFramework.Core.Abstractions.enums; +using GFramework.Core.Abstractions.Enums; public class AnalyticsSystem : AbstractSystem { diff --git a/docs/zh-CN/core/pause.md b/docs/zh-CN/core/pause.md index 9e43304..7f81f95 100644 --- a/docs/zh-CN/core/pause.md +++ b/docs/zh-CN/core/pause.md @@ -109,7 +109,7 @@ event Action? OnPauseStateChanged; ### 1. 获取暂停管理器 ```csharp -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] public partial class GameController : IController @@ -127,7 +127,7 @@ public partial class GameController : IController ### 2. 简单的暂停/恢复 ```csharp -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] public partial class PauseMenuController : IController @@ -163,7 +163,7 @@ public partial class PauseMenuController : IController ### 3. 使用作用域自动管理 ```csharp -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] public partial class DialogController : IController @@ -215,7 +215,7 @@ public class GameplaySystem : AbstractSystem ### 1. 嵌套暂停 ```csharp -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] public partial class UIManager : IController @@ -254,7 +254,7 @@ public partial class UIManager : IController ### 2. 分组暂停 ```csharp -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] public partial class GameManager : IController @@ -362,7 +362,7 @@ public class GameInitializer ### 4. 监听暂停状态变化 ```csharp -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] public partial class PauseIndicator : IController @@ -404,7 +404,7 @@ public partial class PauseIndicator : IController ### 5. 调试暂停状态 ```csharp -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] public partial class PauseDebugger : IController @@ -441,7 +441,7 @@ public partial class PauseDebugger : IController ### 6. 紧急恢复 ```csharp -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] public partial class EmergencyController : IController @@ -682,7 +682,7 @@ public class ThreadSafeUsage 在组件销毁时注销处理器和事件: ```csharp -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] public partial class ProperCleanup : IController @@ -784,7 +784,7 @@ public class SelectiveSystem : AbstractSystem A: 暂停系统控制是否执行,时间缩放需要使用时间系统: ```csharp -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] public partial class SlowMotionController : IController @@ -829,7 +829,7 @@ _pauseManager.Push("AI 系统", PauseGroup.Custom3); A: 使用 `PauseScope` 配合 `async/await`: ```csharp -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] public partial class AsyncPauseExample : IController diff --git a/docs/zh-CN/core/property.md b/docs/zh-CN/core/property.md index 8c3cd97..fc16fc1 100644 --- a/docs/zh-CN/core/property.md +++ b/docs/zh-CN/core/property.md @@ -198,8 +198,8 @@ public class PlayerModel : AbstractModel ### UI 数据绑定 ```csharp -using GFramework.Core.Abstractions.controller; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Controller; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] public partial class PlayerUI : Control, IController @@ -342,8 +342,8 @@ public class PlayerModel : AbstractModel ### 4. 条件监听 ```c# -using GFramework.Core.Abstractions.controller; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Controller; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] public partial class CombatController : Node, IController diff --git a/docs/zh-CN/core/query.md b/docs/zh-CN/core/query.md index 43b62a6..566de07 100644 --- a/docs/zh-CN/core/query.md +++ b/docs/zh-CN/core/query.md @@ -144,8 +144,8 @@ public class LoadPlayerDataQuery : AbstractAsyncQuery(); @@ -77,7 +77,7 @@ public interface IResourceLoader where T : class 首先需要为每种资源类型注册加载器: ```csharp -using GFramework.Core.Abstractions.resource; +using GFramework.Core.Abstractions.Resource; // 实现纹理加载器 public class TextureLoader : IResourceLoader @@ -192,7 +192,7 @@ public async Task PreloadGameAssets() ### 使用自动释放策略 ```csharp -using GFramework.Core.resource; +using GFramework.Core.Resource; // 设置自动释放策略 var resourceManager = this.GetUtility(); @@ -239,7 +239,7 @@ foreach (var path in resourceManager.GetLoadedResourcePaths()) ### 自定义释放策略 ```csharp -using GFramework.Core.Abstractions.resource; +using GFramework.Core.Abstractions.Resource; // 实现基于时间的释放策略 public class TimeBasedReleaseStrategy : IResourceReleaseStrategy diff --git a/docs/zh-CN/core/state-machine.md b/docs/zh-CN/core/state-machine.md index a757199..449126c 100644 --- a/docs/zh-CN/core/state-machine.md +++ b/docs/zh-CN/core/state-machine.md @@ -66,7 +66,7 @@ public interface IStateMachineSystem : ISystem, IStateMachine 继承 `ContextAwareStateBase` 创建状态: ```csharp -using GFramework.Core.state; +using GFramework.Core.State; // 菜单状态 public class MenuState : ContextAwareStateBase @@ -104,7 +104,7 @@ public class GameplayState : ContextAwareStateBase ### 注册和使用状态机 ```csharp -using GFramework.Core.state; +using GFramework.Core.State; public class GameArchitecture : Architecture { @@ -128,8 +128,8 @@ public class GameArchitecture : Architecture ### 切换状态 ```csharp -using GFramework.Core.Abstractions.controller; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Controller; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] public partial class GameController : IController @@ -185,7 +185,7 @@ public class PauseState : ContextAwareStateBase 处理需要异步操作的状态: ```csharp -using GFramework.Core.Abstractions.state; +using GFramework.Core.Abstractions.State; public class LoadingState : AsyncContextAwareStateBase { @@ -220,8 +220,8 @@ public class LoadingState : AsyncContextAwareStateBase ### 状态历史和回退 ```csharp -using GFramework.Core.Abstractions.controller; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Controller; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] public partial class GameController : IController diff --git a/docs/zh-CN/core/system.md b/docs/zh-CN/core/system.md index eb93282..8bcc44f 100644 --- a/docs/zh-CN/core/system.md +++ b/docs/zh-CN/core/system.md @@ -185,8 +185,8 @@ public class GameArchitecture : Architecture ```csharp // 在 Controller 中 -using GFramework.Core.Abstractions.controller; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Controller; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] public partial class GameController : IController diff --git a/docs/zh-CN/ecs/arch.md b/docs/zh-CN/ecs/arch.md index 6e699ba..68cb026 100644 --- a/docs/zh-CN/ecs/arch.md +++ b/docs/zh-CN/ecs/arch.md @@ -37,8 +37,8 @@ dotnet add package GeWuYou.GFramework.Ecs.Arch ### 1. 注册 ECS 模块 ```csharp -using GFramework.Core.architecture; -using GFramework.Ecs.Arch.extensions; +using GFramework.Core.Architecture; +using GFramework.Ecs.Arch.Extensions; public class GameArchitecture : Architecture { @@ -163,8 +163,8 @@ public class GameArchitecture : Architecture ```csharp using Arch.Core; -using GFramework.Core.Abstractions.rule; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Rule; +using GFramework.SourceGenerators.Abstractions.Rule; using MyGame.Components; [ContextAware] diff --git a/docs/zh-CN/ecs/index.md b/docs/zh-CN/ecs/index.md index b02b696..d0f6602 100644 --- a/docs/zh-CN/ecs/index.md +++ b/docs/zh-CN/ecs/index.md @@ -86,7 +86,7 @@ dotnet add package GeWuYou.GFramework.Ecs.Arch ### 3. 注册 ECS 模块 ```csharp -using GFramework.Core.architecture; +using GFramework.Core.Architecture; using GFramework.Ecs.Arc; public class GameArchitecture : Architecture diff --git a/docs/zh-CN/game/data.md b/docs/zh-CN/game/data.md index cd82606..53a4873 100644 --- a/docs/zh-CN/game/data.md +++ b/docs/zh-CN/game/data.md @@ -80,7 +80,7 @@ public interface IVersionedData : IData ### 定义数据类型 ```csharp -using GFramework.Game.Abstractions.data; +using GFramework.Game.Abstractions.Data; // 简单数据 public class PlayerData : IData @@ -102,8 +102,8 @@ public class SaveData : IVersionedData ### 使用存档仓库 ```csharp -using GFramework.Core.Abstractions.controller; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Controller; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] public partial class SaveController : IController @@ -159,7 +159,7 @@ public partial class SaveController : IController ### 注册存档仓库 ```csharp -using GFramework.Game.data; +using GFramework.Game.Data; public class GameArchitecture : Architecture { @@ -209,8 +209,8 @@ public async Task ShowSaveList() ### 自动保存 ```csharp -using GFramework.Core.Abstractions.controller; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Controller; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] public partial class AutoSaveController : IController @@ -324,8 +324,8 @@ public async Task LoadWithMigration(int slot) ### 使用数据仓库 ```csharp -using GFramework.Core.Abstractions.controller; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Controller; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] public partial class SettingsController : IController diff --git a/docs/zh-CN/game/index.md b/docs/zh-CN/game/index.md index 30ee558..2e1803d 100644 --- a/docs/zh-CN/game/index.md +++ b/docs/zh-CN/game/index.md @@ -62,7 +62,7 @@ GFramework.Game 为游戏开发提供了专门的功能模块,与 GFramework.C ### AbstractModule 基础使用 ```csharp -using GFramework.Game.architecture; +using GFramework.Game.Architecture; public class AudioModule : AbstractModule { @@ -411,7 +411,7 @@ public class PlayerFactory : IAssetFactory ### ScopedStorage 分层存储 ```csharp -using GFramework.Game.storage; +using GFramework.Game.Storage; public class GameDataManager { @@ -655,7 +655,7 @@ public class CachedStorage : IStorage ### JsonSerializer 使用 ```csharp -using GFramework.Game.serializer; +using GFramework.Game.Serializer; public class GameDataSerializer { diff --git a/docs/zh-CN/game/scene.md b/docs/zh-CN/game/scene.md index e9062ba..1644005 100644 --- a/docs/zh-CN/game/scene.md +++ b/docs/zh-CN/game/scene.md @@ -78,7 +78,7 @@ public interface ISceneBehavior 实现 `IScene` 接口创建场景: ```csharp -using GFramework.Game.Abstractions.scene; +using GFramework.Game.Abstractions.Scene; public class MainMenuScene : IScene { @@ -133,7 +133,7 @@ public class MainMenuScene : IScene 在场景注册表中注册场景: ```csharp -using GFramework.Game.Abstractions.scene; +using GFramework.Game.Abstractions.Scene; public class GameSceneRegistry : IGameSceneRegistry { @@ -164,8 +164,8 @@ public class GameSceneRegistry : IGameSceneRegistry 使用场景路由进行导航: ```csharp -using GFramework.Core.Abstractions.controller; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Controller; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] public partial class GameController : IController @@ -244,7 +244,7 @@ await sceneRouter.ReplaceAsync("Gameplay", new GameplayEnterParam 使用路由守卫控制场景切换: ```csharp -using GFramework.Game.Abstractions.scene; +using GFramework.Game.Abstractions.Scene; public class SaveGameGuard : ISceneRouteGuard { @@ -295,7 +295,7 @@ sceneRouter.AddGuard(new SaveGameGuard()); 自定义场景转换逻辑: ```csharp -using GFramework.Game.Abstractions.scene; +using GFramework.Game.Abstractions.Scene; public class FadeTransitionHandler : ISceneTransitionHandler { @@ -352,8 +352,8 @@ sceneRouter.AddTransitionHandler(new FadeTransitionHandler()); ### 场景栈管理 ```csharp -using GFramework.Core.Abstractions.controller; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Controller; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] public partial class SceneNavigationController : IController @@ -436,8 +436,8 @@ public class GameplayScene : IScene ### 场景预加载 ```csharp -using GFramework.Core.Abstractions.controller; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Controller; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] public partial class PreloadController : IController diff --git a/docs/zh-CN/game/serialization.md b/docs/zh-CN/game/serialization.md index 4cb0537..d783979 100644 --- a/docs/zh-CN/game/serialization.md +++ b/docs/zh-CN/game/serialization.md @@ -74,8 +74,8 @@ public sealed class JsonSerializer : IRuntimeTypeSerializer 在架构中注册序列化器: ```csharp -using GFramework.Core.Abstractions.serializer; -using GFramework.Game.serializer; +using GFramework.Core.Abstractions.Serializer; +using GFramework.Game.Serializer; public class GameArchitecture : Architecture { @@ -94,7 +94,7 @@ public class GameArchitecture : Architecture 使用泛型 API 序列化对象: ```csharp -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.SourceGenerators.Abstractions.Rule; public class PlayerData { @@ -173,9 +173,9 @@ public void SerializeRuntimeType() 序列化器与存储系统配合使用: ```csharp -using GFramework.Core.Abstractions.storage; -using GFramework.Game.storage; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Storage; +using GFramework.Game.Storage; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] public partial class DataManager : IController diff --git a/docs/zh-CN/game/storage.md b/docs/zh-CN/game/storage.md index ab07b49..3de0170 100644 --- a/docs/zh-CN/game/storage.md +++ b/docs/zh-CN/game/storage.md @@ -97,8 +97,8 @@ public enum StorageKinds ### 创建文件存储 ```csharp -using GFramework.Game.storage; -using GFramework.Game.serializer; +using GFramework.Game.Storage; +using GFramework.Game.Serializer; // 创建序列化器 var serializer = new JsonSerializer(); @@ -194,7 +194,7 @@ int gold = storage.Read("player/inventory/gold"); ### 创建作用域存储 ```csharp -using GFramework.Game.storage; +using GFramework.Game.Storage; // 基于文件存储创建作用域存储 var baseStorage = new FileStorage(@"C:\MyGame\Data", serializer); @@ -451,7 +451,7 @@ public class CachedStorage : IStorage ### 使用 Godot 文件存储 ```csharp -using GFramework.Godot.storage; +using GFramework.Godot.Storage; // 创建 Godot 文件存储 var storage = new GodotFileStorage(serializer); diff --git a/docs/zh-CN/game/ui.md b/docs/zh-CN/game/ui.md index 6597eef..71502a3 100644 --- a/docs/zh-CN/game/ui.md +++ b/docs/zh-CN/game/ui.md @@ -79,7 +79,7 @@ public enum UiLayer 实现 `IUiPage` 接口创建 UI 页面: ```csharp -using GFramework.Game.Abstractions.ui; +using GFramework.Game.Abstractions.UI; public class MainMenuPage : IUiPage { @@ -126,8 +126,8 @@ public class MainMenuPage : IUiPage 使用 UI 路由进行导航: ```csharp -using GFramework.Core.Abstractions.controller; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Controller; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] public partial class UiController : IController @@ -229,7 +229,7 @@ await uiRouter.PushAsync("Settings", new SettingsEnterParam ### 路由守卫 ```csharp -using GFramework.Game.Abstractions.ui; +using GFramework.Game.Abstractions.UI; public class UnsavedChangesGuard : IUiRouteGuard { @@ -267,7 +267,7 @@ uiRouter.AddGuard(new UnsavedChangesGuard()); ### UI 转换处理器 ```csharp -using GFramework.Game.Abstractions.ui; +using GFramework.Game.Abstractions.UI; public class FadeTransitionHandler : IUiTransitionHandler { @@ -304,8 +304,8 @@ uiRouter.RegisterHandler(new FadeTransitionHandler()); ### UI 句柄管理 ```csharp -using GFramework.Core.Abstractions.controller; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Controller; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] public partial class DialogController : IController @@ -337,8 +337,8 @@ public partial class DialogController : IController ### UI 栈管理 ```csharp -using GFramework.Core.Abstractions.controller; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Controller; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] public partial class NavigationController : IController @@ -373,8 +373,8 @@ public partial class NavigationController : IController ### 多层级 UI 管理 ```csharp -using GFramework.Core.Abstractions.controller; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Controller; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] public partial class LayerController : IController diff --git a/docs/zh-CN/getting-started/installation.md b/docs/zh-CN/getting-started/installation.md index 4a76205..74020b1 100644 --- a/docs/zh-CN/getting-started/installation.md +++ b/docs/zh-CN/getting-started/installation.md @@ -92,13 +92,13 @@ dotnet add package GeWuYou.GFramework.SourceGenerators ```csharp global using GFramework.Core; -global using GFramework.Core.architecture; -global using GFramework.Core.command; -global using GFramework.Core.events; -global using GFramework.Core.model; -global using GFramework.Core.property; -global using GFramework.Core.system; -global using GFramework.Core.utility; +global using GFramework.Core.Architecture; +global using GFramework.Core.Command; +global using GFramework.Core.Events; +global using GFramework.Core.Model; +global using GFramework.Core.Property; +global using GFramework.Core.System; +global using GFramework.Core.Utility; ``` ### 2. Godot 项目配置 @@ -125,7 +125,7 @@ global using GFramework.Core.utility; 创建一个简单的测试来验证安装是否成功: ```csharp -using GFramework.Core.architecture; +using GFramework.Core.Architecture; // 定义简单的架构 public class TestArchitecture : Architecture diff --git a/docs/zh-CN/getting-started/quick-start.md b/docs/zh-CN/getting-started/quick-start.md index 824b01b..2021e19 100644 --- a/docs/zh-CN/getting-started/quick-start.md +++ b/docs/zh-CN/getting-started/quick-start.md @@ -7,7 +7,7 @@ 首先定义您的应用架构: ```csharp -using GFramework.Core.architecture; +using GFramework.Core.Architecture; public class GameArchitecture : Architecture { @@ -151,8 +151,8 @@ public class EnemyDamagedEvent : IEvent 实现控制器来连接 UI 和业务逻辑: ```csharp -using GFramework.Core.Abstractions.controller; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Controller; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] public partial class GameController : IController diff --git a/docs/zh-CN/godot/architecture.md b/docs/zh-CN/godot/architecture.md index 28af1b0..e7374e9 100644 --- a/docs/zh-CN/godot/architecture.md +++ b/docs/zh-CN/godot/architecture.md @@ -67,8 +67,8 @@ public interface IGodotModule : IArchitectureModule ### 创建 Godot 架构 ```csharp -using GFramework.Godot.architecture; -using GFramework.Core.Abstractions.architecture; +using GFramework.Godot.Architecture; +using GFramework.Core.Abstractions.Architecture; public class GameArchitecture : AbstractArchitecture { @@ -100,7 +100,7 @@ public class GameArchitecture : AbstractArchitecture ```csharp using Godot; -using GFramework.Godot.architecture; +using GFramework.Godot.Architecture; public partial class GameRoot : Node { @@ -133,7 +133,7 @@ public partial class GameRoot : Node ### 创建 Godot 模块 ```csharp -using GFramework.Godot.architecture; +using GFramework.Godot.Architecture; using Godot; public class CoroutineModule : AbstractGodotModule @@ -264,8 +264,8 @@ public class AnalyticsModule : AbstractGodotModule ### 自定义架构配置 ```csharp -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.Abstractions.environment; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Abstractions.Environment; public class GameArchitecture : AbstractArchitecture { @@ -340,8 +340,8 @@ public class GameArchitecture : AbstractArchitecture ```csharp using Godot; -using GFramework.Core.Abstractions.controller; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Controller; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] public partial class Player : CharacterBody2D, IController @@ -519,7 +519,7 @@ public partial class GameRoot : Node 使用 `[ContextAware]` 特性或直接使用单例: ```csharp -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.SourceGenerators.Abstractions.Rule; // 方式 1: 使用 [ContextAware] 特性(推荐) [ContextAware] diff --git a/docs/zh-CN/godot/coroutine.md b/docs/zh-CN/godot/coroutine.md index fd36b24..5970bb1 100644 --- a/docs/zh-CN/godot/coroutine.md +++ b/docs/zh-CN/godot/coroutine.md @@ -20,7 +20,7 @@ GFramework.Godot 提供了与 Godot 引擎深度集成的协程系统,让异 使用 `StartCoroutine` 方法启动协程: ```csharp -using GFramework.Godot.coroutine; +using GFramework.Godot.Coroutine; [ContextAware] public partial class MyNode : Node diff --git a/docs/zh-CN/godot/index.md b/docs/zh-CN/godot/index.md index 789105f..49e0d89 100644 --- a/docs/zh-CN/godot/index.md +++ b/docs/zh-CN/godot/index.md @@ -75,7 +75,7 @@ GFramework.Godot 提供了与 Godot 引擎的深度集成,让开发者能够 ### Architecture 基类 ```csharp -using GFramework.Godot.architecture; +using GFramework.Godot.Architecture; public class GameArchitecture : AbstractArchitecture { @@ -106,7 +106,7 @@ public class GameArchitecture : AbstractArchitecture ### Godot 模块系统 ```csharp -using GFramework.Godot.architecture; +using GFramework.Godot.Architecture; [ContextAware] [Log] @@ -151,7 +151,7 @@ public partial class AudioModule : AbstractGodotModule ### Controller 集成 ```csharp -using GFramework.Godot.extensions; +using GFramework.Godot.Extensions; [ContextAware] [Log] @@ -280,7 +280,7 @@ await WaitUntilTimeout(2.0f); ### SignalBuilder 流畅 API ```csharp -using GFramework.Godot.extensions; +using GFramework.Godot.Extensions; // 基础信号连接 this.ConnectSignal(Button.SignalName.Pressed, OnButtonPressed); @@ -341,7 +341,7 @@ public partial class UIController : Node, IController ### AbstractNodePoolSystem 使用 ```csharp -using GFramework.Godot.pool; +using GFramework.Godot.Pool; public class BulletPoolSystem : AbstractNodePoolSystem { @@ -501,7 +501,7 @@ public class GameResourceFactory : AbstractResourceFactoryUtility ### GodotLogger 使用 ```csharp -using GFramework.Godot.logging; +using GFramework.Godot.Logging; [ContextAware] [Log] // 自动生成 Logger 字段 diff --git a/docs/zh-CN/godot/logging.md b/docs/zh-CN/godot/logging.md index ea66f4f..d5ff26e 100644 --- a/docs/zh-CN/godot/logging.md +++ b/docs/zh-CN/godot/logging.md @@ -65,10 +65,10 @@ public sealed class GodotLoggerFactoryProvider : ILoggerFactoryProvider 在架构初始化时配置日志提供程序: ```csharp -using GFramework.Godot.architecture; -using GFramework.Godot.logging; -using GFramework.Core.logging; -using GFramework.Core.Abstractions.logging; +using GFramework.Godot.Architecture; +using GFramework.Godot.Logging; +using GFramework.Core.Logging; +using GFramework.Core.Abstractions.Logging; public class GameArchitecture : AbstractArchitecture { @@ -102,8 +102,8 @@ public class GameArchitecture : AbstractArchitecture ```csharp using Godot; -using GFramework.Core.logging; -using GFramework.Core.Abstractions.logging; +using GFramework.Core.Logging; +using GFramework.Core.Abstractions.Logging; public partial class Player : CharacterBody2D { @@ -183,9 +183,9 @@ catch (Exception ex) ### 在 System 中使用日志 ```csharp -using GFramework.Core.system; -using GFramework.Core.logging; -using GFramework.Core.Abstractions.logging; +using GFramework.Core.System; +using GFramework.Core.Logging; +using GFramework.Core.Abstractions.Logging; public class CombatSystem : AbstractSystem { @@ -218,9 +218,9 @@ public class CombatSystem : AbstractSystem ### 在 Model 中使用日志 ```csharp -using GFramework.Core.model; -using GFramework.Core.logging; -using GFramework.Core.Abstractions.logging; +using GFramework.Core.Model; +using GFramework.Core.Logging; +using GFramework.Core.Abstractions.Logging; public class PlayerModel : AbstractModel { @@ -303,9 +303,9 @@ LoggerFactoryResolver.Provider = new GodotLoggerFactoryProvider ### 在 Godot 模块中使用日志 ```csharp -using GFramework.Godot.architecture; -using GFramework.Core.logging; -using GFramework.Core.Abstractions.logging; +using GFramework.Godot.Architecture; +using GFramework.Core.Logging; +using GFramework.Core.Abstractions.Logging; using Godot; public class SceneModule : AbstractGodotModule diff --git a/docs/zh-CN/godot/pause.md b/docs/zh-CN/godot/pause.md index 2c92717..a511316 100644 --- a/docs/zh-CN/godot/pause.md +++ b/docs/zh-CN/godot/pause.md @@ -102,9 +102,9 @@ public class GodotPauseHandler : IPauseHandler ### 设置暂停系统 ```csharp -using GFramework.Godot.architecture; -using GFramework.Godot.pause; -using GFramework.Core.pause; +using GFramework.Godot.Architecture; +using GFramework.Godot.Pause; +using GFramework.Core.Pause; public class GameArchitecture : AbstractArchitecture { @@ -125,7 +125,7 @@ public class GameArchitecture : AbstractArchitecture ```csharp using Godot; -using GFramework.Godot.extensions; +using GFramework.Godot.Extensions; public partial class PauseMenu : Control { @@ -155,7 +155,7 @@ public partial class PauseMenu : Control ```csharp using Godot; -using GFramework.Godot.extensions; +using GFramework.Godot.Extensions; public partial class DialogBox : Control { @@ -178,7 +178,7 @@ public partial class DialogBox : Control ```csharp using Godot; -using GFramework.Godot.extensions; +using GFramework.Godot.Extensions; public partial class GameController : Node { @@ -210,7 +210,7 @@ public partial class GameController : Node ```csharp using Godot; -using GFramework.Godot.extensions; +using GFramework.Godot.Extensions; public partial class GameManager : Node { @@ -256,7 +256,7 @@ public partial class GameManager : Node ```csharp using Godot; -using GFramework.Godot.extensions; +using GFramework.Godot.Extensions; public partial class GameScene : Node { @@ -295,7 +295,7 @@ public partial class GameScene : Node ### 自定义暂停处理器 ```csharp -using GFramework.Core.Abstractions.pause; +using GFramework.Core.Abstractions.Pause; using Godot; // 自定义动画暂停处理器 @@ -346,7 +346,7 @@ public partial class GameController : Node ### 音频暂停处理器 ```csharp -using GFramework.Core.Abstractions.pause; +using GFramework.Core.Abstractions.Pause; using Godot; public class AudioPauseHandler : IPauseHandler @@ -385,7 +385,7 @@ public class AudioPauseHandler : IPauseHandler ```csharp using Godot; -using GFramework.Godot.extensions; +using GFramework.Godot.Extensions; public partial class GameNode : Node { @@ -421,7 +421,7 @@ public partial class GameNode : Node ```csharp using Godot; -using GFramework.Godot.extensions; +using GFramework.Godot.Extensions; public partial class PauseMenuUI : Control { @@ -459,7 +459,7 @@ public partial class PauseMenuUI : Control ```csharp using Godot; -using GFramework.Godot.extensions; +using GFramework.Godot.Extensions; public partial class PauseIndicator : Label { @@ -492,7 +492,7 @@ public partial class PauseIndicator : Label ```csharp using Godot; -using GFramework.Godot.extensions; +using GFramework.Godot.Extensions; public partial class PauseDebugger : Node { diff --git a/docs/zh-CN/godot/pool.md b/docs/zh-CN/godot/pool.md index fbe0817..98528b4 100644 --- a/docs/zh-CN/godot/pool.md +++ b/docs/zh-CN/godot/pool.md @@ -70,7 +70,7 @@ public interface IPoolableNode : IPoolableObject ```csharp using Godot; -using GFramework.Godot.pool; +using GFramework.Godot.Pool; public partial class Bullet : Node2D, IPoolableNode { @@ -135,7 +135,7 @@ public partial class Bullet : Node2D, IPoolableNode ```csharp using Godot; -using GFramework.Godot.pool; +using GFramework.Godot.Pool; public class BulletPoolSystem : AbstractNodePoolSystem { @@ -166,7 +166,7 @@ public class BulletPoolSystem : AbstractNodePoolSystem ### 注册节点池系统 ```csharp -using GFramework.Godot.architecture; +using GFramework.Godot.Architecture; public class GameArchitecture : AbstractArchitecture { @@ -183,7 +183,7 @@ public class GameArchitecture : AbstractArchitecture ```csharp using Godot; -using GFramework.Godot.extensions; +using GFramework.Godot.Extensions; public partial class Player : Node2D { diff --git a/docs/zh-CN/godot/resource.md b/docs/zh-CN/godot/resource.md index 30d4eae..6bcb7fd 100644 --- a/docs/zh-CN/godot/resource.md +++ b/docs/zh-CN/godot/resource.md @@ -104,7 +104,7 @@ public partial class ItemData : Resource, IHasKey ### 创建资源仓储 ```csharp -using GFramework.Godot.data; +using GFramework.Godot.Data; public class ItemRepository : GodotResourceRepository { @@ -119,7 +119,7 @@ public class ItemRepository : GodotResourceRepository ### 注册到架构 ```csharp -using GFramework.Godot.architecture; +using GFramework.Godot.Architecture; public class GameArchitecture : AbstractArchitecture { @@ -136,7 +136,7 @@ public class GameArchitecture : AbstractArchitecture ```csharp using Godot; -using GFramework.Godot.extensions; +using GFramework.Godot.Extensions; public partial class InventoryController : Node { diff --git a/docs/zh-CN/godot/scene.md b/docs/zh-CN/godot/scene.md index 2555943..f3aebbf 100644 --- a/docs/zh-CN/godot/scene.md +++ b/docs/zh-CN/godot/scene.md @@ -66,7 +66,7 @@ public interface IGodotSceneRegistry ```csharp using Godot; -using GFramework.Game.Abstractions.scene; +using GFramework.Game.Abstractions.Scene; public partial class MainMenuScene : Control, IScene { @@ -113,7 +113,7 @@ public partial class MainMenuScene : Control, IScene ### 注册场景 ```csharp -using GFramework.Godot.scene; +using GFramework.Godot.Scene; using Godot; public class GameSceneRegistry : GodotSceneRegistry @@ -131,8 +131,8 @@ public class GameSceneRegistry : GodotSceneRegistry ### 设置场景系统 ```csharp -using GFramework.Godot.architecture; -using GFramework.Godot.scene; +using GFramework.Godot.Architecture; +using GFramework.Godot.Scene; public class GameArchitecture : AbstractArchitecture { @@ -157,7 +157,7 @@ public class GameArchitecture : AbstractArchitecture ```csharp using Godot; -using GFramework.Godot.extensions; +using GFramework.Godot.Extensions; public partial class GameController : Node { @@ -193,8 +193,8 @@ public partial class GameController : Node ```csharp using Godot; -using GFramework.Game.Abstractions.scene; -using GFramework.Godot.scene; +using GFramework.Game.Abstractions.Scene; +using GFramework.Godot.Scene; public partial class GameplayScene : Node2D, ISceneBehaviorProvider { @@ -266,7 +266,7 @@ public class ControlSceneBehavior : SceneBehaviorBase ```csharp using Godot; -using GFramework.Godot.scene; +using GFramework.Godot.Scene; public partial class SceneRoot : Node, ISceneRoot { @@ -369,7 +369,7 @@ public partial class LoadingScene : Control ```csharp using Godot; -using GFramework.Game.Abstractions.scene; +using GFramework.Game.Abstractions.Scene; public class FadeTransitionHandler : ISceneTransitionHandler { diff --git a/docs/zh-CN/godot/ui.md b/docs/zh-CN/godot/ui.md index aca8a08..f98b461 100644 --- a/docs/zh-CN/godot/ui.md +++ b/docs/zh-CN/godot/ui.md @@ -75,7 +75,7 @@ public class ModalLayerUiPageBehavior : CanvasItemUiPageBehaviorBase ```csharp using Godot; -using GFramework.Game.Abstractions.ui; +using GFramework.Game.Abstractions.UI; public partial class MainMenuPage : Control, IUiPage { @@ -117,8 +117,8 @@ public partial class MainMenuPage : Control, IUiPage ```csharp using Godot; -using GFramework.Game.Abstractions.ui; -using GFramework.Godot.ui; +using GFramework.Game.Abstractions.UI; +using GFramework.Godot.UI; public partial class MainMenuPage : Control, IUiPageBehaviorProvider { @@ -139,7 +139,7 @@ public partial class MainMenuPage : Control, IUiPageBehaviorProvider ### 注册 UI ```csharp -using GFramework.Godot.ui; +using GFramework.Godot.UI; using Godot; public class GameUiRegistry : GodotUiRegistry @@ -158,8 +158,8 @@ public class GameUiRegistry : GodotUiRegistry ### 设置 UI 系统 ```csharp -using GFramework.Godot.architecture; -using GFramework.Godot.ui; +using GFramework.Godot.Architecture; +using GFramework.Godot.UI; public class GameArchitecture : AbstractArchitecture { @@ -184,7 +184,7 @@ public class GameArchitecture : AbstractArchitecture ```csharp using Godot; -using GFramework.Godot.extensions; +using GFramework.Godot.Extensions; public partial class GameController : Node { @@ -351,7 +351,7 @@ uiRouter.Show("ConfirmDialog", UiLayer.Modal, new ConfirmDialogParam ```csharp using Godot; -using GFramework.Godot.ui; +using GFramework.Godot.UI; public partial class UiRoot : CanvasLayer, IUiRoot { diff --git a/docs/zh-CN/source-generators/context-aware-generator.md b/docs/zh-CN/source-generators/context-aware-generator.md index 2bb0139..0377e4c 100644 --- a/docs/zh-CN/source-generators/context-aware-generator.md +++ b/docs/zh-CN/source-generators/context-aware-generator.md @@ -21,8 +21,8 @@ ContextAware 生成器为标记了 `[ContextAware]` 属性的类自动生成 `IC 使用 `[ContextAware]` 属性标记需要访问架构上下文的类: ```csharp -using GFramework.SourceGenerators.Abstractions.rule; -using GFramework.Core.Abstractions.controller; +using GFramework.SourceGenerators.Abstractions.Rule; +using GFramework.Core.Abstractions.Controller; [ContextAware] public partial class PlayerController : IController @@ -75,21 +75,21 @@ public partial struct MyStruct { } namespace YourNamespace; -partial class PlayerController : global::GFramework.Core.Abstractions.rule.IContextAware +partial class PlayerController : global::GFramework.Core.Abstractions.Rule.IContextAware { - private global::GFramework.Core.Abstractions.architecture.IArchitectureContext? _context; - private static global::GFramework.Core.Abstractions.architecture.IArchitectureContextProvider? _contextProvider; + private global::GFramework.Core.Abstractions.Architecture.IArchitectureContext? _context; + private static global::GFramework.Core.Abstractions.Architecture.IArchitectureContextProvider? _contextProvider; /// /// 自动获取的架构上下文(懒加载,默认使用 GameContextProvider) /// - protected global::GFramework.Core.Abstractions.architecture.IArchitectureContext Context + protected global::GFramework.Core.Abstractions.Architecture.IArchitectureContext Context { get { if (_context == null) { - _contextProvider ??= new global::GFramework.Core.architecture.GameContextProvider(); + _contextProvider ??= new global::GFramework.Core.Architecture.GameContextProvider(); _context = _contextProvider.GetContext(); } @@ -101,7 +101,7 @@ partial class PlayerController : global::GFramework.Core.Abstractions.rule.ICont /// 配置上下文提供者(用于测试或多架构场景) /// /// 上下文提供者实例 - public static void SetContextProvider(global::GFramework.Core.Abstractions.architecture.IArchitectureContextProvider provider) + public static void SetContextProvider(global::GFramework.Core.Abstractions.Architecture.IArchitectureContextProvider provider) { _contextProvider = provider; } @@ -114,12 +114,12 @@ partial class PlayerController : global::GFramework.Core.Abstractions.rule.ICont _contextProvider = null; } - void global::GFramework.Core.Abstractions.rule.IContextAware.SetContext(global::GFramework.Core.Abstractions.architecture.IArchitectureContext context) + void global::GFramework.Core.Abstractions.Rule.IContextAware.SetContext(global::GFramework.Core.Abstractions.Architecture.IArchitectureContext context) { _context = context; } - global::GFramework.Core.Abstractions.architecture.IArchitectureContext global::GFramework.Core.Abstractions.rule.IContextAware.GetContext() + global::GFramework.Core.Abstractions.Architecture.IArchitectureContext global::GFramework.Core.Abstractions.Rule.IContextAware.GetContext() { return Context; } @@ -232,8 +232,8 @@ public partial class GameFlowController : IController 在 Godot 项目中,控制器通常同时实现 `IController` 和使用 `[ContextAware]`: ```csharp -using GFramework.Core.Abstractions.controller; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Controller; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] public partial class PlayerController : Node, IController @@ -284,7 +284,7 @@ public partial class SimpleHelper 生成的代码实现了 `IContextAware` 接口: ```csharp -namespace GFramework.Core.Abstractions.rule; +namespace GFramework.Core.Abstractions.Rule; public interface IContextAware { diff --git a/docs/zh-CN/source-generators/enum-generator.md b/docs/zh-CN/source-generators/enum-generator.md index 2e3b455..892aaf2 100644 --- a/docs/zh-CN/source-generators/enum-generator.md +++ b/docs/zh-CN/source-generators/enum-generator.md @@ -12,7 +12,7 @@ ## 基础使用 ```csharp -using GFramework.SourceGenerators.Abstractions.enums; +using GFramework.SourceGenerators.Abstractions.Enums; [GenerateEnumExtensions] public enum GameState diff --git a/docs/zh-CN/source-generators/index.md b/docs/zh-CN/source-generators/index.md index e3e3e73..1614441 100644 --- a/docs/zh-CN/source-generators/index.md +++ b/docs/zh-CN/source-generators/index.md @@ -164,8 +164,8 @@ public static partial class MathHelper ### 基础使用 ```csharp -using GFramework.Core.Abstractions.controller; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Controller; +using GFramework.SourceGenerators.Abstractions.Rule; [ContextAware] public partial class PlayerController : IController @@ -191,21 +191,21 @@ public partial class PlayerController : IController namespace YourNamespace; -partial class PlayerController : global::GFramework.Core.Abstractions.rule.IContextAware +partial class PlayerController : global::GFramework.Core.Abstractions.Rule.IContextAware { - private global::GFramework.Core.Abstractions.architecture.IArchitectureContext? _context; - private static global::GFramework.Core.Abstractions.architecture.IArchitectureContextProvider? _contextProvider; + private global::GFramework.Core.Abstractions.Architecture.IArchitectureContext? _context; + private static global::GFramework.Core.Abstractions.Architecture.IArchitectureContextProvider? _contextProvider; /// /// 自动获取的架构上下文(懒加载,默认使用 GameContextProvider) /// - protected global::GFramework.Core.Abstractions.architecture.IArchitectureContext Context + protected global::GFramework.Core.Abstractions.Architecture.IArchitectureContext Context { get { if (_context == null) { - _contextProvider ??= new global::GFramework.Core.architecture.GameContextProvider(); + _contextProvider ??= new global::GFramework.Core.Architecture.GameContextProvider(); _context = _contextProvider.GetContext(); } @@ -216,7 +216,7 @@ partial class PlayerController : global::GFramework.Core.Abstractions.rule.ICont /// /// 配置上下文提供者(用于测试或多架构场景) /// - public static void SetContextProvider(global::GFramework.Core.Abstractions.architecture.IArchitectureContextProvider provider) + public static void SetContextProvider(global::GFramework.Core.Abstractions.Architecture.IArchitectureContextProvider provider) { _contextProvider = provider; } @@ -229,12 +229,12 @@ partial class PlayerController : global::GFramework.Core.Abstractions.rule.ICont _contextProvider = null; } - void global::GFramework.Core.Abstractions.rule.IContextAware.SetContext(global::GFramework.Core.Abstractions.architecture.IArchitectureContext context) + void global::GFramework.Core.Abstractions.Rule.IContextAware.SetContext(global::GFramework.Core.Abstractions.Architecture.IArchitectureContext context) { _context = context; } - global::GFramework.Core.Abstractions.architecture.IArchitectureContext global::GFramework.Core.Abstractions.rule.IContextAware.GetContext() + global::GFramework.Core.Abstractions.Architecture.IArchitectureContext global::GFramework.Core.Abstractions.Rule.IContextAware.GetContext() { return Context; } @@ -272,9 +272,9 @@ public async Task TestPlayerController() ### 与其他属性组合 ```csharp -using GFramework.Core.Abstractions.controller; -using GFramework.SourceGenerators.Abstractions.logging; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Controller; +using GFramework.SourceGenerators.Abstractions.Logging; +using GFramework.SourceGenerators.Abstractions.Rule; [Log] [ContextAware] @@ -300,7 +300,7 @@ public partial class AdvancedController : IController ### 基础使用 ```csharp -using GFramework.SourceGenerators.Abstractions.enums; +using GFramework.SourceGenerators.Abstractions.Enums; [GenerateEnumExtensions] public enum GameState @@ -510,9 +510,9 @@ public class InefficientController : IController ### 完整的游戏控制器示例 ```csharp -using GFramework.Core.Abstractions.controller; -using GFramework.SourceGenerators.Abstractions.logging; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Controller; +using GFramework.SourceGenerators.Abstractions.Logging; +using GFramework.SourceGenerators.Abstractions.Rule; [Log] [ContextAware] @@ -600,9 +600,9 @@ public enum CharacterState Dead } -using GFramework.Core.Abstractions.controller; -using GFramework.SourceGenerators.Abstractions.logging; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Controller; +using GFramework.SourceGenerators.Abstractions.Logging; +using GFramework.SourceGenerators.Abstractions.Rule; [Log] [ContextAware] diff --git a/docs/zh-CN/source-generators/logging-generator.md b/docs/zh-CN/source-generators/logging-generator.md index 9de0691..b07df1c 100644 --- a/docs/zh-CN/source-generators/logging-generator.md +++ b/docs/zh-CN/source-generators/logging-generator.md @@ -11,7 +11,7 @@ ### 标记类 ```csharp -using GFramework.SourceGenerators.Abstractions.logging; +using GFramework.SourceGenerators.Abstractions.Logging; [Log] public partial class MyService @@ -164,9 +164,9 @@ public partial class MySystem : AbstractSystem ### 游戏控制器 ```csharp -using GFramework.Core.Abstractions.controller; -using GFramework.SourceGenerators.Abstractions.logging; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Controller; +using GFramework.SourceGenerators.Abstractions.Logging; +using GFramework.SourceGenerators.Abstractions.Rule; [Log] [ContextAware] diff --git a/docs/zh-CN/tutorials/advanced-patterns.md b/docs/zh-CN/tutorials/advanced-patterns.md index c906240..516f1b9 100644 --- a/docs/zh-CN/tutorials/advanced-patterns.md +++ b/docs/zh-CN/tutorials/advanced-patterns.md @@ -16,9 +16,9 @@ 实现完整的 CQRS 模式,分离读写操作: ```csharp -using GFramework.Core.command; -using GFramework.Core.query; -using GFramework.Core.events; +using GFramework.Core.Command; +using GFramework.Core.Query; +using GFramework.Core.Events; // 命令 - 负责写操作 public class CreatePlayerCommand : AbstractCommand @@ -516,7 +516,7 @@ public class PlayerDomainService : IPlayerDomainService 实现事件的持久化和重放: ```csharp -using GFramework.Core.events; +using GFramework.Core.Events; using System.Collections.Concurrent; public class EventStore : IEventStore @@ -691,7 +691,7 @@ public abstract class AggregateRoot 实现灵活的事件路由和处理: ```csharp -using GFramework.Core.events; +using GFramework.Core.Events; public class EventBus : IEventBus { diff --git a/docs/zh-CN/tutorials/basic/02-project-setup.md b/docs/zh-CN/tutorials/basic/02-project-setup.md index 49f147f..2df9a3a 100644 --- a/docs/zh-CN/tutorials/basic/02-project-setup.md +++ b/docs/zh-CN/tutorials/basic/02-project-setup.md @@ -129,9 +129,9 @@ dotnet build 在 `scripts/architecture/` 创建 `GameArchitecture.cs`: ```csharp -using GFramework.Godot.architecture; +using GFramework.Godot.Architecture; -namespace MyGFrameworkGame.scripts.architecture; +namespace MyGFrameworkGame.scripts.Architecture; /// /// 游戏架构类,负责管理整个应用的模块和依赖 @@ -161,8 +161,8 @@ public class GameArchitecture : AbstractArchitecture 在 `scripts/module/` 创建 `ModelModule.cs`: ```csharp -using GFramework.Core.Abstractions.architecture; -using GFramework.Game.architecture; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Game.Architecture; namespace MyGFrameworkGame.scripts.module; @@ -196,8 +196,8 @@ Model **不应该**包含业务逻辑或 UI 逻辑。 在 `scripts/module/` 创建 `SystemModule.cs`: ```csharp -using GFramework.Core.Abstractions.architecture; -using GFramework.Game.architecture; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Game.Architecture; namespace MyGFrameworkGame.scripts.module; @@ -231,8 +231,8 @@ public class SystemModule : AbstractModule 在 `scripts/module/` 创建 `UtilityModule.cs`: ```csharp -using GFramework.Core.Abstractions.architecture; -using GFramework.Game.architecture; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Game.Architecture; namespace MyGFrameworkGame.scripts.module; @@ -266,10 +266,10 @@ public class UtilityModule : AbstractModule 回到 `GameArchitecture.cs`,注册刚创建的模块: ```csharp -using GFramework.Godot.architecture; +using GFramework.Godot.Architecture; using MyGFrameworkGame.scripts.module; -namespace MyGFrameworkGame.scripts.architecture; +namespace MyGFrameworkGame.scripts.Architecture; /// /// 游戏架构类,负责管理整个应用的模块和依赖 @@ -323,9 +323,9 @@ public class GameArchitecture : AbstractArchitecture 编辑 `global/GameEntryPoint.cs`: ```csharp -using GFramework.Core.Abstractions.architecture; +using GFramework.Core.Abstractions.Architecture; using Godot; -using MyGFrameworkGame.scripts.architecture; +using MyGFrameworkGame.scripts.Architecture; namespace MyGFrameworkGame.global; diff --git a/docs/zh-CN/tutorials/basic/04-model-refactor.md b/docs/zh-CN/tutorials/basic/04-model-refactor.md index 80c8d8c..10dc407 100644 --- a/docs/zh-CN/tutorials/basic/04-model-refactor.md +++ b/docs/zh-CN/tutorials/basic/04-model-refactor.md @@ -32,9 +32,9 @@ Model **不应该**: 在 `scripts/model/` 创建 `ICounterModel.cs`: ```csharp -using GFramework.Core.Abstractions.model; +using GFramework.Core.Abstractions.Model; -namespace MyGFrameworkGame.scripts.model; +namespace MyGFrameworkGame.scripts.Model; /// /// 计数器模型接口,定义计数器的基本操作 @@ -73,10 +73,10 @@ public interface ICounterModel : IModel 在 `scripts/model/` 创建 `CounterModel.cs`: ```csharp -using GFramework.Core.extensions; -using GFramework.Core.model; +using GFramework.Core.Extensions; +using GFramework.Core.Model; -namespace MyGFrameworkGame.scripts.model; +namespace MyGFrameworkGame.scripts.Model; /// /// 计数器模型实现 @@ -147,9 +147,9 @@ this.SendEvent(new ChangedCountEvent { Count = Count }); 编辑 `scripts/module/ModelModule.cs`: ```csharp -using GFramework.Core.Abstractions.architecture; -using GFramework.Game.architecture; -using MyGFrameworkGame.scripts.model; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Game.Architecture; +using MyGFrameworkGame.scripts.Model; namespace MyGFrameworkGame.scripts.module; @@ -185,11 +185,11 @@ architecture.RegisterModel(new CounterModel()); 编辑 `App.cs`,添加 `IController` 接口和特性: ```csharp -using GFramework.Core.Abstractions.controller; -using GFramework.Core.extensions; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Controller; +using GFramework.Core.Extensions; +using GFramework.SourceGenerators.Abstractions.Rule; using Godot; -using MyGFrameworkGame.scripts.model; +using MyGFrameworkGame.scripts.Model; namespace MyGFrameworkGame.scripts.app; @@ -217,11 +217,11 @@ public partial class App : Control, IController // ← 实现 IController 接 修改 `_Ready` 方法: ```csharp -using GFramework.Core.Abstractions.controller; -using GFramework.Core.extensions; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Controller; +using GFramework.Core.Extensions; +using GFramework.SourceGenerators.Abstractions.Rule; using Godot; -using MyGFrameworkGame.scripts.model; +using MyGFrameworkGame.scripts.Model; namespace MyGFrameworkGame.scripts.app; diff --git a/docs/zh-CN/tutorials/basic/05-command-system.md b/docs/zh-CN/tutorials/basic/05-command-system.md index 5d6a28e..5f320f6 100644 --- a/docs/zh-CN/tutorials/basic/05-command-system.md +++ b/docs/zh-CN/tutorials/basic/05-command-system.md @@ -107,11 +107,11 @@ AddButton.Pressed += async () => 在 `scripts/command/` 创建 `IncreaseCountCommand.cs`: ```csharp -using GFramework.Core.command; -using GFramework.Core.extensions; -using MyGFrameworkGame.scripts.model; +using GFramework.Core.Command; +using GFramework.Core.Extensions; +using MyGFrameworkGame.scripts.Model; -namespace MyGFrameworkGame.scripts.command; +namespace MyGFrameworkGame.scripts.Command; /// /// 增加计数器值的命令 @@ -143,11 +143,11 @@ public class IncreaseCountCommand : AbstractCommand 在 `scripts/command/` 创建 `DecreaseCountCommand.cs`: ```csharp -using GFramework.Core.command; -using GFramework.Core.extensions; -using MyGFrameworkGame.scripts.model; +using GFramework.Core.Command; +using GFramework.Core.Extensions; +using MyGFrameworkGame.scripts.Model; -namespace MyGFrameworkGame.scripts.command; +namespace MyGFrameworkGame.scripts.Command; /// /// 减少计数器值的命令 @@ -172,12 +172,12 @@ public class DecreaseCountCommand : AbstractCommand 编辑 `App.cs`: ```csharp -using GFramework.Core.Abstractions.controller; -using GFramework.Core.extensions; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Controller; +using GFramework.Core.Extensions; +using GFramework.SourceGenerators.Abstractions.Rule; using Godot; -using MyGFrameworkGame.scripts.command; -using MyGFrameworkGame.scripts.model; +using MyGFrameworkGame.scripts.Command; +using MyGFrameworkGame.scripts.Model; namespace MyGFrameworkGame.scripts.app; diff --git a/docs/zh-CN/tutorials/basic/06-utility-system.md b/docs/zh-CN/tutorials/basic/06-utility-system.md index ba4a882..bf2a980 100644 --- a/docs/zh-CN/tutorials/basic/06-utility-system.md +++ b/docs/zh-CN/tutorials/basic/06-utility-system.md @@ -84,9 +84,9 @@ Utility **不应该**: 在 `scripts/utility/` 创建 `ICounterUtility.cs`: ```csharp -using GFramework.Core.Abstractions.utility; +using GFramework.Core.Abstractions.Utility; -namespace MyGFrameworkGame.scripts.utility; +namespace MyGFrameworkGame.scripts.Utility; /// /// 计数器工具接口 @@ -111,9 +111,9 @@ public interface ICounterUtility : IContextUtility ```csharp using System; -using GFramework.Core.utility; +using GFramework.Core.Utility; -namespace MyGFrameworkGame.scripts.utility; +namespace MyGFrameworkGame.scripts.Utility; /// /// 计数器工具实现 @@ -172,9 +172,9 @@ public class CounterUtility : AbstractContextUtility, ICounterUtility 编辑 `scripts/module/UtilityModule.cs`: ```csharp -using GFramework.Core.Abstractions.architecture; -using GFramework.Game.architecture; -using MyGFrameworkGame.scripts.utility; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Game.Architecture; +using MyGFrameworkGame.scripts.Utility; namespace MyGFrameworkGame.scripts.module; @@ -196,12 +196,12 @@ public class UtilityModule : AbstractModule 编辑 `IncreaseCountCommand.cs`: ```csharp -using GFramework.Core.command; -using GFramework.Core.extensions; -using MyGFrameworkGame.scripts.model; -using MyGFrameworkGame.scripts.utility; +using GFramework.Core.Command; +using GFramework.Core.Extensions; +using MyGFrameworkGame.scripts.Model; +using MyGFrameworkGame.scripts.Utility; -namespace MyGFrameworkGame.scripts.command; +namespace MyGFrameworkGame.scripts.Command; public class IncreaseCountCommand : AbstractCommand { @@ -320,7 +320,7 @@ System **不应该**: 在 `scripts/system/` 创建 `ICounterThresholdSystem.cs`: ```csharp -namespace MyGFrameworkGame.scripts.system; +namespace MyGFrameworkGame.scripts.System; /// /// 计数器阈值检查系统接口 @@ -339,12 +339,12 @@ public interface ICounterThresholdSystem 在 `scripts/system/` 创建 `CounterThresholdSystem.cs`: ```csharp -using GFramework.Core.extensions; -using GFramework.Core.system; +using GFramework.Core.Extensions; +using GFramework.Core.System; using Godot; -using MyGFrameworkGame.scripts.model; +using MyGFrameworkGame.scripts.Model; -namespace MyGFrameworkGame.scripts.system; +namespace MyGFrameworkGame.scripts.System; /// /// 计数器阈值检查系统 @@ -390,9 +390,9 @@ public class CounterThresholdSystem : AbstractSystem, ICounterThresholdSystem 编辑 `scripts/module/SystemModule.cs`: ```csharp -using GFramework.Core.Abstractions.architecture; -using GFramework.Game.architecture; -using MyGFrameworkGame.scripts.system; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Game.Architecture; +using MyGFrameworkGame.scripts.System; namespace MyGFrameworkGame.scripts.module; diff --git a/docs/zh-CN/tutorials/coroutine-tutorial.md b/docs/zh-CN/tutorials/coroutine-tutorial.md index 14d4c59..41e1024 100644 --- a/docs/zh-CN/tutorials/coroutine-tutorial.md +++ b/docs/zh-CN/tutorials/coroutine-tutorial.md @@ -27,9 +27,9 @@ description: 学习如何使用协程系统实现异步操作和时间控制 首先,让我们创建一个简单的协程来理解基本概念。 ```csharp -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.coroutine; -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Coroutine; +using GFramework.Core.Coroutine.Instructions; namespace MyGame.Systems { @@ -81,9 +81,9 @@ namespace MyGame.Systems 让我们实现一个实用的功能:玩家生命值自动恢复。 ```csharp -using GFramework.Core.Abstractions.model; -using GFramework.Core.Abstractions.property; -using GFramework.Core.model; +using GFramework.Core.Abstractions.Model; +using GFramework.Core.Abstractions.Property; +using GFramework.Core.Model; namespace MyGame.Models { @@ -171,7 +171,7 @@ namespace MyGame.Models 接下来实现一个技能冷却系统,展示如何使用协程管理时间相关的游戏逻辑。 ```csharp -using GFramework.Core.system; +using GFramework.Core.System; using System.Collections.Generic; namespace MyGame.Systems @@ -257,8 +257,8 @@ namespace MyGame.Systems 实现一个等待玩家完成任务的系统,展示如何在协程中等待事件。 ```csharp -using GFramework.Core.Abstractions.events; -using GFramework.Core.coroutine.instructions; +using GFramework.Core.Abstractions.Events; +using GFramework.Core.Coroutine.Instructions; namespace MyGame.Systems { @@ -479,7 +479,7 @@ namespace MyGame.Systems ### GameArchitecture.cs ```csharp -using GFramework.Core.architecture; +using GFramework.Core.Architecture; namespace MyGame { diff --git a/docs/zh-CN/tutorials/data-migration.md b/docs/zh-CN/tutorials/data-migration.md index 58b1471..3c21c73 100644 --- a/docs/zh-CN/tutorials/data-migration.md +++ b/docs/zh-CN/tutorials/data-migration.md @@ -45,7 +45,7 @@ description: 学习如何实现数据版本迁移系统,处理不同版本间 首先,让我们定义一个支持版本控制的游戏数据结构。 ```csharp -using GFramework.Game.Abstractions.data; +using GFramework.Game.Abstractions.Data; using System; using System.Collections.Generic; @@ -165,7 +165,7 @@ namespace MyGame.Data 创建迁移器来处理版本间的数据转换。 ```csharp -using GFramework.Game.Abstractions.setting; +using GFramework.Game.Abstractions.Setting; using System; namespace MyGame.Data.Migrations @@ -307,7 +307,7 @@ namespace MyGame.Data.Migrations 创建迁移管理器来注册和执行迁移。 ```csharp -using GFramework.Game.Abstractions.setting; +using GFramework.Game.Abstractions.Setting; using System; using System.Collections.Generic; using System.Linq; diff --git a/docs/zh-CN/tutorials/functional-programming.md b/docs/zh-CN/tutorials/functional-programming.md index e22cafe..33a973e 100644 --- a/docs/zh-CN/tutorials/functional-programming.md +++ b/docs/zh-CN/tutorials/functional-programming.md @@ -28,8 +28,8 @@ description: 学习如何在实际项目中使用 Option、Result 和管道操 首先,让我们学习如何使用 Option 类型替代传统的 null 检查,使代码更加安全和优雅。 ```csharp -using GFramework.Core.functional; -using GFramework.Core.functional.pipe; +using GFramework.Core.Functional; +using GFramework.Core.Functional.pipe; namespace MyGame.Services { @@ -132,7 +132,7 @@ namespace MyGame.Services 接下来,学习如何使用 Result 类型替代异常处理,实现更可控的错误管理。 ```csharp -using GFramework.Core.functional; +using GFramework.Core.Functional; using System.Text.Json; namespace MyGame.Services @@ -261,8 +261,8 @@ namespace MyGame.Services 学习如何使用管道操作符构建流式的数据处理流程。 ```csharp -using GFramework.Core.functional.pipe; -using GFramework.Core.functional.functions; +using GFramework.Core.Functional.pipe; +using GFramework.Core.Functional.functions; namespace MyGame.Systems { @@ -404,9 +404,9 @@ namespace MyGame.Systems 现在让我们结合 Option、Result 和管道操作,实现一个完整的游戏功能。 ```csharp -using GFramework.Core.functional; -using GFramework.Core.functional.pipe; -using GFramework.Core.functional.control; +using GFramework.Core.Functional; +using GFramework.Core.Functional.pipe; +using GFramework.Core.Functional.control; namespace MyGame.Features { diff --git a/docs/zh-CN/tutorials/godot-complete-project.md b/docs/zh-CN/tutorials/godot-complete-project.md index 2cef239..8efe4d6 100644 --- a/docs/zh-CN/tutorials/godot-complete-project.md +++ b/docs/zh-CN/tutorials/godot-complete-project.md @@ -112,8 +112,8 @@ MyShooterGame/ ```csharp // Scripts/Models/PlayerModel.cs -using GFramework.Core.model; -using GFramework.Core.Abstractions.property; +using GFramework.Core.Model; +using GFramework.Core.Abstractions.Property; namespace MyShooterGame.Models { @@ -170,8 +170,8 @@ namespace MyShooterGame.Models ```csharp // Scripts/Models/GameModel.cs -using GFramework.Core.model; -using GFramework.Core.Abstractions.property; +using GFramework.Core.Model; +using GFramework.Core.Abstractions.Property; namespace MyShooterGame.Models { @@ -220,7 +220,7 @@ namespace MyShooterGame.Models ```csharp // Scripts/Data/GameSaveData.cs -using GFramework.Game.Abstractions.data; +using GFramework.Game.Abstractions.Data; using System; namespace MyShooterGame.Data @@ -246,12 +246,12 @@ namespace MyShooterGame.Data ```csharp // Scripts/Architecture/GameArchitecture.cs -using GFramework.Godot.architecture; -using GFramework.Core.Abstractions.architecture; -using GFramework.Game.Abstractions.data; -using GFramework.Game.Abstractions.storage; -using GFramework.Game.data; -using GFramework.Game.storage; +using GFramework.Godot.Architecture; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Game.Abstractions.Data; +using GFramework.Game.Abstractions.Storage; +using GFramework.Game.Data; +using GFramework.Game.Storage; using MyShooterGame.Models; using MyShooterGame.Systems; using MyShooterGame.Data; @@ -315,8 +315,8 @@ namespace MyShooterGame.Architecture ```csharp // Scripts/Systems/GameplaySystem.cs -using GFramework.Core.system; -using GFramework.Core.extensions; +using GFramework.Core.System; +using GFramework.Core.Extensions; using MyShooterGame.Models; using Godot; @@ -378,10 +378,10 @@ namespace MyShooterGame.Systems ```csharp // Scripts/Systems/SpawnSystem.cs -using GFramework.Core.system; -using GFramework.Core.extensions; -using GFramework.Core.Abstractions.coroutine; -using GFramework.Core.coroutine; +using GFramework.Core.System; +using GFramework.Core.Extensions; +using GFramework.Core.Abstractions.Coroutine; +using GFramework.Core.Coroutine; using MyShooterGame.Models; using Godot; using System.Collections.Generic; @@ -472,9 +472,9 @@ namespace MyShooterGame.Systems ```csharp // Scripts/Controllers/PlayerController.cs -using GFramework.Core.Abstractions.controller; -using GFramework.Core.extensions; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Controller; +using GFramework.Core.Extensions; +using GFramework.SourceGenerators.Abstractions.Rule; using MyShooterGame.Architecture; using MyShooterGame.Models; using Godot; @@ -628,9 +628,9 @@ public partial class Main : Node ```csharp // Scripts/UI/MenuController.cs using Godot; -using GFramework.Core.Abstractions.controller; -using GFramework.Core.extensions; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Controller; +using GFramework.Core.Extensions; +using GFramework.SourceGenerators.Abstractions.Rule; using MyShooterGame.Architecture; using MyShooterGame.Systems; @@ -670,10 +670,10 @@ public partial class MenuController : Control, IController ```csharp // Scripts/GameScene.cs using Godot; -using GFramework.Core.Abstractions.controller; -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.extensions; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Controller; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Extensions; +using GFramework.SourceGenerators.Abstractions.Rule; using MyShooterGame.Architecture; using MyShooterGame.Systems; using MyShooterGame.Models; diff --git a/docs/zh-CN/tutorials/godot-integration.md b/docs/zh-CN/tutorials/godot-integration.md index 1192220..d1d90d9 100644 --- a/docs/zh-CN/tutorials/godot-integration.md +++ b/docs/zh-CN/tutorials/godot-integration.md @@ -19,7 +19,7 @@ GFramework.Godot 提供了与 Godot 节点生命周期的无缝集成,确保框架初始化与 Godot 场景树同步。 ```csharp -using GFramework.Godot.architecture; +using GFramework.Godot.Architecture; public class GodotGameArchitecture : AbstractArchitecture { @@ -118,7 +118,7 @@ public partial class AudioModule : AbstractGodotModule 实现高效的 Godot 节点池化,避免频繁的创建和销毁: ```csharp -using GFramework.Godot.pool; +using GFramework.Godot.Pool; public class BulletPoolSystem : AbstractNodePoolSystem { diff --git a/docs/zh-CN/tutorials/large-project-organization.md b/docs/zh-CN/tutorials/large-project-organization.md index d96894e..36e8c85 100644 --- a/docs/zh-CN/tutorials/large-project-organization.md +++ b/docs/zh-CN/tutorials/large-project-organization.md @@ -150,8 +150,8 @@ MyLargeGame/ ### 1.2 创建核心架构 ```csharp -using GFramework.Core.architecture; -using GFramework.Core.Abstractions.architecture; +using GFramework.Core.Architecture; +using GFramework.Core.Abstractions.Architecture; namespace MyGame.Core.Architecture { @@ -185,8 +185,8 @@ namespace MyGame.Core.Architecture ### 2.1 领域层 - 玩家模型 ```csharp -using GFramework.Core.model; -using GFramework.Core.property; +using GFramework.Core.Model; +using GFramework.Core.Property; namespace MyGame.Domain.Models.Player { @@ -277,7 +277,7 @@ namespace MyGame.Domain.Models.Player ### 2.2 领域层 - 领域事件 ```csharp -using GFramework.Core.Abstractions.events; +using GFramework.Core.Abstractions.Events; namespace MyGame.Domain.Events.Player { @@ -306,8 +306,8 @@ namespace MyGame.Domain.Events.Player ### 2.3 应用层 - 玩家系统 ```csharp -using GFramework.Core.system; -using GFramework.Core.Abstractions.events; +using GFramework.Core.System; +using GFramework.Core.Abstractions.Events; using MyGame.Domain.Models.Player; using MyGame.Domain.Events.Player; @@ -388,7 +388,7 @@ namespace MyGame.Application.Systems.Player ### 2.4 应用层 - 命令模式 ```csharp -using GFramework.Core.command; +using GFramework.Core.Command; using MyGame.Domain.Models.Player; namespace MyGame.Application.Commands.Player @@ -451,7 +451,7 @@ namespace MyGame.Application.Commands.Player ### 3.1 创建玩家模块 ```csharp -using GFramework.Core.Abstractions.architecture; +using GFramework.Core.Abstractions.Architecture; using MyGame.Domain.Models.Player; using MyGame.Application.Systems.Player; @@ -517,8 +517,8 @@ namespace MyGame.Modules.PlayerModule ### 3.2 创建战斗模块 ```csharp -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.system; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.System; using MyGame.Domain.Models.Player; namespace MyGame.Modules.CombatModule @@ -648,10 +648,10 @@ namespace MyGame.Modules.CombatModule ### 3.3 创建库存模块 ```csharp -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.model; -using GFramework.Core.system; -using GFramework.Core.property; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Model; +using GFramework.Core.System; +using GFramework.Core.Property; namespace MyGame.Modules.InventoryModule { @@ -841,9 +841,9 @@ namespace MyGame.Modules.InventoryModule ### 4.1 注册服务 ```csharp -using GFramework.Core.architecture; -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.ioc; +using GFramework.Core.Architecture; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.IoC; using MyGame.Modules.PlayerModule; using MyGame.Modules.CombatModule; using MyGame.Modules.InventoryModule; @@ -916,9 +916,9 @@ namespace MyGame.Core.Architecture ### 4.2 创建任务模块(展示模块间依赖) ```csharp -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.model; -using GFramework.Core.system; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Model; +using GFramework.Core.System; using MyGame.Domain.Models.Player; using MyGame.Modules.InventoryModule; @@ -1123,8 +1123,8 @@ namespace MyGame.Core.Constants // 文件: PlayerModel.cs // 位置: MyGame.Domain/Models/Player/PlayerModel.cs -using GFramework.Core.model; -using GFramework.Core.property; +using GFramework.Core.Model; +using GFramework.Core.Property; namespace MyGame.Domain.Models.Player { @@ -1195,7 +1195,7 @@ namespace MyGame.Domain.Models.Player ### 5.3 扩展方法组织 ```csharp -using GFramework.Core.Abstractions.architecture; +using GFramework.Core.Abstractions.Architecture; using MyGame.Domain.Models.Player; namespace MyGame.Core.Extensions diff --git a/docs/zh-CN/tutorials/pause-system.md b/docs/zh-CN/tutorials/pause-system.md index 679a4b0..f981f7c 100644 --- a/docs/zh-CN/tutorials/pause-system.md +++ b/docs/zh-CN/tutorials/pause-system.md @@ -28,9 +28,9 @@ description: 学习如何使用暂停系统实现多层暂停管理和游戏流 首先,在架构中注册暂停栈管理器作为 Utility。 ```csharp -using GFramework.Core.architecture; -using GFramework.Core.Abstractions.pause; -using GFramework.Core.pause; +using GFramework.Core.Architecture; +using GFramework.Core.Abstractions.Pause; +using GFramework.Core.Pause; namespace MyGame { @@ -62,9 +62,9 @@ namespace MyGame 创建一个简单的游戏系统,实现基本的暂停和恢复功能。 ```csharp -using GFramework.Core.Abstractions.pause; -using GFramework.Core.system; -using GFramework.Core.extensions; +using GFramework.Core.Abstractions.Pause; +using GFramework.Core.System; +using GFramework.Core.Extensions; namespace MyGame.Systems { @@ -169,9 +169,9 @@ namespace MyGame.Systems 使用暂停组实现更精细的暂停控制,例如只暂停游戏逻辑但不暂停 UI。 ```csharp -using GFramework.Core.Abstractions.pause; -using GFramework.Core.system; -using GFramework.Core.extensions; +using GFramework.Core.Abstractions.Pause; +using GFramework.Core.System; +using GFramework.Core.Extensions; namespace MyGame.Systems { @@ -322,9 +322,9 @@ namespace MyGame.Systems 使用暂停栈处理嵌套暂停场景,例如在暂停菜单中打开设置对话框。 ```csharp -using GFramework.Core.Abstractions.pause; -using GFramework.Core.Abstractions.controller; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Pause; +using GFramework.Core.Abstractions.Controller; +using GFramework.SourceGenerators.Abstractions.Rule; namespace MyGame.Controllers { @@ -474,7 +474,7 @@ namespace MyGame.Controllers 创建自定义处理器来响应暂停状态变化,实现具体的暂停逻辑。 ```csharp -using GFramework.Core.Abstractions.pause; +using GFramework.Core.Abstractions.Pause; namespace MyGame.Handlers { @@ -620,9 +620,9 @@ namespace MyGame.Handlers 在架构初始化时注册所有处理器: ```csharp -using GFramework.Core.architecture; -using GFramework.Core.Abstractions.pause; -using GFramework.Core.pause; +using GFramework.Core.Architecture; +using GFramework.Core.Abstractions.Pause; +using GFramework.Core.Pause; using MyGame.Handlers; namespace MyGame @@ -662,9 +662,9 @@ namespace MyGame 创建一个完整的游戏场景示例,展示暂停系统的实际应用。 ```csharp -using GFramework.Core.Abstractions.pause; -using GFramework.Core.Abstractions.controller; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.Core.Abstractions.Pause; +using GFramework.Core.Abstractions.Controller; +using GFramework.SourceGenerators.Abstractions.Rule; using System.Threading.Tasks; namespace MyGame.Controllers diff --git a/docs/zh-CN/tutorials/resource-management.md b/docs/zh-CN/tutorials/resource-management.md index 7b45ae6..a694761 100644 --- a/docs/zh-CN/tutorials/resource-management.md +++ b/docs/zh-CN/tutorials/resource-management.md @@ -28,7 +28,7 @@ description: 学习如何高效管理游戏资源,避免内存泄漏和性能 首先,让我们定义游戏中常用的资源类型,并为它们实现加载器。 ```csharp -using GFramework.Core.Abstractions.resource; +using GFramework.Core.Abstractions.Resource; using System; using System.IO; using System.Threading.Tasks; @@ -209,9 +209,9 @@ namespace MyGame.Resources 在架构中注册资源管理器和所有加载器。 ```csharp -using GFramework.Core.architecture; -using GFramework.Core.Abstractions.resource; -using GFramework.Core.resource; +using GFramework.Core.Architecture; +using GFramework.Core.Abstractions.Resource; +using GFramework.Core.Resource; using MyGame.Resources; namespace MyGame @@ -256,9 +256,9 @@ namespace MyGame 创建一个系统来管理资源的预加载和卸载。 ```csharp -using GFramework.Core.system; -using GFramework.Core.Abstractions.resource; -using GFramework.Core.extensions; +using GFramework.Core.System; +using GFramework.Core.Abstractions.Resource; +using GFramework.Core.Extensions; using MyGame.Resources; using System.Collections.Generic; using System.Threading.Tasks; @@ -487,9 +487,9 @@ namespace MyGame.Systems 创建一个游戏系统展示如何正确使用资源。 ```csharp -using GFramework.Core.system; -using GFramework.Core.Abstractions.resource; -using GFramework.Core.extensions; +using GFramework.Core.System; +using GFramework.Core.Abstractions.Resource; +using GFramework.Core.Extensions; using MyGame.Resources; namespace MyGame.Systems diff --git a/docs/zh-CN/tutorials/save-system.md b/docs/zh-CN/tutorials/save-system.md index 4a0a5ae..dbd264d 100644 --- a/docs/zh-CN/tutorials/save-system.md +++ b/docs/zh-CN/tutorials/save-system.md @@ -28,7 +28,7 @@ description: 学习如何实现完整的游戏存档系统,支持多槽位和 首先,让我们定义游戏存档需要保存的数据结构。 ```csharp -using GFramework.Game.Abstractions.data; +using GFramework.Game.Abstractions.Data; using System; using System.Collections.Generic; @@ -121,10 +121,10 @@ namespace MyGame.Data 实现一个系统来管理存档的创建、加载和保存。 ```csharp -using GFramework.Core.system; -using GFramework.Core.Abstractions.resource; -using GFramework.Core.extensions; -using GFramework.Game.Abstractions.data; +using GFramework.Core.System; +using GFramework.Core.Abstractions.Resource; +using GFramework.Core.Extensions; +using GFramework.Game.Abstractions.Data; using MyGame.Data; using System; using System.Collections.Generic; @@ -376,8 +376,8 @@ namespace MyGame.Systems 创建自动保存系统,定期保存游戏进度。 ```csharp -using GFramework.Core.system; -using GFramework.Core.extensions; +using GFramework.Core.System; +using GFramework.Core.Extensions; using System; using System.Threading; using System.Threading.Tasks; @@ -508,8 +508,8 @@ namespace MyGame.Systems 创建一个系统来模拟游戏数据的变化。 ```csharp -using GFramework.Core.system; -using GFramework.Core.extensions; +using GFramework.Core.System; +using GFramework.Core.Extensions; using MyGame.Data; using System; @@ -657,11 +657,11 @@ namespace MyGame.Systems 在架构中注册所有系统并进行测试。 ```csharp -using GFramework.Core.architecture; -using GFramework.Game.Abstractions.data; -using GFramework.Game.Abstractions.storage; -using GFramework.Game.data; -using GFramework.Game.storage; +using GFramework.Core.Architecture; +using GFramework.Game.Abstractions.Data; +using GFramework.Game.Abstractions.Storage; +using GFramework.Game.Data; +using GFramework.Game.Storage; using MyGame.Data; using MyGame.Systems; diff --git a/docs/zh-CN/tutorials/state-machine-tutorial.md b/docs/zh-CN/tutorials/state-machine-tutorial.md index 754d844..7adbe3b 100644 --- a/docs/zh-CN/tutorials/state-machine-tutorial.md +++ b/docs/zh-CN/tutorials/state-machine-tutorial.md @@ -28,8 +28,8 @@ description: 学习如何使用状态机系统管理游戏状态和场景切换 首先,让我们为一个简单的游戏定义几个基本状态:主菜单、加载、游戏中、暂停和游戏结束。 ```csharp -using GFramework.Core.Abstractions.state; -using GFramework.Core.state; +using GFramework.Core.Abstractions.State; +using GFramework.Core.State; namespace MyGame.States { @@ -255,7 +255,7 @@ namespace MyGame.States 实现一个异步加载状态,用于加载游戏资源。 ```csharp -using GFramework.Core.state; +using GFramework.Core.State; using System.Threading.Tasks; namespace MyGame.States @@ -345,9 +345,9 @@ namespace MyGame.States 在架构中注册状态机系统和所有状态。 ```csharp -using GFramework.Core.architecture; -using GFramework.Core.Abstractions.state; -using GFramework.Core.state; +using GFramework.Core.Architecture; +using GFramework.Core.Abstractions.State; +using GFramework.Core.State; using MyGame.States; namespace MyGame @@ -392,13 +392,13 @@ namespace MyGame 创建控制器来管理游戏流程和状态切换。 ```csharp -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.Abstractions.controller; -using GFramework.Core.Abstractions.state; -using GFramework.Core.extensions; +using GFramework.Core.Abstractions.Architecture; +using GFramework.Core.Abstractions.Controller; +using GFramework.Core.Abstractions.State; +using GFramework.Core.Extensions; using MyGame.States; using System.Threading.Tasks; -using GFramework.SourceGenerators.Abstractions.rule; +using GFramework.SourceGenerators.Abstractions.Rule; namespace MyGame.Controllers { diff --git a/docs/zh-CN/tutorials/unit-testing.md b/docs/zh-CN/tutorials/unit-testing.md index 6ab90eb..fcb7022 100644 --- a/docs/zh-CN/tutorials/unit-testing.md +++ b/docs/zh-CN/tutorials/unit-testing.md @@ -83,9 +83,9 @@ global using System.Linq; global using System.Threading.Tasks; global using NUnit.Framework; global using Moq; -global using GFramework.Core.Abstractions.architecture; -global using GFramework.Core.Abstractions.model; -global using GFramework.Core.Abstractions.system; +global using GFramework.Core.Abstractions.Architecture; +global using GFramework.Core.Abstractions.Model; +global using GFramework.Core.Abstractions.System; ``` ## 步骤 2:测试架构组件 @@ -95,8 +95,8 @@ global using GFramework.Core.Abstractions.system; Model 是数据层组件,我们需要测试其初始化和数据访问功能。 ```csharp -using GFramework.Core.Abstractions.enums; -using GFramework.Core.model; +using GFramework.Core.Abstractions.Enums; +using GFramework.Core.Model; namespace MyGame.Tests.model; @@ -170,8 +170,8 @@ public class TestModelTests System 是业务逻辑层组件,测试其初始化和销毁功能。 ```csharp -using GFramework.Core.Abstractions.enums; -using GFramework.Core.Abstractions.system; +using GFramework.Core.Abstractions.Enums; +using GFramework.Core.Abstractions.System; namespace MyGame.Tests.system; @@ -264,7 +264,7 @@ public class TestSystemTests 事件系统是框架的核心功能之一,需要测试事件的注册、发送和取消注册。 ```csharp -using GFramework.Core.events; +using GFramework.Core.Events; namespace MyGame.Tests.events; @@ -364,8 +364,8 @@ public class EventBusTests ### 4.1 测试 Command ```csharp -using GFramework.Core.Abstractions.cqrs.command; -using GFramework.Core.command; +using GFramework.Core.Abstractions.CQRS.Command; +using GFramework.Core.Command; namespace MyGame.Tests.command; @@ -470,8 +470,8 @@ public class CommandExecutorTests ### 4.2 测试 Query ```csharp -using GFramework.Core.Abstractions.cqrs.query; -using GFramework.Core.query; +using GFramework.Core.Abstractions.CQRS.Query; +using GFramework.Core.Query; namespace MyGame.Tests.query; @@ -571,8 +571,8 @@ public class QueryExecutorTests ### 5.1 Mock 接口依赖 ```csharp -using GFramework.Core.Abstractions.model; -using GFramework.Core.system; +using GFramework.Core.Abstractions.Model; +using GFramework.Core.System; namespace MyGame.Tests.mock; @@ -714,8 +714,8 @@ public class VerificationTests ### 6.1 创建测试架构 ```csharp -using GFramework.Core.architecture; -using GFramework.Core.Abstractions.enums; +using GFramework.Core.Architecture; +using GFramework.Core.Abstractions.Enums; namespace MyGame.Tests.integration; @@ -859,7 +859,7 @@ public class ArchitectureIntegrationTests ### 6.2 测试 BindableProperty ```csharp -using GFramework.Core.property; +using GFramework.Core.Property; namespace MyGame.Tests.property; diff --git a/folder-mappings.json b/folder-mappings.json new file mode 100644 index 0000000..5280e6a --- /dev/null +++ b/folder-mappings.json @@ -0,0 +1,618 @@ +{ + "projects": [ + { + "name": "GFramework.Core.Abstractions", + "path": "GFramework.Core.Abstractions", + "folders": [ + { + "old": "cqrs/behaviors", + "new": "CQRS/Behaviors" + }, + { + "old": "cqrs/command", + "new": "CQRS/Command" + }, + { + "old": "cqrs/notification", + "new": "CQRS/Notification" + }, + { + "old": "cqrs/query", + "new": "CQRS/Query" + }, + { + "old": "cqrs/request", + "new": "CQRS/Request" + }, + { + "old": "cqrs", + "new": "CQRS" + }, + { + "old": "architecture", + "new": "Architecture" + }, + { + "old": "bases", + "new": "Bases" + }, + { + "old": "command", + "new": "Command" + }, + { + "old": "configuration", + "new": "Configuration" + }, + { + "old": "controller", + "new": "Controller" + }, + { + "old": "coroutine", + "new": "Coroutine" + }, + { + "old": "data", + "new": "Data" + }, + { + "old": "enums", + "new": "Enums" + }, + { + "old": "environment", + "new": "Environment" + }, + { + "old": "events", + "new": "Events" + }, + { + "old": "internals", + "new": "Internals" + }, + { + "old": "ioc", + "new": "IoC" + }, + { + "old": "lifecycle", + "new": "Lifecycle" + }, + { + "old": "logging", + "new": "Logging" + }, + { + "old": "model", + "new": "Model" + }, + { + "old": "pause", + "new": "Pause" + }, + { + "old": "pool", + "new": "Pool" + }, + { + "old": "properties", + "new": "Properties" + }, + { + "old": "property", + "new": "Property" + }, + { + "old": "query", + "new": "Query" + }, + { + "old": "registries", + "new": "Registries" + }, + { + "old": "resource", + "new": "Resource" + }, + { + "old": "rule", + "new": "Rule" + }, + { + "old": "serializer", + "new": "Serializer" + }, + { + "old": "state", + "new": "State" + }, + { + "old": "storage", + "new": "Storage" + }, + { + "old": "system", + "new": "System" + }, + { + "old": "time", + "new": "Time" + }, + { + "old": "utility", + "new": "Utility" + }, + { + "old": "versioning", + "new": "Versioning" + } + ] + }, + { + "name": "GFramework.Core", + "path": "GFramework.Core", + "folders": [ + { + "old": "cqrs/behaviors", + "new": "CQRS/Behaviors" + }, + { + "old": "cqrs/command", + "new": "CQRS/Command" + }, + { + "old": "cqrs/notification", + "new": "CQRS/Notification" + }, + { + "old": "cqrs/query", + "new": "CQRS/Query" + }, + { + "old": "cqrs/request", + "new": "CQRS/Request" + }, + { + "old": "cqrs", + "new": "CQRS" + }, + { + "old": "coroutine/extensions", + "new": "Coroutine/Extensions" + }, + { + "old": "coroutine/instructions", + "new": "Coroutine/Instructions" + }, + { + "old": "coroutine", + "new": "Coroutine" + }, + { + "old": "functional/async", + "new": "Functional/Async" + }, + { + "old": "functional/control", + "new": "Functional/Control" + }, + { + "old": "functional/functions", + "new": "Functional/Functions" + }, + { + "old": "functional/pipe", + "new": "Functional/Pipe" + }, + { + "old": "functional/result", + "new": "Functional/Result" + }, + { + "old": "functional", + "new": "Functional" + }, + { + "old": "logging/appenders", + "new": "Logging/Appenders" + }, + { + "old": "logging/filters", + "new": "Logging/Filters" + }, + { + "old": "log/formatters", + "new": "Logging/Formatters" + }, + { + "old": "logging", + "new": "Logging" + }, + { + "old": "services/modules", + "new": "Services/Modules" + }, + { + "old": "services", + "new": "Services" + }, + { + "old": "architecture", + "new": "Architecture" + }, + { + "old": "command", + "new": "Command" + }, + { + "old": "configuration", + "new": "Configuration" + }, + { + "old": "environment", + "new": "Environment" + }, + { + "old": "events", + "new": "Events" + }, + { + "old": "extensions", + "new": "Extensions" + }, + { + "old": "ioc", + "new": "IoC" + }, + { + "old": "model", + "new": "Model" + }, + { + "old": "pause", + "new": "Pause" + }, + { + "old": "pool", + "new": "Pool" + }, + { + "old": "property", + "new": "Property" + }, + { + "old": "query", + "new": "Query" + }, + { + "old": "resource", + "new": "Resource" + }, + { + "old": "rule", + "new": "Rule" + }, + { + "old": "state", + "new": "State" + }, + { + "old": "system", + "new": "System" + }, + { + "old": "time", + "new": "Time" + }, + { + "old": "utility", + "new": "Utility" + } + ] + }, + { + "name": "GFramework.Core.Tests", + "path": "GFramework.Core.Tests", + "folders": [ + { + "old": "architecture", + "new": "Architecture" + }, + { + "old": "extensions", + "new": "Extensions" + }, + { + "old": "logging", + "new": "Logging" + } + ] + }, + { + "name": "GFramework.Game.Abstractions", + "path": "GFramework.Game.Abstractions", + "folders": [ + { + "old": "data", + "new": "Data" + }, + { + "old": "scene", + "new": "Scene" + }, + { + "old": "serializer", + "new": "Serializer" + }, + { + "old": "setting/events", + "new": "Setting/Events" + }, + { + "old": "setting", + "new": "Setting" + }, + { + "old": "state", + "new": "State" + }, + { + "old": "storage", + "new": "Storage" + }, + { + "old": "ui/handler", + "new": "UI/Handler" + }, + { + "old": "ui", + "new": "UI" + } + ] + }, + { + "name": "GFramework.Game", + "path": "GFramework.Game", + "folders": [ + { + "old": "data", + "new": "Data" + }, + { + "old": "extensions", + "new": "Extensions" + }, + { + "old": "scene/handler", + "new": "Scene/Handler" + }, + { + "old": "scene", + "new": "Scene" + }, + { + "old": "serializer", + "new": "Serializer" + }, + { + "old": "setting/events", + "new": "Setting/Events" + }, + { + "old": "setting", + "new": "Setting" + }, + { + "old": "state", + "new": "State" + }, + { + "old": "storage", + "new": "Storage" + }, + { + "old": "ui/handler", + "new": "UI/Handler" + }, + { + "old": "ui", + "new": "UI" + } + ] + }, + { + "name": "GFramework.Godot", + "path": "GFramework.Godot", + "folders": [ + { + "old": "extensions/signal", + "new": "Extensions/Signal" + }, + { + "old": "extensions", + "new": "Extensions" + }, + { + "old": "setting/data", + "new": "Setting/Data" + }, + { + "old": "setting", + "new": "Setting" + }, + { + "old": "architecture", + "new": "Architecture" + }, + { + "old": "coroutine", + "new": "Coroutine" + }, + { + "old": "data", + "new": "Data" + }, + { + "old": "logging", + "new": "Logging" + }, + { + "old": "pause", + "new": "Pause" + }, + { + "old": "pool", + "new": "Pool" + }, + { + "old": "scene", + "new": "Scene" + }, + { + "old": "storage", + "new": "Storage" + }, + { + "old": "ui", + "new": "UI" + } + ] + }, + { + "name": "GFramework.Ecs.Arch.Abstractions", + "path": "GFramework.Ecs.Arch.Abstractions", + "folders": [ + { + "old": "components", + "new": "Components" + }, + { + "old": "systems", + "new": "Systems" + } + ] + }, + { + "name": "GFramework.Ecs.Arch", + "path": "GFramework.Ecs.Arch", + "folders": [ + { + "old": "components", + "new": "Components" + }, + { + "old": "extensions", + "new": "Extensions" + }, + { + "old": "systems", + "new": "Systems" + } + ] + }, + { + "name": "GFramework.Ecs.Arch.Tests", + "path": "GFramework.Ecs.Arch.Tests", + "folders": [ + { + "old": "integration", + "new": "Integration" + }, + { + "old": "systems", + "new": "Systems" + } + ] + }, + { + "name": "GFramework.SourceGenerators.Abstractions", + "path": "GFramework.SourceGenerators.Abstractions", + "folders": [ + { + "old": "bases", + "new": "Bases" + }, + { + "old": "diagnostics", + "new": "Diagnostics" + }, + { + "old": "enums", + "new": "Enums" + } + ] + }, + { + "name": "GFramework.SourceGenerators", + "path": "GFramework.SourceGenerators", + "folders": [ + { + "old": "analyzers", + "new": "Analyzers" + }, + { + "old": "bases", + "new": "Bases" + }, + { + "old": "diagnostics", + "new": "Diagnostics" + }, + { + "old": "enums", + "new": "Enums" + }, + { + "old": "logging", + "new": "Logging" + }, + { + "old": "rule", + "new": "Rule" + } + ] + }, + { + "name": "GFramework.Godot.SourceGenerators.Abstractions", + "path": "GFramework.Godot.SourceGenerators.Abstractions", + "folders": [ + { + "old": "bases", + "new": "Bases" + }, + { + "old": "diagnostics", + "new": "Diagnostics" + }, + { + "old": "enums", + "new": "Enums" + } + ] + }, + { + "name": "GFramework.Godot.SourceGenerators", + "path": "GFramework.Godot.SourceGenerators", + "folders": [ + { + "old": "analyzers", + "new": "Analyzers" + }, + { + "old": "bases", + "new": "Bases" + }, + { + "old": "diagnostics", + "new": "Diagnostics" + }, + { + "old": "enums", + "new": "Enums" + } + ] + } + ] +} diff --git a/refactor-namespaces.ps1 b/refactor-namespaces.ps1 new file mode 100644 index 0000000..38190e5 --- /dev/null +++ b/refactor-namespaces.ps1 @@ -0,0 +1,104 @@ +#!/usr/bin/env pwsh + +param( + [switch]$DryRun, + [switch]$SkipTests, + [string]$Phase = "all" +) + +$ErrorActionPreference = "Stop" + +function Write-Phase { + param([string]$Message) + Write-Host "`n========================================" -ForegroundColor Cyan + Write-Host $Message -ForegroundColor Cyan + Write-Host "========================================`n" -ForegroundColor Cyan +} + +function Invoke-GitCommand { + param([string]$Command) + if ($DryRun) { + Write-Host "[DRY RUN] git $Command" -ForegroundColor Yellow + } else { + Invoke-Expression "git $Command" + if ($LASTEXITCODE -ne 0) { + throw "Git command failed: git $Command" + } + } +} + +# Phase 0: Preparation +if ($Phase -eq "all" -or $Phase -eq "0") { + Write-Phase "Phase 0: Preparation" + + # Check clean working directory + $status = git status --porcelain + if ($status) { + Write-Error "Working directory is not clean. Please commit or stash changes first." + exit 1 + } + + # Create backup tag + Write-Host "Creating backup tag..." + Invoke-GitCommand "tag backup-before-namespace-refactor-$(Get-Date -Format 'yyyyMMdd-HHmmss')" + + # Run baseline tests + if (-not $SkipTests) { + Write-Host "Running baseline tests..." + dotnet test + if ($LASTEXITCODE -ne 0) { + Write-Error "Baseline tests failed. Please fix before proceeding." + exit 1 + } + } + + Write-Host "✓ Preparation complete" -ForegroundColor Green +} + +# Phase 1: Rename folders +if ($Phase -eq "all" -or $Phase -eq "1") { + Write-Phase "Phase 1: Rename Folders" + + # Load mappings + $mappingsJson = Get-Content "folder-mappings.json" -Raw | ConvertFrom-Json + + foreach ($project in $mappingsJson.projects) { + Write-Host "`nProcessing project: $($project.name)" -ForegroundColor Yellow + + # Sort folders by depth (deepest first) to avoid conflicts + $sortedFolders = $project.folders | Sort-Object { ($_.old -split '/').Count } -Descending + + foreach ($mapping in $sortedFolders) { + $oldPath = Join-Path $project.path $mapping.old + $newPath = Join-Path $project.path $mapping.new + + if (Test-Path $oldPath) { + # Windows case-insensitive workaround + if ($mapping.old.ToLower() -eq $mapping.new.ToLower()) { + $tempPath = "$oldPath`_temp" + Write-Host " Renaming (2-step): $($mapping.old) → $($mapping.new)" + Invoke-GitCommand "mv `"$oldPath`" `"$tempPath`"" + Invoke-GitCommand "mv `"$tempPath`" `"$newPath`"" + } else { + Write-Host " Renaming: $($mapping.old) → $($mapping.new)" + Invoke-GitCommand "mv `"$oldPath`" `"$newPath`"" + } + } else { + Write-Host " Skipping (not found): $($mapping.old)" -ForegroundColor Gray + } + } + } + + if (-not $DryRun) { + Write-Host "`nCommitting folder renames..." + git commit -m "refactor: rename folders to PascalCase (phase 1)" + } + + Write-Host "✓ Phase 1 complete" -ForegroundColor Green +} + +Write-Host "`n✓ Script execution complete!" -ForegroundColor Green +Write-Host "Next steps:" -ForegroundColor Cyan +Write-Host " 1. Run: ./update-namespaces.ps1" -ForegroundColor White +Write-Host " 2. Run: ./update-documentation.ps1" -ForegroundColor White +Write-Host " 3. Run: ./verify-namespaces.ps1" -ForegroundColor White diff --git a/refactor-scripts/finish-remaining.sh b/refactor-scripts/finish-remaining.sh new file mode 100644 index 0000000..1d756a6 --- /dev/null +++ b/refactor-scripts/finish-remaining.sh @@ -0,0 +1,128 @@ +#!/bin/bash +set -e + +ROOT_DIR="/mnt/f/gewuyou/System/Documents/WorkSpace/GameDev/GFramework" +cd "$ROOT_DIR" + +GREEN='\033[0;32m' +CYAN='\033[0;36m' +NC='\033[0m' + +log_info() { echo -e "${CYAN}ℹ $1${NC}"; } +log_success() { echo -e "${GREEN}✓ $1${NC}"; } + +rename_folder() { + local from="$1" + local to="$2" + if [ ! -d "$from" ]; then + log_info "跳过(不存在): $from" + return + fi + if [ "$from" = "$to" ]; then + log_info "跳过(相同): $from" + return + fi + log_info "重命名: $from -> $to" + git mv "$from" "${from}_temp" + git mv "${from}_temp" "$to" + log_success "完成: $from -> $to" +} + +# GFramework.Game +log_info "=== 处理 GFramework.Game ===" +rename_folder "GFramework.Game/scene/handler" "GFramework.Game/scene/Handler" +rename_folder "GFramework.Game/scene" "GFramework.Game/Scene" +rename_folder "GFramework.Game/setting/events" "GFramework.Game/setting/Events" +rename_folder "GFramework.Game/setting" "GFramework.Game/Setting" +rename_folder "GFramework.Game/ui/handler" "GFramework.Game/ui/Handler" +rename_folder "GFramework.Game/ui" "GFramework.Game/UI" +rename_folder "GFramework.Game/storage" "GFramework.Game/Storage" +rename_folder "GFramework.Game/state" "GFramework.Game/State" +rename_folder "GFramework.Game/serializer" "GFramework.Game/Serializer" +rename_folder "GFramework.Game/extensions" "GFramework.Game/Extensions" +rename_folder "GFramework.Game/data" "GFramework.Game/Data" +git add -A +git commit -m "refactor(Game): 重命名文件夹为 PascalCase" +log_success "=== GFramework.Game 完成 ===" + +# GFramework.Godot +log_info "=== 处理 GFramework.Godot ===" +rename_folder "GFramework.Godot/extensions/signal" "GFramework.Godot/extensions/Signal" +rename_folder "GFramework.Godot/extensions" "GFramework.Godot/Extensions" +rename_folder "GFramework.Godot/setting/data" "GFramework.Godot/setting/Data" +rename_folder "GFramework.Godot/setting" "GFramework.Godot/Setting" +rename_folder "GFramework.Godot/ui" "GFramework.Godot/UI" +rename_folder "GFramework.Godot/storage" "GFramework.Godot/Storage" +rename_folder "GFramework.Godot/scene" "GFramework.Godot/Scene" +rename_folder "GFramework.Godot/pool" "GFramework.Godot/Pool" +rename_folder "GFramework.Godot/pause" "GFramework.Godot/Pause" +rename_folder "GFramework.Godot/logging" "GFramework.Godot/Logging" +rename_folder "GFramework.Godot/data" "GFramework.Godot/Data" +rename_folder "GFramework.Godot/coroutine" "GFramework.Godot/Coroutine" +rename_folder "GFramework.Godot/architecture" "GFramework.Godot/Architecture" +git add -A +git commit -m "refactor(Godot): 重命名文件夹为 PascalCase" +log_success "=== GFramework.Godot 完成 ===" + +# GFramework.Ecs.Arch +log_info "=== 处理 GFramework.Ecs.Arch ===" +rename_folder "GFramework.Ecs.Arch/systems" "GFramework.Ecs.Arch/Systems" +rename_folder "GFramework.Ecs.Arch/extensions" "GFramework.Ecs.Arch/Extensions" +rename_folder "GFramework.Ecs.Arch/components" "GFramework.Ecs.Arch/Components" +git add -A +git commit -m "refactor(Ecs.Arch): 重命名文件夹为 PascalCase" +log_success "=== GFramework.Ecs.Arch 完成 ===" + +# GFramework.Ecs.Arch.Tests +log_info "=== 处理 GFramework.Ecs.Arch.Tests ===" +rename_folder "GFramework.Ecs.Arch.Tests/integration" "GFramework.Ecs.Arch.Tests/Integration" +rename_folder "GFramework.Ecs.Arch.Tests/ecs" "GFramework.Ecs.Arch.Tests/ECS" +git add -A +git commit -m "refactor(Ecs.Arch.Tests): 重命名文件夹为 PascalCase" +log_success "=== GFramework.Ecs.Arch.Tests 完成 ===" + +# GFramework.SourceGenerators.Abstractions +log_info "=== 处理 GFramework.SourceGenerators.Abstractions ===" +rename_folder "GFramework.SourceGenerators.Abstractions/rule" "GFramework.SourceGenerators.Abstractions/Rule" +rename_folder "GFramework.SourceGenerators.Abstractions/logging" "GFramework.SourceGenerators.Abstractions/Logging" +rename_folder "GFramework.SourceGenerators.Abstractions/enums" "GFramework.SourceGenerators.Abstractions/Enums" +rename_folder "GFramework.SourceGenerators.Abstractions/bases" "GFramework.SourceGenerators.Abstractions/Bases" +git add -A +git commit -m "refactor(SourceGenerators.Abstractions): 重命名文件夹为 PascalCase" +log_success "=== GFramework.SourceGenerators.Abstractions 完成 ===" + +# GFramework.SourceGenerators.Common +log_info "=== 处理 GFramework.SourceGenerators.Common ===" +rename_folder "GFramework.SourceGenerators.Common/info" "GFramework.SourceGenerators.Common/Info" +rename_folder "GFramework.SourceGenerators.Common/generator" "GFramework.SourceGenerators.Common/Generator" +rename_folder "GFramework.SourceGenerators.Common/extensions" "GFramework.SourceGenerators.Common/Extensions" +rename_folder "GFramework.SourceGenerators.Common/diagnostics" "GFramework.SourceGenerators.Common/Diagnostics" +rename_folder "GFramework.SourceGenerators.Common/constants" "GFramework.SourceGenerators.Common/Constants" +git add -A +git commit -m "refactor(SourceGenerators.Common): 重命名文件夹为 PascalCase" +log_success "=== GFramework.SourceGenerators.Common 完成 ===" + +# GFramework.SourceGenerators +log_info "=== 处理 GFramework.SourceGenerators ===" +rename_folder "GFramework.SourceGenerators/rule" "GFramework.SourceGenerators/Rule" +rename_folder "GFramework.SourceGenerators/logging" "GFramework.SourceGenerators/Logging" +rename_folder "GFramework.SourceGenerators/enums" "GFramework.SourceGenerators/Enums" +rename_folder "GFramework.SourceGenerators/diagnostics" "GFramework.SourceGenerators/Diagnostics" +rename_folder "GFramework.SourceGenerators/bases" "GFramework.SourceGenerators/Bases" +rename_folder "GFramework.SourceGenerators/analyzers" "GFramework.SourceGenerators/Analyzers" +git add -A +git commit -m "refactor(SourceGenerators): 重命名文件夹为 PascalCase" +log_success "=== GFramework.SourceGenerators 完成 ===" + +# GFramework.SourceGenerators.Tests +log_info "=== 处理 GFramework.SourceGenerators.Tests ===" +rename_folder "GFramework.SourceGenerators.Tests/rule" "GFramework.SourceGenerators.Tests/Rule" +rename_folder "GFramework.SourceGenerators.Tests/logging" "GFramework.SourceGenerators.Tests/Logging" +rename_folder "GFramework.SourceGenerators.Tests/enums" "GFramework.SourceGenerators.Tests/Enums" +rename_folder "GFramework.SourceGenerators.Tests/core" "GFramework.SourceGenerators.Tests/Core" +rename_folder "GFramework.SourceGenerators.Tests/bases" "GFramework.SourceGenerators.Tests/Bases" +git add -A +git commit -m "refactor(SourceGenerators.Tests): 重命名文件夹为 PascalCase" +log_success "=== GFramework.SourceGenerators.Tests 完成 ===" + +log_success "=== 所有项目文件夹重命名完成 ===" diff --git a/refactor-scripts/folder-mappings.json b/refactor-scripts/folder-mappings.json new file mode 100644 index 0000000..87a0a27 --- /dev/null +++ b/refactor-scripts/folder-mappings.json @@ -0,0 +1,727 @@ +{ + "projects": [ + { + "name": "GFramework.Core.Abstractions", + "path": "GFramework.Core.Abstractions", + "folders": [ + { + "from": "architecture", + "to": "Architecture" + }, + { + "from": "bases", + "to": "Bases" + }, + { + "from": "command", + "to": "Command" + }, + { + "from": "configuration", + "to": "Configuration" + }, + { + "from": "coroutine", + "to": "Coroutine" + }, + { + "from": "cqrs", + "to": "CQRS" + }, + { + "from": "cqrs/command", + "to": "CQRS/Command" + }, + { + "from": "cqrs/notification", + "to": "CQRS/Notification" + }, + { + "from": "cqrs/query", + "to": "CQRS/Query" + }, + { + "from": "cqrs/request", + "to": "CQRS/Request" + }, + { + "from": "data", + "to": "Data" + }, + { + "from": "enums", + "to": "Enums" + }, + { + "from": "environment", + "to": "Environment" + }, + { + "from": "events", + "to": "Events" + }, + { + "from": "internals", + "to": "Internals" + }, + { + "from": "ioc", + "to": "IoC" + }, + { + "from": "lifecycle", + "to": "Lifecycle" + }, + { + "from": "logging", + "to": "Logging" + }, + { + "from": "model", + "to": "Model" + }, + { + "from": "pause", + "to": "Pause" + }, + { + "from": "pool", + "to": "Pool" + }, + { + "from": "properties", + "to": "Properties" + }, + { + "from": "property", + "to": "Property" + }, + { + "from": "query", + "to": "Query" + }, + { + "from": "registries", + "to": "Registries" + }, + { + "from": "resource", + "to": "Resource" + }, + { + "from": "rule", + "to": "Rule" + }, + { + "from": "serializer", + "to": "Serializer" + }, + { + "from": "state", + "to": "State" + }, + { + "from": "storage", + "to": "Storage" + }, + { + "from": "system", + "to": "System" + }, + { + "from": "time", + "to": "Time" + }, + { + "from": "utility", + "to": "Utility" + }, + { + "from": "versioning", + "to": "Versioning" + } + ] + }, + { + "name": "GFramework.Core", + "path": "GFramework.Core", + "folders": [ + { + "from": "architecture", + "to": "Architecture" + }, + { + "from": "command", + "to": "Command" + }, + { + "from": "configuration", + "to": "Configuration" + }, + { + "from": "constants", + "to": "Constants" + }, + { + "from": "coroutine", + "to": "Coroutine" + }, + { + "from": "coroutine/extensions", + "to": "Coroutine/Extensions" + }, + { + "from": "coroutine/instructions", + "to": "Coroutine/Instructions" + }, + { + "from": "cqrs", + "to": "CQRS" + }, + { + "from": "cqrs/behaviors", + "to": "CQRS/Behaviors" + }, + { + "from": "cqrs/command", + "to": "CQRS/Command" + }, + { + "from": "cqrs/notification", + "to": "CQRS/Notification" + }, + { + "from": "cqrs/query", + "to": "CQRS/Query" + }, + { + "from": "cqrs/request", + "to": "CQRS/Request" + }, + { + "from": "environment", + "to": "Environment" + }, + { + "from": "events", + "to": "Events" + }, + { + "from": "events/filters", + "to": "Events/Filters" + }, + { + "from": "extensions", + "to": "Extensions" + }, + { + "from": "functional", + "to": "Functional" + }, + { + "from": "functional/async", + "to": "Functional/Async" + }, + { + "from": "functional/control", + "to": "Functional/Control" + }, + { + "from": "functional/functions", + "to": "Functional/Functions" + }, + { + "from": "functional/pipe", + "to": "Functional/Pipe" + }, + { + "from": "functional/result", + "to": "Functional/Result" + }, + { + "from": "ioc", + "to": "IoC" + }, + { + "from": "logging", + "to": "Logging" + }, + { + "from": "logging/appenders", + "to": "Logging/Appenders" + }, + { + "from": "logging/filters", + "to": "Logging/Filters" + }, + { + "from": "logging/formatters", + "to": "Logging/Formatters" + }, + { + "from": "model", + "to": "Model" + }, + { + "from": "pause", + "to": "Pause" + }, + { + "from": "pool", + "to": "Pool" + }, + { + "from": "property", + "to": "Property" + }, + { + "from": "query", + "to": "Query" + }, + { + "from": "resource", + "to": "Resource" + }, + { + "from": "rule", + "to": "Rule" + }, + { + "from": "services", + "to": "Services" + }, + { + "from": "services/modules", + "to": "Services/Modules" + }, + { + "from": "state", + "to": "State" + }, + { + "from": "system", + "to": "System" + }, + { + "from": "time", + "to": "Time" + }, + { + "from": "utility", + "to": "Utility" + } + ] + }, + { + "name": "GFramework.Core.Tests", + "path": "GFramework.Core.Tests", + "folders": [ + { + "from": "architecture", + "to": "Architecture" + }, + { + "from": "command", + "to": "Command" + }, + { + "from": "configuration", + "to": "Configuration" + }, + { + "from": "coroutine", + "to": "Coroutine" + }, + { + "from": "environment", + "to": "Environment" + }, + { + "from": "events", + "to": "Events" + }, + { + "from": "extensions", + "to": "Extensions" + }, + { + "from": "functional", + "to": "Functional" + }, + { + "from": "functional/control", + "to": "Functional/Control" + }, + { + "from": "functional/functions", + "to": "Functional/Functions" + }, + { + "from": "functional/pipe", + "to": "Functional/Pipe" + }, + { + "from": "ioc", + "to": "IoC" + }, + { + "from": "logging", + "to": "Logging" + }, + { + "from": "mediator", + "to": "Mediator" + }, + { + "from": "model", + "to": "Model" + }, + { + "from": "pause", + "to": "Pause" + }, + { + "from": "pool", + "to": "Pool" + }, + { + "from": "property", + "to": "Property" + }, + { + "from": "query", + "to": "Query" + }, + { + "from": "resource", + "to": "Resource" + }, + { + "from": "rule", + "to": "Rule" + }, + { + "from": "state", + "to": "State" + }, + { + "from": "system", + "to": "System" + }, + { + "from": "tests", + "to": "Tests" + }, + { + "from": "time", + "to": "Time" + } + ] + }, + { + "name": "GFramework.Game.Abstractions", + "path": "GFramework.Game.Abstractions", + "folders": [ + { + "from": "asset", + "to": "Asset" + }, + { + "from": "data", + "to": "Data" + }, + { + "from": "data/events", + "to": "Data/Events" + }, + { + "from": "enums", + "to": "Enums" + }, + { + "from": "internals", + "to": "Internals" + }, + { + "from": "scene", + "to": "Scene" + }, + { + "from": "setting", + "to": "Setting" + }, + { + "from": "setting/data", + "to": "Setting/Data" + }, + { + "from": "storage", + "to": "Storage" + }, + { + "from": "ui", + "to": "UI" + } + ] + }, + { + "name": "GFramework.Game", + "path": "GFramework.Game", + "folders": [ + { + "from": "data", + "to": "Data" + }, + { + "from": "extensions", + "to": "Extensions" + }, + { + "from": "scene", + "to": "Scene" + }, + { + "from": "scene/handler", + "to": "Scene/Handler" + }, + { + "from": "serializer", + "to": "Serializer" + }, + { + "from": "setting", + "to": "Setting" + }, + { + "from": "setting/events", + "to": "Setting/Events" + }, + { + "from": "state", + "to": "State" + }, + { + "from": "storage", + "to": "Storage" + }, + { + "from": "ui", + "to": "UI" + }, + { + "from": "ui/handler", + "to": "UI/Handler" + } + ] + }, + { + "name": "GFramework.Godot", + "path": "GFramework.Godot", + "folders": [ + { + "from": "architecture", + "to": "Architecture" + }, + { + "from": "coroutine", + "to": "Coroutine" + }, + { + "from": "data", + "to": "Data" + }, + { + "from": "extensions", + "to": "Extensions" + }, + { + "from": "extensions/signal", + "to": "Extensions/Signal" + }, + { + "from": "logging", + "to": "Logging" + }, + { + "from": "pause", + "to": "Pause" + }, + { + "from": "pool", + "to": "Pool" + }, + { + "from": "scene", + "to": "Scene" + }, + { + "from": "setting", + "to": "Setting" + }, + { + "from": "setting/data", + "to": "Setting/Data" + }, + { + "from": "storage", + "to": "Storage" + }, + { + "from": "ui", + "to": "UI" + } + ] + }, + { + "name": "GFramework.Ecs.Arch.Abstractions", + "path": "GFramework.Ecs.Arch.Abstractions", + "folders": [] + }, + { + "name": "GFramework.Ecs.Arch", + "path": "GFramework.Ecs.Arch", + "folders": [ + { + "from": "components", + "to": "Components" + }, + { + "from": "extensions", + "to": "Extensions" + }, + { + "from": "systems", + "to": "Systems" + } + ] + }, + { + "name": "GFramework.Ecs.Arch.Tests", + "path": "GFramework.Ecs.Arch.Tests", + "folders": [ + { + "from": "ecs", + "to": "ECS" + }, + { + "from": "integration", + "to": "Integration" + } + ] + }, + { + "name": "GFramework.SourceGenerators.Abstractions", + "path": "GFramework.SourceGenerators.Abstractions", + "folders": [ + { + "from": "bases", + "to": "Bases" + }, + { + "from": "enums", + "to": "Enums" + }, + { + "from": "logging", + "to": "Logging" + }, + { + "from": "rule", + "to": "Rule" + } + ] + }, + { + "name": "GFramework.SourceGenerators.Common", + "path": "GFramework.SourceGenerators.Common", + "folders": [ + { + "from": "constants", + "to": "Constants" + }, + { + "from": "diagnostics", + "to": "Diagnostics" + }, + { + "from": "extensions", + "to": "Extensions" + }, + { + "from": "generator", + "to": "Generator" + }, + { + "from": "info", + "to": "Info" + } + ] + }, + { + "name": "GFramework.SourceGenerators", + "path": "GFramework.SourceGenerators", + "folders": [ + { + "from": "analyzers", + "to": "Analyzers" + }, + { + "from": "bases", + "to": "Bases" + }, + { + "from": "diagnostics", + "to": "Diagnostics" + }, + { + "from": "enums", + "to": "Enums" + }, + { + "from": "logging", + "to": "Logging" + }, + { + "from": "rule", + "to": "Rule" + } + ] + }, + { + "name": "GFramework.SourceGenerators.Tests", + "path": "GFramework.SourceGenerators.Tests", + "folders": [ + { + "from": "bases", + "to": "Bases" + }, + { + "from": "core", + "to": "Core" + }, + { + "from": "enums", + "to": "Enums" + }, + { + "from": "logging", + "to": "Logging" + }, + { + "from": "rule", + "to": "Rule" + } + ] + }, + { + "name": "GFramework.Godot.SourceGenerators.Abstractions", + "path": "GFramework.Godot.SourceGenerators.Abstractions", + "folders": [] + }, + { + "name": "GFramework.Godot.SourceGenerators", + "path": "GFramework.Godot.SourceGenerators", + "folders": [] + } + ] +} diff --git a/refactor-scripts/refactor-namespaces.ps1 b/refactor-scripts/refactor-namespaces.ps1 new file mode 100644 index 0000000..393260e --- /dev/null +++ b/refactor-scripts/refactor-namespaces.ps1 @@ -0,0 +1,456 @@ +#!/usr/bin/env pwsh +<# +.SYNOPSIS + GFramework 命名空间重构脚本 - 将所有文件夹和命名空间从小写改为 PascalCase +.DESCRIPTION + 此脚本执行以下操作: + 1. 重命名文件夹(使用 git mv 保留历史) + 2. 更新所有 C# 文件中的命名空间声明和 using 语句 + 3. 更新文档中的命名空间引用 + 4. 验证更改的完整性 +.PARAMETER Phase + 指定要执行的阶段: + - 1: 文件夹重命名 + - 2: 命名空间更新 + - 3: 文档更新 + - 4: 验证 + - All: 执行所有阶段(默认) +.PARAMETER DryRun + 干运行模式,只显示将要执行的操作,不实际执行 +.PARAMETER SkipTests + 跳过测试验证 +.EXAMPLE + ./refactor-namespaces.ps1 -Phase 1 + ./refactor-namespaces.ps1 -DryRun + ./refactor-namespaces.ps1 -Phase All -SkipTests +#> + +param( + [Parameter()] + [ValidateSet("1", "2", "3", "4", "All")] + [string]$Phase = "All", + + [Parameter()] + [switch]$DryRun, + + [Parameter()] + [switch]$SkipTests +) + +$ErrorActionPreference = "Stop" +$scriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path +$rootDir = Split-Path -Parent $scriptDir +$mappingFile = Join-Path $scriptDir "folder-mappings.json" + +# 颜色输出函数 +function Write-ColorOutput { + param( + [string]$Message, + [string]$Color = "White" + ) + Write-Host $Message -ForegroundColor $Color +} + +function Write-Success { param([string]$Message) Write-ColorOutput "✓ $Message" "Green" } +function Write-Info { param([string]$Message) Write-ColorOutput "ℹ $Message" "Cyan" } +function Write-Warning { param([string]$Message) Write-ColorOutput "⚠ $Message" "Yellow" } +function Write-Error { param([string]$Message) Write-ColorOutput "✗ $Message" "Red" } + +# 阶段 1: 文件夹重命名 +function Invoke-FolderRename { + Write-Info "=== 阶段 1: 文件夹重命名 ===" + + $config = Get-Content $mappingFile | ConvertFrom-Json + $totalFolders = 0 + + foreach ($project in $config.projects) { + Write-Info "处理项目: $($project.name)" + $projectPath = Join-Path $rootDir $project.path + + if (-not (Test-Path $projectPath)) { + Write-Warning "项目路径不存在: $projectPath" + continue + } + + # 按深度排序(深度优先,避免路径冲突) + $sortedFolders = $project.folders | Sort-Object { ($_.from -split '/').Count } -Descending + + foreach ($folder in $sortedFolders) { + $fromPath = Join-Path $projectPath $folder.from + $toPath = Join-Path $projectPath $folder.to + + if (-not (Test-Path $fromPath)) { + Write-Warning "源文件夹不存在: $fromPath" + continue + } + + if ($fromPath -eq $toPath) { + Write-Info "跳过(路径相同): $($folder.from)" + continue + } + + # Windows 文件系统不区分大小写,需要两步重命名 + $tempPath = "$fromPath`_temp" + + if ($DryRun) { + Write-Info "[DRY RUN] git mv $fromPath $tempPath" + Write-Info "[DRY RUN] git mv $tempPath $toPath" + } else { + try { + Write-Info "重命名: $($folder.from) -> $($folder.to)" + + # 第一步:重命名为临时名称 + git mv $fromPath $tempPath + if ($LASTEXITCODE -ne 0) { + throw "git mv 失败: $fromPath -> $tempPath" + } + + # 第二步:重命名为目标名称 + git mv $tempPath $toPath + if ($LASTEXITCODE -ne 0) { + throw "git mv 失败: $tempPath -> $toPath" + } + + $totalFolders++ + Write-Success "完成: $($folder.from) -> $($folder.to)" + } catch { + Write-Error "重命名失败: $_" + throw + } + } + } + + if (-not $DryRun) { + Write-Info "提交项目 $($project.name) 的文件夹重命名" + git add -A + git commit -m "refactor($($project.name)): 重命名文件夹为 PascalCase" + } + } + + Write-Success "阶段 1 完成: 共重命名 $totalFolders 个文件夹" +} + +# 阶段 2: 命名空间更新 +function Invoke-NamespaceUpdate { + Write-Info "=== 阶段 2: 命名空间更新 ===" + + $csFiles = Get-ChildItem -Path $rootDir -Filter "*.cs" -Recurse | + Where-Object { $_.FullName -notmatch "\\bin\\|\\obj\\|\\Generated\\" } + + Write-Info "找到 $($csFiles.Count) 个 C# 文件" + + $updatedFiles = 0 + $totalReplacements = 0 + + # 定义命名空间替换规则(按优先级排序,长的先匹配) + $namespaceRules = @( + # CQRS 子命名空间 + @{ Pattern = '\.cqrs\.notification\b'; Replacement = '.CQRS.Notification' } + @{ Pattern = '\.cqrs\.command\b'; Replacement = '.CQRS.Command' } + @{ Pattern = '\.cqrs\.request\b'; Replacement = '.CQRS.Request' } + @{ Pattern = '\.cqrs\.query\b'; Replacement = '.CQRS.Query' } + @{ Pattern = '\.cqrs\.behaviors\b'; Replacement = '.CQRS.Behaviors' } + @{ Pattern = '\.cqrs\b'; Replacement = '.CQRS' } + + # 其他嵌套命名空间 + @{ Pattern = '\.coroutine\.instructions\b'; Replacement = '.Coroutine.Instructions' } + @{ Pattern = '\.coroutine\.extensions\b'; Replacement = '.Coroutine.Extensions' } + @{ Pattern = '\.coroutine\b'; Replacement = '.Coroutine' } + + @{ Pattern = '\.events\.filters\b'; Replacement = '.Events.Filters' } + @{ Pattern = '\.events\b'; Replacement = '.Events' } + + @{ Pattern = '\.logging\.appenders\b'; Replacement = '.Logging.Appenders' } + @{ Pattern = '\.logging\.filters\b'; Replacement = '.Logging.Filters' } + @{ Pattern = '\.logging\.formatters\b'; Replacement = '.Logging.Formatters' } + @{ Pattern = '\.logging\b'; Replacement = '.Logging' } + + @{ Pattern = '\.functional\.async\b'; Replacement = '.Functional.Async' } + @{ Pattern = '\.functional\.control\b'; Replacement = '.Functional.Control' } + @{ Pattern = '\.functional\.functions\b'; Replacement = '.Functional.Functions' } + @{ Pattern = '\.functional\.pipe\b'; Replacement = '.Functional.Pipe' } + @{ Pattern = '\.functional\.result\b'; Replacement = '.Functional.Result' } + @{ Pattern = '\.functional\b'; Replacement = '.Functional' } + + @{ Pattern = '\.services\.modules\b'; Replacement = '.Services.Modules' } + @{ Pattern = '\.services\b'; Replacement = '.Services' } + + # 单层命名空间 + @{ Pattern = '\.architecture\b'; Replacement = '.Architecture' } + @{ Pattern = '\.bases\b'; Replacement = '.Bases' } + @{ Pattern = '\.command\b'; Replacement = '.Command' } + @{ Pattern = '\.configuration\b'; Replacement = '.Configuration' } + @{ Pattern = '\.constants\b'; Replacement = '.Constants' } + @{ Pattern = '\.data\b'; Replacement = '.Data' } + @{ Pattern = '\.enums\b'; Replacement = '.Enums' } + @{ Pattern = '\.environment\b'; Replacement = '.Environment' } + @{ Pattern = '\.extensions\b'; Replacement = '.Extensions' } + @{ Pattern = '\.internals\b'; Replacement = '.Internals' } + @{ Pattern = '\.ioc\b'; Replacement = '.IoC' } + @{ Pattern = '\.lifecycle\b'; Replacement = '.Lifecycle' } + @{ Pattern = '\.model\b'; Replacement = '.Model' } + @{ Pattern = '\.pause\b'; Replacement = '.Pause' } + @{ Pattern = '\.pool\b'; Replacement = '.Pool' } + @{ Pattern = '\.properties\b'; Replacement = '.Properties' } + @{ Pattern = '\.property\b'; Replacement = '.Property' } + @{ Pattern = '\.query\b'; Replacement = '.Query' } + @{ Pattern = '\.registries\b'; Replacement = '.Registries' } + @{ Pattern = '\.resource\b'; Replacement = '.Resource' } + @{ Pattern = '\.rule\b'; Replacement = '.Rule' } + @{ Pattern = '\.serializer\b'; Replacement = '.Serializer' } + @{ Pattern = '\.state\b'; Replacement = '.State' } + @{ Pattern = '\.storage\b'; Replacement = '.Storage' } + @{ Pattern = '\.system\b'; Replacement = '.System' } + @{ Pattern = '\.time\b'; Replacement = '.Time' } + @{ Pattern = '\.utility\b'; Replacement = '.Utility' } + @{ Pattern = '\.versioning\b'; Replacement = '.Versioning' } + ) + + foreach ($file in $csFiles) { + $content = Get-Content $file.FullName -Raw + $originalContent = $content + $fileReplacements = 0 + + foreach ($rule in $namespaceRules) { + $matches = [regex]::Matches($content, $rule.Pattern, [System.Text.RegularExpressions.RegexOptions]::IgnoreCase) + if ($matches.Count -gt 0) { + $content = [regex]::Replace($content, $rule.Pattern, $rule.Replacement, [System.Text.RegularExpressions.RegexOptions]::IgnoreCase) + $fileReplacements += $matches.Count + } + } + + if ($content -ne $originalContent) { + if ($DryRun) { + Write-Info "[DRY RUN] 更新文件: $($file.FullName) ($fileReplacements 处替换)" + } else { + Set-Content -Path $file.FullName -Value $content -NoNewline + $updatedFiles++ + $totalReplacements += $fileReplacements + Write-Info "更新: $($file.Name) ($fileReplacements 处替换)" + } + } + } + + if (-not $DryRun) { + Write-Info "提交命名空间更新" + git add -A + git commit -m "refactor: 更新所有命名空间为 PascalCase" + } + + Write-Success "阶段 2 完成: 更新了 $updatedFiles 个文件,共 $totalReplacements 处替换" +} + +# 阶段 3: 文档更新 +function Invoke-DocumentationUpdate { + Write-Info "=== 阶段 3: 文档更新 ===" + + $mdFiles = Get-ChildItem -Path $rootDir -Filter "*.md" -Recurse | + Where-Object { $_.FullName -notmatch "\\node_modules\\|\\bin\\|\\obj\\" } + + Write-Info "找到 $($mdFiles.Count) 个 Markdown 文件" + + $updatedFiles = 0 + $totalReplacements = 0 + + # 使用与阶段 2 相同的替换规则 + $namespaceRules = @( + @{ Pattern = '\.cqrs\.notification\b'; Replacement = '.CQRS.Notification' } + @{ Pattern = '\.cqrs\.command\b'; Replacement = '.CQRS.Command' } + @{ Pattern = '\.cqrs\.request\b'; Replacement = '.CQRS.Request' } + @{ Pattern = '\.cqrs\.query\b'; Replacement = '.CQRS.Query' } + @{ Pattern = '\.cqrs\.behaviors\b'; Replacement = '.CQRS.Behaviors' } + @{ Pattern = '\.cqrs\b'; Replacement = '.CQRS' } + @{ Pattern = '\.coroutine\.instructions\b'; Replacement = '.Coroutine.Instructions' } + @{ Pattern = '\.coroutine\.extensions\b'; Replacement = '.Coroutine.Extensions' } + @{ Pattern = '\.coroutine\b'; Replacement = '.Coroutine' } + @{ Pattern = '\.events\.filters\b'; Replacement = '.Events.Filters' } + @{ Pattern = '\.events\b'; Replacement = '.Events' } + @{ Pattern = '\.logging\.appenders\b'; Replacement = '.Logging.Appenders' } + @{ Pattern = '\.logging\.filters\b'; Replacement = '.Logging.Filters' } + @{ Pattern = '\.logging\.formatters\b'; Replacement = '.Logging.Formatters' } + @{ Pattern = '\.logging\b'; Replacement = '.Logging' } + @{ Pattern = '\.functional\.async\b'; Replacement = '.Functional.Async' } + @{ Pattern = '\.functional\.control\b'; Replacement = '.Functional.Control' } + @{ Pattern = '\.functional\.functions\b'; Replacement = '.Functional.Functions' } + @{ Pattern = '\.functional\.pipe\b'; Replacement = '.Functional.Pipe' } + @{ Pattern = '\.functional\.result\b'; Replacement = '.Functional.Result' } + @{ Pattern = '\.functional\b'; Replacement = '.Functional' } + @{ Pattern = '\.services\.modules\b'; Replacement = '.Services.Modules' } + @{ Pattern = '\.services\b'; Replacement = '.Services' } + @{ Pattern = '\.architecture\b'; Replacement = '.Architecture' } + @{ Pattern = '\.bases\b'; Replacement = '.Bases' } + @{ Pattern = '\.command\b'; Replacement = '.Command' } + @{ Pattern = '\.configuration\b'; Replacement = '.Configuration' } + @{ Pattern = '\.constants\b'; Replacement = '.Constants' } + @{ Pattern = '\.data\b'; Replacement = '.Data' } + @{ Pattern = '\.enums\b'; Replacement = '.Enums' } + @{ Pattern = '\.environment\b'; Replacement = '.Environment' } + @{ Pattern = '\.extensions\b'; Replacement = '.Extensions' } + @{ Pattern = '\.internals\b'; Replacement = '.Internals' } + @{ Pattern = '\.ioc\b'; Replacement = '.IoC' } + @{ Pattern = '\.lifecycle\b'; Replacement = '.Lifecycle' } + @{ Pattern = '\.model\b'; Replacement = '.Model' } + @{ Pattern = '\.pause\b'; Replacement = '.Pause' } + @{ Pattern = '\.pool\b'; Replacement = '.Pool' } + @{ Pattern = '\.properties\b'; Replacement = '.Properties' } + @{ Pattern = '\.property\b'; Replacement = '.Property' } + @{ Pattern = '\.query\b'; Replacement = '.Query' } + @{ Pattern = '\.registries\b'; Replacement = '.Registries' } + @{ Pattern = '\.resource\b'; Replacement = '.Resource' } + @{ Pattern = '\.rule\b'; Replacement = '.Rule' } + @{ Pattern = '\.serializer\b'; Replacement = '.Serializer' } + @{ Pattern = '\.state\b'; Replacement = '.State' } + @{ Pattern = '\.storage\b'; Replacement = '.Storage' } + @{ Pattern = '\.system\b'; Replacement = '.System' } + @{ Pattern = '\.time\b'; Replacement = '.Time' } + @{ Pattern = '\.utility\b'; Replacement = '.Utility' } + @{ Pattern = '\.versioning\b'; Replacement = '.Versioning' } + ) + + foreach ($file in $mdFiles) { + $content = Get-Content $file.FullName -Raw + $originalContent = $content + $fileReplacements = 0 + + foreach ($rule in $namespaceRules) { + $matches = [regex]::Matches($content, $rule.Pattern, [System.Text.RegularExpressions.RegexOptions]::IgnoreCase) + if ($matches.Count -gt 0) { + $content = [regex]::Replace($content, $rule.Pattern, $rule.Replacement, [System.Text.RegularExpressions.RegexOptions]::IgnoreCase) + $fileReplacements += $matches.Count + } + } + + if ($content -ne $originalContent) { + if ($DryRun) { + Write-Info "[DRY RUN] 更新文档: $($file.FullName) ($fileReplacements 处替换)" + } else { + Set-Content -Path $file.FullName -Value $content -NoNewline + $updatedFiles++ + $totalReplacements += $fileReplacements + Write-Info "更新: $($file.Name) ($fileReplacements 处替换)" + } + } + } + + if (-not $DryRun) { + Write-Info "提交文档更新" + git add -A + git commit -m "docs: 更新文档中的命名空间为 PascalCase" + } + + Write-Success "阶段 3 完成: 更新了 $updatedFiles 个文档,共 $totalReplacements 处替换" +} + +# 阶段 4: 验证 +function Invoke-Verification { + Write-Info "=== 阶段 4: 验证 ===" + + # 1. 编译验证 + Write-Info "1. 编译验证..." + if ($DryRun) { + Write-Info "[DRY RUN] dotnet build" + } else { + Push-Location $rootDir + try { + dotnet build --no-restore + if ($LASTEXITCODE -eq 0) { + Write-Success "编译成功" + } else { + Write-Error "编译失败" + throw "编译失败" + } + } finally { + Pop-Location + } + } + + # 2. 测试验证 + if (-not $SkipTests) { + Write-Info "2. 测试验证..." + if ($DryRun) { + Write-Info "[DRY RUN] dotnet test" + } else { + Push-Location $rootDir + try { + dotnet test --no-build + if ($LASTEXITCODE -eq 0) { + Write-Success "所有测试通过" + } else { + Write-Error "测试失败" + throw "测试失败" + } + } finally { + Pop-Location + } + } + } else { + Write-Warning "跳过测试验证" + } + + # 3. 检查残留的小写命名空间 + Write-Info "3. 检查残留的小写命名空间..." + $csFiles = Get-ChildItem -Path $rootDir -Filter "*.cs" -Recurse | + Where-Object { $_.FullName -notmatch "\\bin\\|\\obj\\|\\Generated\\" } + + $lowercasePatterns = @( + '\.architecture\b', '\.command\b', '\.configuration\b', '\.coroutine\b', + '\.cqrs\b', '\.events\b', '\.extensions\b', '\.functional\b', + '\.ioc\b', '\.logging\b', '\.model\b', '\.query\b', + '\.resource\b', '\.state\b', '\.system\b', '\.utility\b' + ) + + $foundIssues = @() + foreach ($file in $csFiles) { + $content = Get-Content $file.FullName -Raw + foreach ($pattern in $lowercasePatterns) { + if ($content -match $pattern) { + $foundIssues += "$($file.FullName): 找到小写命名空间 $pattern" + } + } + } + + if ($foundIssues.Count -gt 0) { + Write-Warning "发现 $($foundIssues.Count) 个残留的小写命名空间:" + $foundIssues | ForEach-Object { Write-Warning $_ } + } else { + Write-Success "未发现残留的小写命名空间" + } + + Write-Success "阶段 4 完成: 验证通过" +} + +# 主执行逻辑 +try { + Write-Info "GFramework 命名空间重构脚本" + Write-Info "工作目录: $rootDir" + Write-Info "配置文件: $mappingFile" + + if ($DryRun) { + Write-Warning "*** 干运行模式 - 不会执行实际操作 ***" + } + + if (-not (Test-Path $mappingFile)) { + Write-Error "配置文件不存在: $mappingFile" + exit 1 + } + + switch ($Phase) { + "1" { Invoke-FolderRename } + "2" { Invoke-NamespaceUpdate } + "3" { Invoke-DocumentationUpdate } + "4" { Invoke-Verification } + "All" { + Invoke-FolderRename + Invoke-NamespaceUpdate + Invoke-DocumentationUpdate + Invoke-Verification + } + } + + Write-Success "=== 重构完成 ===" + +} catch { + Write-Error "重构失败: $_" + Write-Error $_.ScriptStackTrace + exit 1 +} diff --git a/refactor-scripts/refactor-namespaces.sh b/refactor-scripts/refactor-namespaces.sh new file mode 100644 index 0000000..522e7ac --- /dev/null +++ b/refactor-scripts/refactor-namespaces.sh @@ -0,0 +1,499 @@ +#!/bin/bash +# +# GFramework 命名空间重构脚本 - 将所有文件夹和命名空间从小写改为 PascalCase +# +# 用法: +# ./refactor-namespaces.sh [phase] [--dry-run] [--skip-tests] +# +# 参数: +# phase: 1=文件夹重命名, 2=命名空间更新, 3=文档更新, 4=验证, all=全部(默认) +# --dry-run: 干运行模式,只显示将要执行的操作 +# --skip-tests: 跳过测试验证 + +set -e + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +ROOT_DIR="$(dirname "$SCRIPT_DIR")" +MAPPING_FILE="$SCRIPT_DIR/folder-mappings.json" + +PHASE="${1:-all}" +DRY_RUN=false +SKIP_TESTS=false + +# 解析参数 +for arg in "$@"; do + case $arg in + --dry-run) + DRY_RUN=true + ;; + --skip-tests) + SKIP_TESTS=true + ;; + esac +done + +# 颜色输出 +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +CYAN='\033[0;36m' +NC='\033[0m' # No Color + +log_info() { + echo -e "${CYAN}ℹ $1${NC}" +} + +log_success() { + echo -e "${GREEN}✓ $1${NC}" +} + +log_warning() { + echo -e "${YELLOW}⚠ $1${NC}" +} + +log_error() { + echo -e "${RED}✗ $1${NC}" +} + +# 阶段 1: 文件夹重命名 +phase1_folder_rename() { + log_info "=== 阶段 1: 文件夹重命名 ===" + + # 读取配置并处理每个项目 + local projects=$(jq -r '.projects[] | @base64' "$MAPPING_FILE") + local total_folders=0 + + for project_base64 in $projects; do + local project=$(echo "$project_base64" | base64 --decode) + local project_name=$(echo "$project" | jq -r '.name') + local project_path=$(echo "$project" | jq -r '.path') + + log_info "处理项目: $project_name" + + local full_project_path="$ROOT_DIR/$project_path" + + if [ ! -d "$full_project_path" ]; then + log_warning "项目路径不存在: $full_project_path" + continue + fi + + # 获取文件夹列表并按深度排序(深度优先) + local folders=$(echo "$project" | jq -r '.folders[] | @base64') + + # 先收集所有文件夹并按深度排序 + declare -a folder_array + for folder_base64 in $folders; do + local folder=$(echo "$folder_base64" | base64 --decode) + local from=$(echo "$folder" | jq -r '.from') + local depth=$(echo "$from" | tr -cd '/' | wc -c) + folder_array+=("$depth|$folder_base64") + done + + # 按深度降序排序 + IFS=$'\n' sorted_folders=($(sort -rn <<<"${folder_array[*]}")) + unset IFS + + for item in "${sorted_folders[@]}"; do + local folder_base64="${item#*|}" + local folder=$(echo "$folder_base64" | base64 --decode) + local from=$(echo "$folder" | jq -r '.from') + local to=$(echo "$folder" | jq -r '.to') + + local from_path="$full_project_path/$from" + local to_path="$full_project_path/$to" + + if [ ! -d "$from_path" ]; then + log_warning "源文件夹不存在: $from_path" + continue + fi + + if [ "$from_path" = "$to_path" ]; then + log_info "跳过(路径相同): $from" + continue + fi + + # Windows/WSL 文件系统不区分大小写,需要两步重命名 + local temp_path="${from_path}_temp" + + if [ "$DRY_RUN" = true ]; then + log_info "[DRY RUN] git mv $from_path $temp_path" + log_info "[DRY RUN] git mv $temp_path $to_path" + else + log_info "重命名: $from -> $to" + + # 第一步:重命名为临时名称 + git mv "$from_path" "$temp_path" || { + log_error "git mv 失败: $from_path -> $temp_path" + exit 1 + } + + # 第二步:重命名为目标名称 + git mv "$temp_path" "$to_path" || { + log_error "git mv 失败: $temp_path -> $to_path" + exit 1 + } + + ((total_folders++)) + log_success "完成: $from -> $to" + fi + done + + if [ "$DRY_RUN" = false ]; then + log_info "提交项目 $project_name 的文件夹重命名" + git add -A + git commit -m "refactor($project_name): 重命名文件夹为 PascalCase" + fi + done + + log_success "阶段 1 完成: 共重命名 $total_folders 个文件夹" +} + +# 阶段 2: 命名空间更新 +phase2_namespace_update() { + log_info "=== 阶段 2: 命名空间更新 ===" + + # 查找所有 C# 文件 + local cs_files=$(find "$ROOT_DIR" -name "*.cs" -type f | grep -v "/bin/" | grep -v "/obj/" | grep -v "/Generated/") + local file_count=$(echo "$cs_files" | wc -l) + + log_info "找到 $file_count 个 C# 文件" + + local updated_files=0 + local total_replacements=0 + + # 定义命名空间替换规则(按优先级排序,长的先匹配) + declare -a patterns=( + "\.cqrs\.notification\b|.CQRS.Notification" + "\.cqrs\.command\b|.CQRS.Command" + "\.cqrs\.request\b|.CQRS.Request" + "\.cqrs\.query\b|.CQRS.Query" + "\.cqrs\.behaviors\b|.CQRS.Behaviors" + "\.cqrs\b|.CQRS" + "\.coroutine\.instructions\b|.Coroutine.Instructions" + "\.coroutine\.extensions\b|.Coroutine.Extensions" + "\.coroutine\b|.Coroutine" + "\.events\.filters\b|.Events.Filters" + "\.events\b|.Events" + "\.logging\.appenders\b|.Logging.Appenders" + "\.logging\.filters\b|.Logging.Filters" + "\.logging\.formatters\b|.Logging.Formatters" + "\.logging\b|.Logging" + "\.functional\.async\b|.Functional.Async" + "\.functional\.control\b|.Functional.Control" + "\.functional\.functions\b|.Functional.Functions" + "\.functional\.pipe\b|.Functional.Pipe" + "\.functional\.result\b|.Functional.Result" + "\.functional\b|.Functional" + "\.services\.modules\b|.Services.Modules" + "\.services\b|.Services" + "\.architecture\b|.Architecture" + "\.bases\b|.Bases" + "\.command\b|.Command" + "\.configuration\b|.Configuration" + "\.constants\b|.Constants" + "\.data\b|.Data" + "\.enums\b|.Enums" + "\.environment\b|.Environment" + "\.extensions\b|.Extensions" + "\.internals\b|.Internals" + "\.ioc\b|.IoC" + "\.lifecycle\b|.Lifecycle" + "\.model\b|.Model" + "\.pause\b|.Pause" + "\.pool\b|.Pool" + "\.properties\b|.Properties" + "\.property\b|.Property" + "\.query\b|.Query" + "\.registries\b|.Registries" + "\.resource\b|.Resource" + "\.rule\b|.Rule" + "\.serializer\b|.Serializer" + "\.state\b|.State" + "\.storage\b|.Storage" + "\.system\b|.System" + "\.time\b|.Time" + "\.utility\b|.Utility" + "\.versioning\b|.Versioning" + "\.asset\b|.Asset" + "\.scene\b|.Scene" + "\.setting\b|.Setting" + "\.ui\b|.UI" + "\.components\b|.Components" + "\.systems\b|.Systems" + "\.ecs\b|.ECS" + "\.integration\b|.Integration" + "\.mediator\b|.Mediator" + "\.tests\b|.Tests" + "\.analyzers\b|.Analyzers" + "\.diagnostics\b|.Diagnostics" + "\.generator\b|.Generator" + "\.info\b|.Info" + ) + + while IFS= read -r file; do + [ -z "$file" ] && continue + + local file_changed=false + local file_replacements=0 + local temp_file="${file}.tmp" + + cp "$file" "$temp_file" + + for pattern_pair in "${patterns[@]}"; do + local pattern="${pattern_pair%%|*}" + local replacement="${pattern_pair##*|}" + + # 使用 sed 进行替换(不区分大小写) + if grep -qi "$pattern" "$temp_file"; then + sed -i "s/$pattern/$replacement/gI" "$temp_file" + file_changed=true + ((file_replacements++)) + fi + done + + if [ "$file_changed" = true ]; then + if [ "$DRY_RUN" = true ]; then + log_info "[DRY RUN] 更新文件: $file ($file_replacements 处替换)" + rm "$temp_file" + else + mv "$temp_file" "$file" + ((updated_files++)) + ((total_replacements+=file_replacements)) + log_info "更新: $(basename "$file") ($file_replacements 处替换)" + fi + else + rm "$temp_file" + fi + done <<< "$cs_files" + + if [ "$DRY_RUN" = false ]; then + log_info "提交命名空间更新" + git add -A + git commit -m "refactor: 更新所有命名空间为 PascalCase" + fi + + log_success "阶段 2 完成: 更新了 $updated_files 个文件,共 $total_replacements 处替换" +} + +# 阶段 3: 文档更新 +phase3_documentation_update() { + log_info "=== 阶段 3: 文档更新 ===" + + # 查找所有 Markdown 文件 + local md_files=$(find "$ROOT_DIR" -name "*.md" -type f | grep -v "/node_modules/" | grep -v "/bin/" | grep -v "/obj/") + local file_count=$(echo "$md_files" | wc -l) + + log_info "找到 $file_count 个 Markdown 文件" + + local updated_files=0 + local total_replacements=0 + + # 使用与阶段 2 相同的替换规则 + declare -a patterns=( + "\.cqrs\.notification\b|.CQRS.Notification" + "\.cqrs\.command\b|.CQRS.Command" + "\.cqrs\.request\b|.CQRS.Request" + "\.cqrs\.query\b|.CQRS.Query" + "\.cqrs\.behaviors\b|.CQRS.Behaviors" + "\.cqrs\b|.CQRS" + "\.coroutine\.instructions\b|.Coroutine.Instructions" + "\.coroutine\.extensions\b|.Coroutine.Extensions" + "\.coroutine\b|.Coroutine" + "\.events\.filters\b|.Events.Filters" + "\.events\b|.Events" + "\.logging\.appenders\b|.Logging.Appenders" + "\.logging\.filters\b|.Logging.Filters" + "\.logging\.formatters\b|.Logging.Formatters" + "\.logging\b|.Logging" + "\.functional\.async\b|.Functional.Async" + "\.functional\.control\b|.Functional.Control" + "\.functional\.functions\b|.Functional.Functions" + "\.functional\.pipe\b|.Functional.Pipe" + "\.functional\.result\b|.Functional.Result" + "\.functional\b|.Functional" + "\.services\.modules\b|.Services.Modules" + "\.services\b|.Services" + "\.architecture\b|.Architecture" + "\.command\b|.Command" + "\.configuration\b|.Configuration" + "\.environment\b|.Environment" + "\.extensions\b|.Extensions" + "\.ioc\b|.IoC" + "\.logging\b|.Logging" + "\.model\b|.Model" + "\.query\b|.Query" + "\.resource\b|.Resource" + "\.state\b|.State" + "\.system\b|.System" + "\.utility\b|.Utility" + ) + + while IFS= read -r file; do + [ -z "$file" ] && continue + + local file_changed=false + local file_replacements=0 + local temp_file="${file}.tmp" + + cp "$file" "$temp_file" + + for pattern_pair in "${patterns[@]}"; do + local pattern="${pattern_pair%%|*}" + local replacement="${pattern_pair##*|}" + + if grep -qi "$pattern" "$temp_file"; then + sed -i "s/$pattern/$replacement/gI" "$temp_file" + file_changed=true + ((file_replacements++)) + fi + done + + if [ "$file_changed" = true ]; then + if [ "$DRY_RUN" = true ]; then + log_info "[DRY RUN] 更新文档: $file ($file_replacements 处替换)" + rm "$temp_file" + else + mv "$temp_file" "$file" + ((updated_files++)) + ((total_replacements+=file_replacements)) + log_info "更新: $(basename "$file") ($file_replacements 处替换)" + fi + else + rm "$temp_file" + fi + done <<< "$md_files" + + if [ "$DRY_RUN" = false ]; then + log_info "提交文档更新" + git add -A + git commit -m "docs: 更新文档中的命名空间为 PascalCase" + fi + + log_success "阶段 3 完成: 更新了 $updated_files 个文档,共 $total_replacements 处替换" +} + +# 阶段 4: 验证 +phase4_verification() { + log_info "=== 阶段 4: 验证 ===" + + # 1. 编译验证 + log_info "1. 编译验证..." + if [ "$DRY_RUN" = true ]; then + log_info "[DRY RUN] dotnet build" + else + cd "$ROOT_DIR" + if dotnet build --no-restore; then + log_success "编译成功" + else + log_error "编译失败" + exit 1 + fi + fi + + # 2. 测试验证 + if [ "$SKIP_TESTS" = false ]; then + log_info "2. 测试验证..." + if [ "$DRY_RUN" = true ]; then + log_info "[DRY RUN] dotnet test" + else + cd "$ROOT_DIR" + if dotnet test --no-build; then + log_success "所有测试通过" + else + log_error "测试失败" + exit 1 + fi + fi + else + log_warning "跳过测试验证" + fi + + # 3. 检查残留的小写命名空间 + log_info "3. 检查残留的小写命名空间..." + local cs_files=$(find "$ROOT_DIR" -name "*.cs" -type f | grep -v "/bin/" | grep -v "/obj/" | grep -v "/Generated/") + + local lowercase_patterns=( + "\.architecture\b" + "\.command\b" + "\.configuration\b" + "\.coroutine\b" + "\.cqrs\b" + "\.events\b" + "\.extensions\b" + "\.functional\b" + "\.ioc\b" + "\.logging\b" + "\.model\b" + "\.query\b" + "\.resource\b" + "\.state\b" + "\.system\b" + "\.utility\b" + ) + + local found_issues=0 + while IFS= read -r file; do + [ -z "$file" ] && continue + + for pattern in "${lowercase_patterns[@]}"; do + if grep -qi "$pattern" "$file"; then + log_warning "$file: 找到小写命名空间 $pattern" + ((found_issues++)) + fi + done + done <<< "$cs_files" + + if [ $found_issues -gt 0 ]; then + log_warning "发现 $found_issues 个残留的小写命名空间" + else + log_success "未发现残留的小写命名空间" + fi + + log_success "阶段 4 完成: 验证通过" +} + +# 主执行逻辑 +main() { + log_info "GFramework 命名空间重构脚本" + log_info "工作目录: $ROOT_DIR" + log_info "配置文件: $MAPPING_FILE" + + if [ "$DRY_RUN" = true ]; then + log_warning "*** 干运行模式 - 不会执行实际操作 ***" + fi + + if [ ! -f "$MAPPING_FILE" ]; then + log_error "配置文件不存在: $MAPPING_FILE" + exit 1 + fi + + case "$PHASE" in + 1) + phase1_folder_rename + ;; + 2) + phase2_namespace_update + ;; + 3) + phase3_documentation_update + ;; + 4) + phase4_verification + ;; + all) + phase1_folder_rename + phase2_namespace_update + phase3_documentation_update + phase4_verification + ;; + *) + log_error "未知阶段: $PHASE" + log_info "用法: $0 [1|2|3|4|all] [--dry-run] [--skip-tests]" + exit 1 + ;; + esac + + log_success "=== 重构完成 ===" +} + +main diff --git a/refactor-scripts/rename-all-remaining.sh b/refactor-scripts/rename-all-remaining.sh new file mode 100644 index 0000000..0749cd1 --- /dev/null +++ b/refactor-scripts/rename-all-remaining.sh @@ -0,0 +1,181 @@ +#!/bin/bash +# 重命名所有剩余项目的文件夹 + +set -e + +ROOT_DIR="/mnt/f/gewuyou/System/Documents/WorkSpace/GameDev/GFramework" + +GREEN='\033[0;32m' +CYAN='\033[0;36m' +NC='\033[0m' + +log_info() { echo -e "${CYAN}ℹ $1${NC}"; } +log_success() { echo -e "${GREEN}✓ $1${NC}"; } + +rename_folder() { + local from="$1" + local to="$2" + + if [ ! -d "$from" ]; then + log_info "跳过(不存在): $from" + return + fi + + if [ "$from" = "$to" ]; then + log_info "跳过(相同): $from" + return + fi + + log_info "重命名: $from -> $to" + git mv "$from" "${from}_temp" + git mv "${from}_temp" "$to" + log_success "完成: $from -> $to" +} + +cd "$ROOT_DIR" + +# GFramework.Core.Tests +log_info "=== 处理 GFramework.Core.Tests ===" +rename_folder "GFramework.Core.Tests/functional/pipe" "GFramework.Core.Tests/functional/Pipe" +rename_folder "GFramework.Core.Tests/functional/functions" "GFramework.Core.Tests/functional/Functions" +rename_folder "GFramework.Core.Tests/functional/control" "GFramework.Core.Tests/functional/Control" +rename_folder "GFramework.Core.Tests/functional" "GFramework.Core.Tests/Functional" +rename_folder "GFramework.Core.Tests/time" "GFramework.Core.Tests/Time" +rename_folder "GFramework.Core.Tests/tests" "GFramework.Core.Tests/Tests" +rename_folder "GFramework.Core.Tests/system" "GFramework.Core.Tests/System" +rename_folder "GFramework.Core.Tests/state" "GFramework.Core.Tests/State" +rename_folder "GFramework.Core.Tests/rule" "GFramework.Core.Tests/Rule" +rename_folder "GFramework.Core.Tests/resource" "GFramework.Core.Tests/Resource" +rename_folder "GFramework.Core.Tests/query" "GFramework.Core.Tests/Query" +rename_folder "GFramework.Core.Tests/property" "GFramework.Core.Tests/Property" +rename_folder "GFramework.Core.Tests/pool" "GFramework.Core.Tests/Pool" +rename_folder "GFramework.Core.Tests/pause" "GFramework.Core.Tests/Pause" +rename_folder "GFramework.Core.Tests/model" "GFramework.Core.Tests/Model" +rename_folder "GFramework.Core.Tests/mediator" "GFramework.Core.Tests/Mediator" +rename_folder "GFramework.Core.Tests/logging" "GFramework.Core.Tests/Logging" +rename_folder "GFramework.Core.Tests/ioc" "GFramework.Core.Tests/IoC" +rename_folder "GFramework.Core.Tests/extensions" "GFramework.Core.Tests/Extensions" +rename_folder "GFramework.Core.Tests/events" "GFramework.Core.Tests/Events" +rename_folder "GFramework.Core.Tests/environment" "GFramework.Core.Tests/Environment" +rename_folder "GFramework.Core.Tests/coroutine" "GFramework.Core.Tests/Coroutine" +rename_folder "GFramework.Core.Tests/configuration" "GFramework.Core.Tests/Configuration" +rename_folder "GFramework.Core.Tests/command" "GFramework.Core.Tests/Command" +rename_folder "GFramework.Core.Tests/architecture" "GFramework.Core.Tests/Architecture" +git add -A +git commit -m "refactor(Core.Tests): 重命名文件夹为 PascalCase" +log_success "=== GFramework.Core.Tests 完成 ===" + +# GFramework.Game.Abstractions +log_info "=== 处理 GFramework.Game.Abstractions ===" +rename_folder "GFramework.Game.Abstractions/data/events" "GFramework.Game.Abstractions/data/Events" +rename_folder "GFramework.Game.Abstractions/data" "GFramework.Game.Abstractions/Data" +rename_folder "GFramework.Game.Abstractions/setting/data" "GFramework.Game.Abstractions/setting/Data" +rename_folder "GFramework.Game.Abstractions/setting" "GFramework.Game.Abstractions/Setting" +rename_folder "GFramework.Game.Abstractions/ui" "GFramework.Game.Abstractions/UI" +rename_folder "GFramework.Game.Abstractions/storage" "GFramework.Game.Abstractions/Storage" +rename_folder "GFramework.Game.Abstractions/scene" "GFramework.Game.Abstractions/Scene" +rename_folder "GFramework.Game.Abstractions/internals" "GFramework.Game.Abstractions/Internals" +rename_folder "GFramework.Game.Abstractions/enums" "GFramework.Game.Abstractions/Enums" +rename_folder "GFramework.Game.Abstractions/asset" "GFramework.Game.Abstractions/Asset" +git add -A +git commit -m "refactor(Game.Abstractions): 重命名文件夹为 PascalCase" +log_success "=== GFramework.Game.Abstractions 完成 ===" + +# GFramework.Game +log_info "=== 处理 GFramework.Game ===" +rename_folder "GFramework.Game/scene/handler" "GFramework.Game/scene/Handler" +rename_folder "GFramework.Game/scene" "GFramework.Game/Scene" +rename_folder "GFramework.Game/setting/events" "GFramework.Game/setting/Events" +rename_folder "GFramework.Game/setting" "GFramework.Game/Setting" +rename_folder "GFramework.Game/ui/handler" "GFramework.Game/ui/Handler" +rename_folder "GFramework.Game/ui" "GFramework.Game/UI" +rename_folder "GFramework.Game/storage" "GFramework.Game/Storage" +rename_folder "GFramework.Game/state" "GFramework.Game/State" +rename_folder "GFramework.Game/serializer" "GFramework.Game/Serializer" +rename_folder "GFramework.Game/extensions" "GFramework.Game/Extensions" +rename_folder "GFramework.Game/data" "GFramework.Game/Data" +git add -A +git commit -m "refactor(Game): 重命名文件夹为 PascalCase" +log_success "=== GFramework.Game 完成 ===" + +# GFramework.Godot +log_info "=== 处理 GFramework.Godot ===" +rename_folder "GFramework.Godot/extensions/signal" "GFramework.Godot/extensions/Signal" +rename_folder "GFramework.Godot/extensions" "GFramework.Godot/Extensions" +rename_folder "GFramework.Godot/setting/data" "GFramework.Godot/setting/Data" +rename_folder "GFramework.Godot/setting" "GFramework.Godot/Setting" +rename_folder "GFramework.Godot/ui" "GFramework.Godot/UI" +rename_folder "GFramework.Godot/storage" "GFramework.Godot/Storage" +rename_folder "GFramework.Godot/scene" "GFramework.Godot/Scene" +rename_folder "GFramework.Godot/pool" "GFramework.Godot/Pool" +rename_folder "GFramework.Godot/pause" "GFramework.Godot/Pause" +rename_folder "GFramework.Godot/logging" "GFramework.Godot/Logging" +rename_folder "GFramework.Godot/data" "GFramework.Godot/Data" +rename_folder "GFramework.Godot/coroutine" "GFramework.Godot/Coroutine" +rename_folder "GFramework.Godot/architecture" "GFramework.Godot/Architecture" +git add -A +git commit -m "refactor(Godot): 重命名文件夹为 PascalCase" +log_success "=== GFramework.Godot 完成 ===" + +# GFramework.Ecs.Arch +log_info "=== 处理 GFramework.Ecs.Arch ===" +rename_folder "GFramework.Ecs.Arch/systems" "GFramework.Ecs.Arch/Systems" +rename_folder "GFramework.Ecs.Arch/extensions" "GFramework.Ecs.Arch/Extensions" +rename_folder "GFramework.Ecs.Arch/components" "GFramework.Ecs.Arch/Components" +git add -A +git commit -m "refactor(Ecs.Arch): 重命名文件夹为 PascalCase" +log_success "=== GFramework.Ecs.Arch 完成 ===" + +# GFramework.Ecs.Arch.Tests +log_info "=== 处理 GFramework.Ecs.Arch.Tests ===" +rename_folder "GFramework.Ecs.Arch.Tests/integration" "GFramework.Ecs.Arch.Tests/Integration" +rename_folder "GFramework.Ecs.Arch.Tests/ecs" "GFramework.Ecs.Arch.Tests/ECS" +git add -A +git commit -m "refactor(Ecs.Arch.Tests): 重命名文件夹为 PascalCase" +log_success "=== GFramework.Ecs.Arch.Tests 完成 ===" + +# GFramework.SourceGenerators.Abstractions +log_info "=== 处理 GFramework.SourceGenerators.Abstractions ===" +rename_folder "GFramework.SourceGenerators.Abstractions/rule" "GFramework.SourceGenerators.Abstractions/Rule" +rename_folder "GFramework.SourceGenerators.Abstractions/logging" "GFramework.SourceGenerators.Abstractions/Logging" +rename_folder "GFramework.SourceGenerators.Abstractions/enums" "GFramework.SourceGenerators.Abstractions/Enums" +rename_folder "GFramework.SourceGenerators.Abstractions/bases" "GFramework.SourceGenerators.Abstractions/Bases" +git add -A +git commit -m "refactor(SourceGenerators.Abstractions): 重命名文件夹为 PascalCase" +log_success "=== GFramework.SourceGenerators.Abstractions 完成 ===" + +# GFramework.SourceGenerators.Common +log_info "=== 处理 GFramework.SourceGenerators.Common ===" +rename_folder "GFramework.SourceGenerators.Common/info" "GFramework.SourceGenerators.Common/Info" +rename_folder "GFramework.SourceGenerators.Common/generator" "GFramework.SourceGenerators.Common/Generator" +rename_folder "GFramework.SourceGenerators.Common/extensions" "GFramework.SourceGenerators.Common/Extensions" +rename_folder "GFramework.SourceGenerators.Common/diagnostics" "GFramework.SourceGenerators.Common/Diagnostics" +rename_folder "GFramework.SourceGenerators.Common/constants" "GFramework.SourceGenerators.Common/Constants" +git add -A +git commit -m "refactor(SourceGenerators.Common): 重命名文件夹为 PascalCase" +log_success "=== GFramework.SourceGenerators.Common 完成 ===" + +# GFramework.SourceGenerators +log_info "=== 处理 GFramework.SourceGenerators ===" +rename_folder "GFramework.SourceGenerators/rule" "GFramework.SourceGenerators/Rule" +rename_folder "GFramework.SourceGenerators/logging" "GFramework.SourceGenerators/Logging" +rename_folder "GFramework.SourceGenerators/enums" "GFramework.SourceGenerators/Enums" +rename_folder "GFramework.SourceGenerators/diagnostics" "GFramework.SourceGenerators/Diagnostics" +rename_folder "GFramework.SourceGenerators/bases" "GFramework.SourceGenerators/Bases" +rename_folder "GFramework.SourceGenerators/analyzers" "GFramework.SourceGenerators/Analyzers" +git add -A +git commit -m "refactor(SourceGenerators): 重命名文件夹为 PascalCase" +log_success "=== GFramework.SourceGenerators 完成 ===" + +# GFramework.SourceGenerators.Tests +log_info "=== 处理 GFramework.SourceGenerators.Tests ===" +rename_folder "GFramework.SourceGenerators.Tests/rule" "GFramework.SourceGenerators.Tests/Rule" +rename_folder "GFramework.SourceGenerators.Tests/logging" "GFramework.SourceGenerators.Tests/Logging" +rename_folder "GFramework.SourceGenerators.Tests/enums" "GFramework.SourceGenerators.Tests/Enums" +rename_folder "GFramework.SourceGenerators.Tests/core" "GFramework.SourceGenerators.Tests/Core" +rename_folder "GFramework.SourceGenerators.Tests/bases" "GFramework.SourceGenerators.Tests/Bases" +git add -A +git commit -m "refactor(SourceGenerators.Tests): 重命名文件夹为 PascalCase" +log_success "=== GFramework.SourceGenerators.Tests 完成 ===" + +log_success "=== 所有项目文件夹重命名完成 ===" diff --git a/refactor-scripts/rename-core.sh b/refactor-scripts/rename-core.sh new file mode 100644 index 0000000..4279dc4 --- /dev/null +++ b/refactor-scripts/rename-core.sh @@ -0,0 +1,92 @@ +#!/bin/bash +# 重命名 GFramework.Core 文件夹 + +set -e + +ROOT_DIR="/mnt/f/gewuyou/System/Documents/WorkSpace/GameDev/GFramework" + +GREEN='\033[0;32m' +CYAN='\033[0;36m' +NC='\033[0m' + +log_info() { echo -e "${CYAN}ℹ $1${NC}"; } +log_success() { echo -e "${GREEN}✓ $1${NC}"; } + +rename_folder() { + local from="$1" + local to="$2" + + if [ ! -d "$from" ]; then + log_info "跳过(不存在): $from" + return + fi + + if [ "$from" = "$to" ]; then + log_info "跳过(相同): $from" + return + fi + + log_info "重命名: $from -> $to" + git mv "$from" "${from}_temp" + git mv "${from}_temp" "$to" + log_success "完成: $from -> $to" +} + +cd "$ROOT_DIR" + +log_info "=== 处理 GFramework.Core ===" + +# 嵌套文件夹(深度优先) +rename_folder "GFramework.Core/cqrs/request" "GFramework.Core/cqrs/Request" +rename_folder "GFramework.Core/cqrs/query" "GFramework.Core/cqrs/Query" +rename_folder "GFramework.Core/cqrs/notification" "GFramework.Core/cqrs/Notification" +rename_folder "GFramework.Core/cqrs/command" "GFramework.Core/cqrs/Command" +rename_folder "GFramework.Core/cqrs/behaviors" "GFramework.Core/cqrs/Behaviors" +rename_folder "GFramework.Core/cqrs" "GFramework.Core/CQRS" + +rename_folder "GFramework.Core/coroutine/instructions" "GFramework.Core/coroutine/Instructions" +rename_folder "GFramework.Core/coroutine/extensions" "GFramework.Core/coroutine/Extensions" +rename_folder "GFramework.Core/coroutine" "GFramework.Core/Coroutine" + +rename_folder "GFramework.Core/events/filters" "GFramework.Core/events/Filters" +rename_folder "GFramework.Core/events" "GFramework.Core/Events" + +rename_folder "GFramework.Core/functional/result" "GFramework.Core/functional/Result" +rename_folder "GFramework.Core/functional/pipe" "GFramework.Core/functional/Pipe" +rename_folder "GFramework.Core/functional/functions" "GFramework.Core/functional/Functions" +rename_folder "GFramework.Core/functional/control" "GFramework.Core/functional/Control" +rename_folder "GFramework.Core/functional/async" "GFramework.Core/functional/Async" +rename_folder "GFramework.Core/functional" "GFramework.Core/Functional" + +rename_folder "GFramework.Core/logging/formatters" "GFramework.Core/logging/Formatters" +rename_folder "GFramework.Core/logging/filters" "GFramework.Core/logging/Filters" +rename_folder "GFramework.Core/logging/appenders" "GFramework.Core/logging/Appenders" +rename_folder "GFramework.Core/logging" "GFramework.Core/Logging" + +rename_folder "GFramework.Core/services/modules" "GFramework.Core/services/Modules" +rename_folder "GFramework.Core/services" "GFramework.Core/Services" + +# 单层文件夹 +rename_folder "GFramework.Core/utility" "GFramework.Core/Utility" +rename_folder "GFramework.Core/time" "GFramework.Core/Time" +rename_folder "GFramework.Core/system" "GFramework.Core/System" +rename_folder "GFramework.Core/state" "GFramework.Core/State" +rename_folder "GFramework.Core/rule" "GFramework.Core/Rule" +rename_folder "GFramework.Core/resource" "GFramework.Core/Resource" +rename_folder "GFramework.Core/query" "GFramework.Core/Query" +rename_folder "GFramework.Core/property" "GFramework.Core/Property" +rename_folder "GFramework.Core/pool" "GFramework.Core/Pool" +rename_folder "GFramework.Core/pause" "GFramework.Core/Pause" +rename_folder "GFramework.Core/model" "GFramework.Core/Model" +rename_folder "GFramework.Core/ioc" "GFramework.Core/IoC" +rename_folder "GFramework.Core/extensions" "GFramework.Core/Extensions" +rename_folder "GFramework.Core/environment" "GFramework.Core/Environment" +rename_folder "GFramework.Core/constants" "GFramework.Core/Constants" +rename_folder "GFramework.Core/configuration" "GFramework.Core/Configuration" +rename_folder "GFramework.Core/command" "GFramework.Core/Command" +rename_folder "GFramework.Core/architecture" "GFramework.Core/Architecture" + +git add -A +git commit -m "refactor(Core): 重命名文件夹为 PascalCase" + +log_success "=== GFramework.Core 完成 ===" diff --git a/refactor-scripts/rename-folders-simple.sh b/refactor-scripts/rename-folders-simple.sh new file mode 100644 index 0000000..dbc6a62 --- /dev/null +++ b/refactor-scripts/rename-folders-simple.sh @@ -0,0 +1,88 @@ +#!/bin/bash +# 简化版文件夹重命名脚本 - 一次处理一个项目 + +set -e + +ROOT_DIR="/mnt/f/gewuyou/System/Documents/WorkSpace/GameDev/GFramework" + +# 颜色输出 +GREEN='\033[0;32m' +CYAN='\033[0;36m' +NC='\033[0m' + +log_info() { echo -e "${CYAN}ℹ $1${NC}"; } +log_success() { echo -e "${GREEN}✓ $1${NC}"; } + +# 重命名单个文件夹(两步法) +rename_folder() { + local from="$1" + local to="$2" + + if [ ! -d "$from" ]; then + log_info "跳过(不存在): $from" + return + fi + + if [ "$from" = "$to" ]; then + log_info "跳过(相同): $from" + return + fi + + log_info "重命名: $from -> $to" + + # 两步重命名 + git mv "$from" "${from}_temp" + git mv "${from}_temp" "$to" + + log_success "完成: $from -> $to" +} + +cd "$ROOT_DIR" + +# GFramework.Core.Abstractions +log_info "=== 处理 GFramework.Core.Abstractions ===" + +# 先处理嵌套文件夹(深度优先) +rename_folder "GFramework.Core.Abstractions/cqrs/request" "GFramework.Core.Abstractions/cqrs/Request" +rename_folder "GFramework.Core.Abstractions/cqrs/query" "GFramework.Core.Abstractions/cqrs/Query" +rename_folder "GFramework.Core.Abstractions/cqrs/notification" "GFramework.Core.Abstractions/cqrs/Notification" +rename_folder "GFramework.Core.Abstractions/cqrs/command" "GFramework.Core.Abstractions/cqrs/Command" + +# 然后处理父文件夹 +rename_folder "GFramework.Core.Abstractions/cqrs" "GFramework.Core.Abstractions/CQRS" + +# 其他文件夹 +rename_folder "GFramework.Core.Abstractions/versioning" "GFramework.Core.Abstractions/Versioning" +rename_folder "GFramework.Core.Abstractions/utility" "GFramework.Core.Abstractions/Utility" +rename_folder "GFramework.Core.Abstractions/time" "GFramework.Core.Abstractions/Time" +rename_folder "GFramework.Core.Abstractions/system" "GFramework.Core.Abstractions/System" +rename_folder "GFramework.Core.Abstractions/storage" "GFramework.Core.Abstractions/Storage" +rename_folder "GFramework.Core.Abstractions/state" "GFramework.Core.Abstractions/State" +rename_folder "GFramework.Core.Abstractions/serializer" "GFramework.Core.Abstractions/Serializer" +rename_folder "GFramework.Core.Abstractions/rule" "GFramework.Core.Abstractions/Rule" +rename_folder "GFramework.Core.Abstractions/resource" "GFramework.Core.Abstractions/Resource" +rename_folder "GFramework.Core.Abstractions/registries" "GFramework.Core.Abstractions/Registries" +rename_folder "GFramework.Core.Abstractions/query" "GFramework.Core.Abstractions/Query" +rename_folder "GFramework.Core.Abstractions/property" "GFramework.Core.Abstractions/Property" +rename_folder "GFramework.Core.Abstractions/properties" "GFramework.Core.Abstractions/Properties" +rename_folder "GFramework.Core.Abstractions/pool" "GFramework.Core.Abstractions/Pool" +rename_folder "GFramework.Core.Abstractions/pause" "GFramework.Core.Abstractions/Pause" +rename_folder "GFramework.Core.Abstractions/model" "GFramework.Core.Abstractions/Model" +rename_folder "GFramework.Core.Abstractions/logging" "GFramework.Core.Abstractions/Logging" +rename_folder "GFramework.Core.Abstractions/lifecycle" "GFramework.Core.Abstractions/Lifecycle" +rename_folder "GFramework.Core.Abstractions/ioc" "GFramework.Core.Abstractions/IoC" +rename_folder "GFramework.Core.Abstractions/internals" "GFramework.Core.Abstractions/Internals" +rename_folder "GFramework.Core.Abstractions/events" "GFramework.Core.Abstractions/Events" +rename_folder "GFramework.Core.Abstractions/environment" "GFramework.Core.Abstractions/Environment" +rename_folder "GFramework.Core.Abstractions/enums" "GFramework.Core.Abstractions/Enums" +rename_folder "GFramework.Core.Abstractions/data" "GFramework.Core.Abstractions/Data" +rename_folder "GFramework.Core.Abstractions/coroutine" "GFramework.Core.Abstractions/Coroutine" +rename_folder "GFramework.Core.Abstractions/configuration" "GFramework.Core.Abstractions/Configuration" +rename_folder "GFramework.Core.Abstractions/command" "GFramework.Core.Abstractions/Command" +rename_folder "GFramework.Core.Abstractions/bases" "GFramework.Core.Abstractions/Bases" +rename_folder "GFramework.Core.Abstractions/architecture" "GFramework.Core.Abstractions/Architecture" + +git add -A +git commit -m "refactor(Core.Abstractions): 重命名文件夹为 PascalCase" + +log_success "=== GFramework.Core.Abstractions 完成 ===" diff --git a/refactor-scripts/update-namespaces.py b/refactor-scripts/update-namespaces.py new file mode 100644 index 0000000..b9b7c20 --- /dev/null +++ b/refactor-scripts/update-namespaces.py @@ -0,0 +1,154 @@ +#!/usr/bin/env python3 +""" +更新所有 C# 文件中的命名空间声明和 using 语句 +""" + +import os +import re +from pathlib import Path + +ROOT_DIR = "/mnt/f/gewuyou/System/Documents/WorkSpace/GameDev/GFramework" + +# 命名空间替换规则(按优先级排序,长的先匹配) +NAMESPACE_RULES = [ + # CQRS 子命名空间 + (r'\.cqrs\.notification\b', '.CQRS.Notification'), + (r'\.cqrs\.command\b', '.CQRS.Command'), + (r'\.cqrs\.request\b', '.CQRS.Request'), + (r'\.cqrs\.query\b', '.CQRS.Query'), + (r'\.cqrs\.behaviors\b', '.CQRS.Behaviors'), + (r'\.cqrs\b', '.CQRS'), + + # 嵌套命名空间 + (r'\.coroutine\.instructions\b', '.Coroutine.Instructions'), + (r'\.coroutine\.extensions\b', '.Coroutine.Extensions'), + (r'\.coroutine\b', '.Coroutine'), + + (r'\.events\.filters\b', '.Events.Filters'), + (r'\.events\b', '.Events'), + + (r'\.logging\.appenders\b', '.Logging.Appenders'), + (r'\.logging\.filters\b', '.Logging.Filters'), + (r'\.logging\.formatters\b', '.Logging.Formatters'), + (r'\.logging\b', '.Logging'), + + (r'\.functional\.async\b', '.Functional.Async'), + (r'\.functional\.control\b', '.Functional.Control'), + (r'\.functional\.functions\b', '.Functional.Functions'), + (r'\.functional\.pipe\b', '.Functional.Pipe'), + (r'\.functional\.result\b', '.Functional.Result'), + (r'\.functional\b', '.Functional'), + + (r'\.services\.modules\b', '.Services.Modules'), + (r'\.services\b', '.Services'), + + (r'\.extensions\.signal\b', '.Extensions.Signal'), + (r'\.extensions\b', '.Extensions'), + + (r'\.setting\.data\b', '.Setting.Data'), + (r'\.setting\.events\b', '.Setting.Events'), + (r'\.setting\b', '.Setting'), + + (r'\.scene\.handler\b', '.Scene.Handler'), + (r'\.scene\b', '.Scene'), + + (r'\.ui\.handler\b', '.UI.Handler'), + (r'\.ui\b', '.UI'), + + (r'\.data\.events\b', '.Data.Events'), + (r'\.data\b', '.Data'), + + # 单层命名空间 + (r'\.architecture\b', '.Architecture'), + (r'\.bases\b', '.Bases'), + (r'\.command\b', '.Command'), + (r'\.configuration\b', '.Configuration'), + (r'\.constants\b', '.Constants'), + (r'\.enums\b', '.Enums'), + (r'\.environment\b', '.Environment'), + (r'\.internals\b', '.Internals'), + (r'\.ioc\b', '.IoC'), + (r'\.lifecycle\b', '.Lifecycle'), + (r'\.model\b', '.Model'), + (r'\.pause\b', '.Pause'), + (r'\.pool\b', '.Pool'), + (r'\.properties\b', '.Properties'), + (r'\.property\b', '.Property'), + (r'\.query\b', '.Query'), + (r'\.registries\b', '.Registries'), + (r'\.resource\b', '.Resource'), + (r'\.rule\b', '.Rule'), + (r'\.serializer\b', '.Serializer'), + (r'\.state\b', '.State'), + (r'\.storage\b', '.Storage'), + (r'\.system\b', '.System'), + (r'\.time\b', '.Time'), + (r'\.utility\b', '.Utility'), + (r'\.versioning\b', '.Versioning'), + (r'\.asset\b', '.Asset'), + (r'\.components\b', '.Components'), + (r'\.systems\b', '.Systems'), + (r'\.ecs\b', '.ECS'), + (r'\.integration\b', '.Integration'), + (r'\.mediator\b', '.Mediator'), + (r'\.tests\b', '.Tests'), + (r'\.analyzers\b', '.Analyzers'), + (r'\.diagnostics\b', '.Diagnostics'), + (r'\.generator\b', '.Generator'), + (r'\.info\b', '.Info'), +] + +def update_file(file_path): + """更新单个文件中的命名空间""" + try: + with open(file_path, 'r', encoding='utf-8') as f: + content = f.read() + + original_content = content + replacements = 0 + + for pattern, replacement in NAMESPACE_RULES: + matches = re.findall(pattern, content, re.IGNORECASE) + if matches: + content = re.sub(pattern, replacement, content, flags=re.IGNORECASE) + replacements += len(matches) + + if content != original_content: + with open(file_path, 'w', encoding='utf-8') as f: + f.write(content) + return replacements + + return 0 + except Exception as e: + print(f"错误处理文件 {file_path}: {e}") + return 0 + +def main(): + print("开始更新命名空间...") + + # 查找所有 C# 文件 + cs_files = [] + for root, dirs, files in os.walk(ROOT_DIR): + # 跳过 bin, obj, Generated 目录 + dirs[:] = [d for d in dirs if d not in ['bin', 'obj', 'Generated', '.git', 'node_modules']] + + for file in files: + if file.endswith('.cs'): + cs_files.append(os.path.join(root, file)) + + print(f"找到 {len(cs_files)} 个 C# 文件") + + updated_files = 0 + total_replacements = 0 + + for file_path in cs_files: + replacements = update_file(file_path) + if replacements > 0: + updated_files += 1 + total_replacements += replacements + print(f"更新: {os.path.basename(file_path)} ({replacements} 处替换)") + + print(f"\n完成!更新了 {updated_files} 个文件,共 {total_replacements} 处替换") + +if __name__ == '__main__': + main() diff --git a/update-documentation.ps1 b/update-documentation.ps1 new file mode 100644 index 0000000..990c4e8 --- /dev/null +++ b/update-documentation.ps1 @@ -0,0 +1,135 @@ +#!/usr/bin/env pwsh + +param( + [switch]$DryRun +) + +$ErrorActionPreference = "Stop" + +Write-Host "========================================" -ForegroundColor Cyan +Write-Host "Phase 3: Update Documentation" -ForegroundColor Cyan +Write-Host "========================================`n" -ForegroundColor Cyan + +# Namespace mapping (same as update-namespaces.ps1) +$namespaceMap = [ordered]@{ + # Nested namespaces first + "\.cqrs\.behaviors" = ".CQRS.Behaviors" + "\.cqrs\.command" = ".CQRS.Command" + "\.cqrs\.notification" = ".CQRS.Notification" + "\.cqrs\.query" = ".CQRS.Query" + "\.cqrs\.request" = ".CQRS.Request" + "\.coroutine\.extensions" = ".Coroutine.Extensions" + "\.coroutine\.instructions" = ".Coroutine.Instructions" + "\.functional\.async" = ".Functional.Async" + "\.functional\.control" = ".Functional.Control" + "\.functional\.functions" = ".Functional.Functions" + "\.functional\.pipe" = ".Functional.Pipe" + "\.functional\.result" = ".Functional.Result" + "\.logging\.appenders" = ".Logging.Appenders" + "\.logging\.filters" = ".Logging.Filters" + "\.logging\.formatters" = ".Logging.Formatters" + "\.services\.modules" = ".Services.Modules" + "\.setting\.events" = ".Setting.Events" + "\.setting\.data" = ".Setting.Data" + "\.scene\.handler" = ".Scene.Handler" + "\.ui\.handler" = ".UI.Handler" + "\.extensions\.signal" = ".Extensions.Signal" + + # Single-level namespaces + "\.cqrs" = ".CQRS" + "\.ioc" = ".IoC" + "\.ui" = ".UI" + "\.ecs" = ".ECS" + "\.architecture" = ".Architecture" + "\.bases" = ".Bases" + "\.command" = ".Command" + "\.configuration" = ".Configuration" + "\.controller" = ".Controller" + "\.coroutine" = ".Coroutine" + "\.data" = ".Data" + "\.enums" = ".Enums" + "\.environment" = ".Environment" + "\.events" = ".Events" + "\.extensions" = ".Extensions" + "\.functional" = ".Functional" + "\.internals" = ".Internals" + "\.lifecycle" = ".Lifecycle" + "\.logging" = ".Logging" + "\.model" = ".Model" + "\.pause" = ".Pause" + "\.pool" = ".Pool" + "\.properties" = ".Properties" + "\.property" = ".Property" + "\.query" = ".Query" + "\.registries" = ".Registries" + "\.resource" = ".Resource" + "\.rule" = ".Rule" + "\.serializer" = ".Serializer" + "\.services" = ".Services" + "\.state" = ".State" + "\.storage" = ".Storage" + "\.system" = ".System" + "\.time" = ".Time" + "\.utility" = ".Utility" + "\.versioning" = ".Versioning" + "\.scene" = ".Scene" + "\.setting" = ".Setting" + "\.diagnostics" = ".Diagnostics" + "\.components" = ".Components" + "\.systems" = ".Systems" + "\.analyzers" = ".Analyzers" +} + +# Get all Markdown files +Write-Host "Finding Markdown files..." +$mdFiles = @() +$mdFiles += Get-ChildItem -Path "docs" -Filter "*.md" -Recurse -ErrorAction SilentlyContinue +$mdFiles += Get-ChildItem -Path "." -Filter "README.md" -Recurse -ErrorAction SilentlyContinue | Where-Object { $_.FullName -notmatch "node_modules" -and $_.FullName -notmatch "\\bin\\" -and $_.FullName -notmatch "\\obj\\" } +Write-Host "Found $($mdFiles.Count) Markdown files`n" + +$modifiedCount = 0 + +foreach ($file in $mdFiles) { + $content = Get-Content $file.FullName -Raw -Encoding UTF8 + $originalContent = $content + $fileModified = $false + + # Update namespace references + foreach ($mapping in $namespaceMap.GetEnumerator()) { + $oldPattern = $mapping.Key + $newPattern = $mapping.Value + + # Match GFramework namespace references + if ($content -match "GFramework[^\s;,\)]*$oldPattern") { + $content = $content -replace "(GFramework[^\s;,\)]*)$oldPattern", "`$1$newPattern" + $fileModified = $true + } + } + + if ($fileModified) { + $modifiedCount++ + $relativePath = $file.FullName.Replace((Get-Location).Path, "").TrimStart('\', '/') + Write-Host "✓ Updated: $relativePath" -ForegroundColor Green + + if (-not $DryRun) { + Set-Content -Path $file.FullName -Value $content -NoNewline -Encoding UTF8 + } + } +} + +Write-Host "`n========================================" -ForegroundColor Cyan +Write-Host "Summary:" -ForegroundColor Cyan +Write-Host " Total files scanned: $($mdFiles.Count)" +Write-Host " Files modified: $modifiedCount" +Write-Host "========================================`n" -ForegroundColor Cyan + +if (-not $DryRun -and $modifiedCount -gt 0) { + Write-Host "Committing documentation updates..." + git add -A + git commit -m "docs: update namespace references to PascalCase (phase 3)" + Write-Host "✓ Phase 3 complete" -ForegroundColor Green +} elseif ($DryRun) { + Write-Host "[DRY RUN] No changes were made" -ForegroundColor Yellow +} else { + Write-Host "No files needed updating" -ForegroundColor Yellow +} diff --git a/update-namespaces.ps1 b/update-namespaces.ps1 new file mode 100644 index 0000000..f23fb0f --- /dev/null +++ b/update-namespaces.ps1 @@ -0,0 +1,153 @@ +#!/usr/bin/env pwsh + +param( + [switch]$DryRun +) + +$ErrorActionPreference = "Stop" + +Write-Host "========================================" -ForegroundColor Cyan +Write-Host "Phase 2: Update Namespace Declarations" -ForegroundColor Cyan +Write-Host "========================================`n" -ForegroundColor Cyan + +# Namespace mapping (order matters - process longer patterns first) +$namespaceMap = [ordered]@{ + # Nested namespaces first (to avoid partial replacements) + "\.cqrs\.behaviors" = ".CQRS.Behaviors" + "\.cqrs\.command" = ".CQRS.Command" + "\.cqrs\.notification" = ".CQRS.Notification" + "\.cqrs\.query" = ".CQRS.Query" + "\.cqrs\.request" = ".CQRS.Request" + "\.coroutine\.extensions" = ".Coroutine.Extensions" + "\.coroutine\.instructions" = ".Coroutine.Instructions" + "\.functional\.async" = ".Functional.Async" + "\.functional\.control" = ".Functional.Control" + "\.functional\.functions" = ".Functional.Functions" + "\.functional\.pipe" = ".Functional.Pipe" + "\.functional\.result" = ".Functional.Result" + "\.logging\.appenders" = ".Logging.Appenders" + "\.logging\.filters" = ".Logging.Filters" + "\.logging\.formatters" = ".Logging.Formatters" + "\.services\.modules" = ".Services.Modules" + "\.setting\.events" = ".Setting.Events" + "\.setting\.data" = ".Setting.Data" + "\.scene\.handler" = ".Scene.Handler" + "\.ui\.handler" = ".UI.Handler" + "\.extensions\.signal" = ".Extensions.Signal" + "\.events\.filters" = ".Events.Filters" + "\.data\.events" = ".Data.Events" + + # Single-level namespaces + "\.cqrs" = ".CQRS" + "\.ioc" = ".IoC" + "\.ui" = ".UI" + "\.ecs" = ".ECS" + "\.architecture" = ".Architecture" + "\.bases" = ".Bases" + "\.command" = ".Command" + "\.configuration" = ".Configuration" + "\.constants" = ".Constants" + "\.controller" = ".Controller" + "\.coroutine" = ".Coroutine" + "\.data" = ".Data" + "\.enums" = ".Enums" + "\.environment" = ".Environment" + "\.events" = ".Events" + "\.extensions" = ".Extensions" + "\.functional" = ".Functional" + "\.internals" = ".Internals" + "\.lifecycle" = ".Lifecycle" + "\.logging" = ".Logging" + "\.model" = ".Model" + "\.pause" = ".Pause" + "\.pool" = ".Pool" + "\.properties" = ".Properties" + "\.property" = ".Property" + "\.query" = ".Query" + "\.registries" = ".Registries" + "\.resource" = ".Resource" + "\.rule" = ".Rule" + "\.serializer" = ".Serializer" + "\.services" = ".Services" + "\.state" = ".State" + "\.storage" = ".Storage" + "\.system" = ".System" + "\.time" = ".Time" + "\.utility" = ".Utility" + "\.versioning" = ".Versioning" + "\.scene" = ".Scene" + "\.setting" = ".Setting" + "\.asset" = ".Asset" + "\.registry" = ".Registry" + "\.diagnostics" = ".Diagnostics" + "\.components" = ".Components" + "\.systems" = ".Systems" + "\.integration" = ".Integration" + "\.tests" = ".Tests" + "\.mediator" = ".Mediator" + "\.analyzers" = ".Analyzers" +} + +# Get all C# files +Write-Host "Finding C# files..." +$csFiles = Get-ChildItem -Path . -Filter "*.cs" -Recurse -Exclude "bin","obj" | Where-Object { $_.FullName -notmatch "\\bin\\" -and $_.FullName -notmatch "\\obj\\" } +Write-Host "Found $($csFiles.Count) C# files`n" + +$modifiedCount = 0 + +foreach ($file in $csFiles) { + $content = Get-Content $file.FullName -Raw -Encoding UTF8 + $originalContent = $content + $fileModified = $false + + # Update namespace declarations and using statements + foreach ($mapping in $namespaceMap.GetEnumerator()) { + $oldPattern = $mapping.Key + $newPattern = $mapping.Value + + # Match namespace declarations: namespace GFramework.*\.old + if ($content -match "namespace\s+GFramework[^;\{]*$oldPattern") { + $content = $content -replace "(namespace\s+GFramework[^;\{]*)$oldPattern", "`$1$newPattern" + $fileModified = $true + } + + # Match using statements: using GFramework.*\.old + if ($content -match "using\s+GFramework[^;]*$oldPattern") { + $content = $content -replace "(using\s+GFramework[^;]*)$oldPattern", "`$1$newPattern" + $fileModified = $true + } + + # Match using static: using static GFramework.*\.old + if ($content -match "using\s+static\s+GFramework[^;]*$oldPattern") { + $content = $content -replace "(using\s+static\s+GFramework[^;]*)$oldPattern", "`$1$newPattern" + $fileModified = $true + } + } + + if ($fileModified) { + $modifiedCount++ + $relativePath = $file.FullName.Replace((Get-Location).Path, "").TrimStart('\', '/') + Write-Host "✓ Updated: $relativePath" -ForegroundColor Green + + if (-not $DryRun) { + Set-Content -Path $file.FullName -Value $content -NoNewline -Encoding UTF8 + } + } +} + +Write-Host "`n========================================" -ForegroundColor Cyan +Write-Host "Summary:" -ForegroundColor Cyan +Write-Host " Total files scanned: $($csFiles.Count)" +Write-Host " Files modified: $modifiedCount" +Write-Host "========================================`n" -ForegroundColor Cyan + +if (-not $DryRun -and $modifiedCount -gt 0) { + Write-Host "Committing namespace updates..." + git add -A + git commit -m "refactor: update namespace declarations to PascalCase (phase 2)" + Write-Host "✓ Phase 2 complete" -ForegroundColor Green +} elseif ($DryRun) { + Write-Host "[DRY RUN] No changes were made" -ForegroundColor Yellow +} else { + Write-Host "No files needed updating" -ForegroundColor Yellow +} diff --git a/update-namespaces.sh b/update-namespaces.sh new file mode 100644 index 0000000..a310488 --- /dev/null +++ b/update-namespaces.sh @@ -0,0 +1,119 @@ +#!/bin/bash + +# Phase 2: Update Namespace Declarations +echo "========================================" +echo "Phase 2: Update Namespace Declarations" +echo "========================================" +echo "" + +# Find all C# files +echo "Finding C# files..." +cs_files=$(find . -name "*.cs" -type f ! -path "*/bin/*" ! -path "*/obj/*" ! -path "*/.git/*") +total_files=$(echo "$cs_files" | wc -l) +echo "Found $total_files C# files" +echo "" + +modified_count=0 + +# Process each file +while IFS= read -r file; do + if [ -f "$file" ]; then + # Create a temporary file + temp_file="${file}.tmp" + + # Apply all namespace replacements + sed -E \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)cqrs\.behaviors/\1 \2CQRS.Behaviors/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)cqrs\.command/\1 \2CQRS.Command/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)cqrs\.notification/\1 \2CQRS.Notification/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)cqrs\.query/\1 \2CQRS.Query/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)cqrs\.request/\1 \2CQRS.Request/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)coroutine\.extensions/\1 \2Coroutine.Extensions/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)coroutine\.instructions/\1 \2Coroutine.Instructions/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)functional\.async/\1 \2Functional.Async/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)functional\.control/\1 \2Functional.Control/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)functional\.functions/\1 \2Functional.Functions/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)functional\.pipe/\1 \2Functional.Pipe/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)functional\.result/\1 \2Functional.Result/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)logging\.appenders/\1 \2Logging.Appenders/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)logging\.filters/\1 \2Logging.Filters/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)logging\.formatters/\1 \2Logging.Formatters/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)services\.modules/\1 \2Services.Modules/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)setting\.events/\1 \2Setting.Events/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)setting\.data/\1 \2Setting.Data/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)scene\.handler/\1 \2Scene.Handler/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)ui\.handler/\1 \2UI.Handler/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)extensions\.signal/\1 \2Extensions.Signal/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)events\.filters/\1 \2Events.Filters/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)data\.events/\1 \2Data.Events/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)cqrs([^a-z])/\1 \2CQRS\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)ioc([^a-z])/\1 \2IoC\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)ui([^a-z])/\1 \2UI\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)ecs([^a-z])/\1 \2ECS\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)architecture([^a-z])/\1 \2Architecture\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)bases([^a-z])/\1 \2Bases\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)command([^a-z])/\1 \2Command\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)configuration([^a-z])/\1 \2Configuration\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)controller([^a-z])/\1 \2Controller\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)coroutine([^a-z])/\1 \2Coroutine\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)data([^a-z])/\1 \2Data\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)enums([^a-z])/\1 \2Enums\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)environment([^a-z])/\1 \2Environment\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)events([^a-z])/\1 \2Events\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)extensions([^a-z])/\1 \2Extensions\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)functional([^a-z])/\1 \2Functional\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)internals([^a-z])/\1 \2Internals\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)lifecycle([^a-z])/\1 \2Lifecycle\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)logging([^a-z])/\1 \2Logging\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)model([^a-z])/\1 \2Model\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)pause([^a-z])/\1 \2Pause\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)pool([^a-z])/\1 \2Pool\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)properties([^a-z])/\1 \2Properties\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)property([^a-z])/\1 \2Property\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)query([^a-z])/\1 \2Query\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)registries([^a-z])/\1 \2Registries\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)resource([^a-z])/\1 \2Resource\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)rule([^a-z])/\1 \2Rule\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)serializer([^a-z])/\1 \2Serializer\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)services([^a-z])/\1 \2Services\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)state([^a-z])/\1 \2State\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)storage([^a-z])/\1 \2Storage\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)system([^a-z])/\1 \2System\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)time([^a-z])/\1 \2Time\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)utility([^a-z])/\1 \2Utility\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)versioning([^a-z])/\1 \2Versioning\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)scene([^a-z])/\1 \2Scene\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)setting([^a-z])/\1 \2Setting\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)diagnostics([^a-z])/\1 \2Diagnostics\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)components([^a-z])/\1 \2Components\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)systems([^a-z])/\1 \2Systems\3/g' \ + -e 's/(namespace|using|using static)\s+(GFramework[^;{]*\.)analyzers([^a-z])/\1 \2Analyzers\3/g' \ + "$file" > "$temp_file" + + # Check if file was modified + if ! cmp -s "$file" "$temp_file"; then + mv "$temp_file" "$file" + echo "✓ Updated: ${file#./}" + ((modified_count++)) + else + rm "$temp_file" + fi + fi +done <<< "$cs_files" + +echo "" +echo "========================================" +echo "Summary:" +echo " Total files scanned: $total_files" +echo " Files modified: $modified_count" +echo "========================================" +echo "" + +if [ $modified_count -gt 0 ]; then + echo "Committing namespace updates..." + git add -A + git commit -m "refactor: update namespace declarations to PascalCase (phase 2)" + echo "✓ Phase 2 complete" +else + echo "No files needed updating" +fi diff --git a/verify-namespaces.ps1 b/verify-namespaces.ps1 new file mode 100644 index 0000000..4dc034b --- /dev/null +++ b/verify-namespaces.ps1 @@ -0,0 +1,108 @@ +#!/usr/bin/env pwsh + +$ErrorActionPreference = "Stop" + +Write-Host "========================================" -ForegroundColor Cyan +Write-Host "Phase 4: Verify Namespace Consistency" -ForegroundColor Cyan +Write-Host "========================================`n" -ForegroundColor Cyan + +# Patterns to detect lowercase namespaces (should not exist after refactoring) +$lowercasePatterns = @( + "\.architecture\b", + "\.bases\b", + "\.command\b", + "\.configuration\b", + "\.controller\b", + "\.coroutine\b", + "\.cqrs\b", + "\.data\b", + "\.enums\b", + "\.environment\b", + "\.events\b", + "\.extensions\b", + "\.functional\b", + "\.internals\b", + "\.ioc\b", + "\.lifecycle\b", + "\.logging\b", + "\.model\b", + "\.pause\b", + "\.pool\b", + "\.properties\b", + "\.property\b", + "\.query\b", + "\.registries\b", + "\.resource\b", + "\.rule\b", + "\.serializer\b", + "\.services\b", + "\.state\b", + "\.storage\b", + "\.system\b", + "\.time\b", + "\.utility\b", + "\.versioning\b", + "\.ui\b", + "\.ecs\b", + "\.scene\b", + "\.setting\b", + "\.diagnostics\b", + "\.components\b", + "\.systems\b", + "\.analyzers\b" +) + +Write-Host "Searching for lowercase namespaces in C# files..." +$csFiles = Get-ChildItem -Path . -Filter "*.cs" -Recurse -Exclude "bin","obj" | Where-Object { $_.FullName -notmatch "\\bin\\" -and $_.FullName -notmatch "\\obj\\" } + +$issues = @() + +foreach ($file in $csFiles) { + $content = Get-Content $file.FullName -Raw + $lineNumber = 0 + + foreach ($line in (Get-Content $file.FullName)) { + $lineNumber++ + + # Check if line contains namespace or using statement + if ($line -match "^\s*(namespace|using)\s+GFramework") { + foreach ($pattern in $lowercasePatterns) { + if ($line -match $pattern) { + $relativePath = $file.FullName.Replace((Get-Location).Path, "").TrimStart('\', '/') + $issues += [PSCustomObject]@{ + File = $relativePath + Line = $lineNumber + Content = $line.Trim() + } + break + } + } + } + } +} + +if ($issues.Count -gt 0) { + Write-Host "`n❌ Found $($issues.Count) lowercase namespace(s):`n" -ForegroundColor Red + + foreach ($issue in $issues) { + Write-Host " File: $($issue.File):$($issue.Line)" -ForegroundColor Yellow + Write-Host " $($issue.Content)" -ForegroundColor Gray + Write-Host "" + } + + Write-Host "Please review and fix these issues manually.`n" -ForegroundColor Red + exit 1 +} else { + Write-Host "✓ All namespaces are PascalCase!" -ForegroundColor Green +} + +Write-Host "`n========================================" -ForegroundColor Cyan +Write-Host "Verification Summary:" -ForegroundColor Cyan +Write-Host " Files scanned: $($csFiles.Count)" +Write-Host " Issues found: $($issues.Count)" +Write-Host "========================================`n" -ForegroundColor Cyan + +if ($issues.Count -eq 0) { + Write-Host "✓ Namespace verification passed!" -ForegroundColor Green + exit 0 +}