GeWuYou bb449259d3 feat(docs): 添加 VitePress 文档生成技能系统
- 新增 .claude/skills 目录及完整的文档生成技能系统
- 添加批量 API 文档生成脚本支持模块化文档创建
- 添加 API 文档、功能指南和教程生成模板与示例
- 添加 C# XML 注释解析和代码示例生成工具
- 添加文档验证和导航更新脚本确保质量
- 更新 .gitignore 配置排除本地设置文件
2026-02-25 09:28:33 +08:00

4.1 KiB
Raw Blame History

title, description, outline
title description outline
ArchitecturePhase 架构阶段枚举,定义了架构生命周期的各个阶段。 deep

ArchitecturePhase

概述

架构阶段枚举,定义了架构生命周期的各个阶段。

命名空间GFramework.Core.Abstractions.enums 程序集GFramework.Core.Abstractions 基础类型Enum

枚举值

None

初始阶段,架构尚未开始初始化。

0

BeforeUtilityInit

工具初始化前阶段。

1

AfterUtilityInit

工具初始化后阶段。

2

BeforeModelInit

模型初始化前阶段。

3

AfterModelInit

模型初始化后阶段。

4

BeforeSystemInit

系统初始化前阶段。

5

AfterSystemInit

系统初始化后阶段。

6

Ready

就绪状态,架构已完全初始化并可以使用。

7

FailedInitialization

初始化失败状态。

8

Destroying

正在销毁阶段。

9

Destroyed

已销毁阶段。

10

使用示例

检查架构阶段

var architecture = new GameArchitecture();
architecture.Initialize();

// 检查架构是否已就绪
if (architecture.CurrentPhase == ArchitecturePhase.Ready)
{
    Console.WriteLine("架构已就绪,可以开始游戏");
}

监听阶段变化

public class PhaseMonitor : IArchitectureLifecycle
{
    public void OnPhase(ArchitecturePhase phase, IArchitecture architecture)
    {
        switch (phase)
        {
            case ArchitecturePhase.BeforeUtilityInit:
                Console.WriteLine("开始初始化工具");
                break;
            case ArchitecturePhase.AfterUtilityInit:
                Console.WriteLine("工具初始化完成");
                break;
            case ArchitecturePhase.BeforeModelInit:
                Console.WriteLine("开始初始化模型");
                break;
            case ArchitecturePhase.AfterModelInit:
                Console.WriteLine("模型初始化完成");
                break;
            case ArchitecturePhase.BeforeSystemInit:
                Console.WriteLine("开始初始化系统");
                break;
            case ArchitecturePhase.AfterSystemInit:
                Console.WriteLine("系统初始化完成");
                break;
            case ArchitecturePhase.Ready:
                Console.WriteLine("架构就绪");
                break;
            case ArchitecturePhase.FailedInitialization:
                Console.WriteLine("架构初始化失败");
                break;
            case ArchitecturePhase.Destroying:
                Console.WriteLine("架构正在销毁");
                break;
            case ArchitecturePhase.Destroyed:
                Console.WriteLine("架构已销毁");
                break;
        }
    }
}

// 注册监听器
var architecture = new GameArchitecture();
architecture.RegisterLifecycleHook(new PhaseMonitor());
architecture.Initialize();

等待特定阶段

public async Task WaitForReady(IArchitecture architecture)
{
    while (architecture.CurrentPhase != ArchitecturePhase.Ready)
    {
        if (architecture.CurrentPhase == ArchitecturePhase.FailedInitialization)
        {
            throw new Exception("架构初始化失败");
        }

        await Task.Delay(100);
    }

    Console.WriteLine("架构已就绪");
}

阶段转换顺序

正常初始化流程的阶段转换顺序:

  1. NoneBeforeUtilityInit
  2. BeforeUtilityInitAfterUtilityInit
  3. AfterUtilityInitBeforeModelInit
  4. BeforeModelInitAfterModelInit
  5. AfterModelInitBeforeSystemInit
  6. BeforeSystemInitAfterSystemInit
  7. AfterSystemInitReady

销毁流程的阶段转换顺序:

  1. ReadyDestroying
  2. DestroyingDestroyed

异常流程:

  • 任何阶段 → FailedInitialization(初始化过程中发生异常)

另请参阅