Skip to content

EvenSwift/CodeFighterFramework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CodeFighter Framework

CodeFighter 项目架构框架,提供 Unity 游戏开发的基础设施。

模块

模块 命名空间 说明
Core CodeFighter.Framework.Core GameManager、GameArchitecture、ResourceManager
Controller CodeFighter.Framework.Controller MonoController/PureController 基类、ControllerSet、生命周期接口
UI CodeFighter.UI UIKitEx 栈式面板管理、UIEnhancedPanel/UIWidget 基类
Audio CodeFighter.Audio AudioKitEx AudioMixer 分组路由

依赖 (Required UPM Packages)

{
    "com.unity.addressables": "1.22.3",
    "com.unity.inputsystem": "1.14.0",
    "com.unity.textmeshpro": "3.0.7",
    "com.cysharp.unitask": "https://github.com/Cysharp/UniTask.git?path=src/UniTask/Assets/Plugins/UniTask"
}

QFramework 源码已包含在本仓库中,无需额外安装。

集成方式 (Git Subtree)

首次引入

# 将框架仓库作为 subtree 引入项目
git subtree add --prefix=Assets/CodeFighterFramework \
    <framework-repo-url> main --squash

# 框架代码将出现在 Assets/CodeFighterFramework/ 下

游戏项目中的操作

# 拉取框架最新更新
git subtree pull --prefix=Assets/CodeFighterFramework \
    <framework-repo-url> main --squash

# 将本地框架修改推送回框架仓库
git subtree push --prefix=Assets/CodeFighterFramework \
    <framework-repo-url> main

架构约定

  1. 框架目录 = Assets/CodeFighterFramework/,通过 CodeFighter.Framework.asmdef 编译为独立程序集
  2. 游戏代码放在 Assets/Main/Scripts/Game/ 下,通过 Game.asmdef 引用 CodeFighter.Framework
  3. GameManagerSetControllers() 标记为 protected virtual,游戏项目子类在此注册具体控制器
  4. QFramework 源码 = 框架仓库中的 QFramework/ 目录,有独立的 .asmdefQFrameworkUIKitAudioKit 等)
  5. UI 面板继承 UIEnhancedPanel / UIEnhancedInputPanel,预置体放在 Assets/Main/Addressable/Prefabs/UI/
  6. 枚举(如 AudioMusicAudioSfx)定义在游戏项目中,不包含在框架内

程序集引用链

Game.asmdef (游戏业务代码)
  └── CodeFighter.Framework.asmdef
        ├── QFramework.asmdef
        ├── UIKit.asmdef
        └── AudioKit.asmdef

路径映射

仓库内路径 游戏项目路径
Core/ Assets/CodeFighterFramework/Core/
Controller/ Assets/CodeFighterFramework/Controller/
UI/ Assets/CodeFighterFramework/UI/
Audio/ Assets/CodeFighterFramework/Audio/
QFramework/ Assets/QFramework/

注意CodeFighter.Framework.asmdef 引用的是程序集名称 (QFramework/UIKit/AudioKit),而非文件路径。只要游戏项目包含同名程序集定义,引用即可正确解析。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages