GameFrameX 是一个专为独立游戏开发者设计的现代化Unity游戏框架,提供完整的前后端一体化解决方案。框架采用模块化架构设计,内置丰富的游戏开发工具和组件,帮助开发者快速构建高质量的游戏项目。
- 🏗️ 模块化架构 - 基于组件系统的可扩展框架设计
- 🔧 丰富工具集 - 内置多种开发辅助工具和编辑器扩展
- 📦 对象池管理 - 高效的内存管理和对象复用机制
- 🎨 扩展方法库 - 丰富的Unity引擎扩展方法
- 🛠️ 实用工具类 - 涵盖加密、压缩、网络等常用功能
- 📱 多平台支持 - 支持PC、移动端、WebGL等多平台部署
- 🔥 热更新支持 - 内置HybridCLR热更新解决方案
- Unity版本: 2019.4 或更高版本
- 平台支持: Windows, macOS, Linux, iOS, Android, WebGL
- .NET版本: .NET Standard 2.0+
- 打开Unity编辑器
- 打开
Window
→Package Manager
- 点击左上角的
+
按钮 - 选择
Add package from git URL
- 输入:
https://github.com/GameFrameX/com.gameframex.unity.git
- 下载最新的 Release
- 解压到项目的
Packages
目录下
using GameFrameX.Runtime;
public class GameManager : MonoBehaviour
{
void Start()
{
// 获取对象池组件
var objectPool = GameEntry.GetComponent<ObjectPoolComponent>();
// 获取引用池组件
var referencePool = GameEntry.GetComponent<ReferencePoolComponent>();
// 使用扩展方法
transform.SetPositionX(10f);
gameObject.SetActiveOptimized(true);
}
}
模块 | 描述 | 主要功能 |
---|---|---|
Base | 框架核心基础 | 组件管理、事件系统、生命周期管理 |
ObjectPool | 对象池系统 | 对象复用、内存优化、性能提升 |
ReferencePool | 引用池系统 | 引用类型对象管理、GC优化 |
Helper | 工具助手类 | 文件操作、网络请求、数学计算等 |
Extension | 扩展方法库 | Unity引擎类型扩展、便捷操作 |
Utility | 实用工具类 | 加密解密、压缩解压、哈希计算 |
工具 | 功能描述 |
---|---|
BuildHotfix | 热更新构建工具 |
BuildProduct | 产品构建助手 |
PackageManager | 包管理器窗口 |
Cropping | 图片裁剪工具 |
Inspector | 自定义检视面板 |
// 获取对象池组件
var objectPool = GameEntry.GetComponent<ObjectPoolComponent>();
// 创建对象池
objectPool.CreatePool<MyObject>("MyObjectPool", 10, 100);
// 从池中获取对象
var obj = objectPool.Spawn<MyObject>("MyObjectPool");
// 归还对象到池中
objectPool.Unspawn(obj);
// Transform扩展
transform.SetPositionX(10f);
transform.SetLocalScaleXYZ(2f, 2f, 2f);
transform.ResetTransformation();
// GameObject扩展
gameObject.SetActiveOptimized(true);
gameObject.SetLayerRecursively(LayerMask.NameToLayer("UI"));
// Vector扩展
Vector3 pos = transform.position;
pos = pos.WithX(5f).WithY(10f);
// 文件操作
Utility.File.WriteAllBytes("path/to/file", data);
byte[] content = Utility.File.ReadAllBytes("path/to/file");
// 加密解密
string encrypted = Utility.Encryption.Aes.Encrypt("plaintext", "key");
string decrypted = Utility.Encryption.Aes.Decrypt(encrypted, "key");
// 哈希计算
string md5 = Utility.Hash.Md5.ComputeHash("input");
string sha1 = Utility.Hash.Sha1.ComputeHash("input");
- 📖 完整文档: https://gameframex.doc.alianblank.com
- 🎯 API参考: API Documentation
- 📝 示例项目: Examples Repository
- 🎬 视频教程: YouTube频道
- 💬 QQ讨论群: 216332935
- 🐛 问题反馈: GitHub Issues
- 💡 功能建议: GitHub Discussions
- 📧 邮件联系: [email protected]
- 🐛 修复文件GUID重复的问题
- ✨ 新增更多扩展方法
- 🔧 优化对象池性能
- 📚 完善文档说明
查看完整更新日志: CHANGELOG.md
本项目采用 MIT License 开源协议。
Blank
- 📧 Email: [email protected]
- 🌐 Website: https://gameframex.doc.alianblank.com
- 🐙 GitHub: @GameFrameX
如果这个项目对你有帮助,请给我们一个 ⭐ Star!