# HyuFramework **Repository Path**: hyuhyua/hyu-framework ## Basic Information - **Project Name**: HyuFramework - **Description**: 自己总结并使用的一套Unity框架 - **Primary Language**: C# - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 2 - **Created**: 2021-11-02 - **Last Updated**: 2023-04-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: Unity, Csharp ## README # HyuFramework ### 介绍 自己总结并使用的一套基于IOC模式Unity框架 ### Base - Singleton:单例模式 - ManagerBase:管理类的基类(框架核心) ### Globals - GameStatus:需要存档的文件,在里面定义存档数据的类型即可 - GlobalEvents:全局事件,观察者模式 - GlobalVariables:常量所放的地方,定义方式: - 需要在Inspector窗口显示的定义public普通变量(调用要多写一个Instance) - 不需要显示的定义public的static变量(调用不用写Instance) - 需要编译后赋值的定义static readonly - 固定的不需要改变的,且不用显示的用const ### Interfaces 一些基类接口(均与ManagerBase相关) - ICleanUp:用于被管理类LateUpdate后的清理 - IDestroyed:用于被管理类的销毁行为 - IExecute:用于被管理类每个Update的行为 - IInitialize:用于被管理类的初始化 - IService:服务类型需继承的接口 - ISystem:系统类型需继承的接口 ### Services - ServiceBase:各种服务需继承此类 - ServiceManager:管理ServiceBase的类 - AB:AB包管理加载的服务 - Audio:声音服务 - AudioController:使其更方便的管理AudioSource的类 - AudioHelper:方便播放AudioSource,执行AudioSource的一系列操作 - AudioHub:管理AudioController(AC),有AC池,获取AC等(需继承) - MutiAudioHub:继承AudioHub,多个AC的Hub,会动态加载生成AC。 - SingleAudioHub:继承AudioHub,唯一AC的Hub,指同一时间只能播放一个音源 - Persistent:存档服务 - Pool:缓存池服务 - Res:资源加载服务 ### UIManager - UIManager:管理UI的类,管理UI需继承UI的基类(UIPanel) - UILoader:加载UI的工具类 - UIPanel:被管理UI的基类 - UIPage:继承UIPanel,一个最大页面的UI基类:整个Canvas只能存在一个UIPage,打开会自动隐藏前一个UIPage,关闭会打开前一个UIPage(栈实现) - UIPageChild:继承UIPanel,非UIPage的UI,生成会自动实例化到最上面的UIPage上 - UIWindow:继承UIPageChild,一个普通窗口的UI基类 - UIWidget:继承UIPageChild,一个控件的UI基类 - UIUtils:实用的通用UI脚本 - ImgCover:点任意处关闭(或其他行为)的UI - TwinkleText:渐隐渐亮闪烁的文字(建议单独一个Canvas,否则会有性能消耗) ### Utils 工具类 - Utility:通用的工具类:路劲,Debug,字符串,颜色,集合,随机,游戏物体,Component,UI - FileUtils:文件相关工具类 - JsonUtils:Json相关工具类 - MathUtils:数学相关工具类