Skip to content

GameFrameX是一款全面的集成式游戏开发框架,提供了从前端到后端的完整解决方案。该框架支持包括Unity、Cocos Creator、LayaBox、和Godot等多种主流游戏开发平台,确保开发者能够为不同的目标平台打造精美的游戏体验。

License

Notifications You must be signed in to change notification settings

GameFrameX/com.gameframex.unity

Repository files navigation

GameFrameX Unity Package

Version Unity License Documentation

独立游戏前后端一体化解决方案 · 独立游戏开发者的圆梦大使

📖 文档🚀 快速开始💬 QQ群: 216332935


✨ 项目简介

GameFrameX 是一个专为独立游戏开发者设计的现代化Unity游戏框架,提供完整的前后端一体化解决方案。框架采用模块化架构设计,内置丰富的游戏开发工具和组件,帮助开发者快速构建高质量的游戏项目。

🎯 核心特性

  • 🏗️ 模块化架构 - 基于组件系统的可扩展框架设计
  • 🔧 丰富工具集 - 内置多种开发辅助工具和编辑器扩展
  • 📦 对象池管理 - 高效的内存管理和对象复用机制
  • 🎨 扩展方法库 - 丰富的Unity引擎扩展方法
  • 🛠️ 实用工具类 - 涵盖加密、压缩、网络等常用功能
  • 📱 多平台支持 - 支持PC、移动端、WebGL等多平台部署
  • 🔥 热更新支持 - 内置HybridCLR热更新解决方案

📋 系统要求

  • Unity版本: 2019.4 或更高版本
  • 平台支持: Windows, macOS, Linux, iOS, Android, WebGL
  • .NET版本: .NET Standard 2.0+

🚀 快速开始

安装方式

方式一:Unity Package Manager (推荐)

  1. 打开Unity编辑器
  2. 打开 WindowPackage Manager
  3. 点击左上角的 + 按钮
  4. 选择 Add package from git URL
  5. 输入: https://github.com/GameFrameX/com.gameframex.unity.git

方式二:手动下载

  1. 下载最新的 Release
  2. 解压到项目的 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");

📚 文档与资源

🤝 社区与支持

🔄 更新日志

v1.3.6 (2025-05-28)

  • 🐛 修复文件GUID重复的问题
  • ✨ 新增更多扩展方法
  • 🔧 优化对象池性能
  • 📚 完善文档说明

查看完整更新日志: CHANGELOG.md

📄 开源协议

本项目采用 MIT License 开源协议。

👨‍💻 作者信息

Blank


如果这个项目对你有帮助,请给我们一个 ⭐ Star!

⬆ 回到顶部

About

GameFrameX是一款全面的集成式游戏开发框架,提供了从前端到后端的完整解决方案。该框架支持包括Unity、Cocos Creator、LayaBox、和Godot等多种主流游戏开发平台,确保开发者能够为不同的目标平台打造精美的游戏体验。

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages