Coder Social home page Coder Social logo

swordgaru / myunityframework Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gaokaihaha/myunityframework

0.0 1.0 0.0 11.86 MB

我的Unity框架,包含资源加载,配置加载,数据加载,UI管理,日志管理,动画系统,特效系统

C# 97.87% Objective-C 0.48% Objective-C++ 1.64%

myunityframework's Introduction

MyUnityFrameWork

  Unity框架,组件可插拔,可视化编辑,代码自动生成。
  包含资源加载,配置加载,数据加载,UI管理,音频管理,日志管理,动画系统,特效系统等,以及对应编辑器工具
  支持Android、Ios、PC、WEBGL
  项目中的Script/Core目录就是完整框架
  中文维基
  English Wiki

应用

  1.快速配置开发模式和发布模式(开发模式资源直接从Resources文件夹加载,不需要重新打包)
  2.支持快速定位到某一个游戏流程(某游戏场景,结算界面等),方便测试
  3.开发模式支持运行时性能监控和Debug小窗。
  4.提供Jenkins自动化打包接口ProjectBuildService (打包教程 )   

游戏流程管理

  1.游戏逻辑入口从某一个游戏流程开始(创建一个流程继承IGameStatus,然后在ApplicationManager中选择它作为第一个流程)
  2.提供测试接口,可传入测试数据,直接测试某一个流程不需要把游戏从头运行一次
  3.游戏启动时允许呼出开发者控制台,在真机上定位问题更快捷(查看以往日志数据、复盘Bug操作等)

资源加载

  1.可视化依赖包管理工具,打包进度可视,不再干等着了
  2.Resource和AssetsBundle两种加载模式,简单切换开发与发布状态
  3.统一加载接口,上层逻辑无需关心使用哪种方式加载资源
  4.多种资源管理机制,读取效率与内存占用的平衡

热更新管理器

  1.内置热更新流程
  2.一行代码启动热更新,返回热更新进度和更新状态(界面可另行编写)

Lua

  1.集成uLua,并精简了一部分uLua代码
  2.内置Lua设置编辑器
  3.内置Lua库(UIManager,StatusManager,EvnetDispatcher,Timer等)

配置加载

  1.一行代码读取和保存配置,方便快捷
  2.可将类序列化保存到配置中,快速使用
  3.配置可读可写
  4.有对应的配置编辑器
  

数据加载

  1.数据可使用默认值,可以让程序不用等策划,并且修改默认值非常方便
  2.数据键值对方便拓展, 策划不用等程序
  3.数据在运行时只读
  4.支持一键生成对应的数据类对象,不需要手写查数据了
  5.有对应的数据编辑器

持久化数据  

  1.游戏中产生的需要长期存放的数据可以放在这里
  2.提供编辑器查看这些临时数据

游戏数据查看器  

  1.提供编辑器查看游戏中的数据,(适合用来实时查看非Monobehavior面板数据)
  2.被查看的类只显示Public属性

输入管理器

  1.将游戏中接收的所有输入统一管理(包括网络通讯,UI事件,键盘输入,随机数生成,SDK输入等),方便开发和重现BUG

联网系统

  1.支持多种网络协议(目前只支持了TCP),可通过接口拓展
  2.支持多种通讯类型(目前支持Json,protocol)
  3.派发连接事件(成功、失败、断开等)
  4.所有网络事件通过输入管理器管理

UI系统

  1.方便快捷的多语言管理方案
  2.方便快捷的风格管理方案,一套风格,多处公用,一次修改
  3.粒子系统和UI完美嵌套
  4.支持3DUI和2DUI
  5.支持浮动UI(血条,昵称等)
  6.方便好用的事件系统
  7.UI编辑工具
    ·方便地创建UIManager,设定分辨率,EventSystem等
    ·自动生成脚本以及UI
    ·支持编辑和使用UI预设模板,支持批量修改使用了模板的UI
    ·支持使用预设UIStyle,功能相近的UI使用同一套Style,并支持批量修改
  8.多语言支持
  9.方便好用的拓展组件
    ·重用Item的scrollRect,不会一下子加载太多item,节约性能。
    ·内置摇杆。
  10.对新手引导做了内置支持
  11.3D模型投射到UI上的工具

新手引导系统

  1.内置了新手引导系统,并提供了接口支持拓展功能
  2.可通过Tools->新手引导->初始化/创建预设 来初始化新手引导系统
    ·自动创建GuideWindow类
    ·自动创建GuideWIndow预设
    ·自动创建GuideData数据表
    ·自动创建Guide sortingLayer层(新手引导高亮的UI会放在这个层)
    ·(自动增加 sortingLayer 的代码,请看(教程 )
  3.新手引导通过读取GuideData数据表提供功能
 

游戏对象管理器

  1.方便加载游戏对象
  2.内置对象池

反射查看器

  1.可以浏览Unity的私有方法
  2.支持一键生成调用私有方法代码

Unity内置GUIStyle查看器

  1.可以查看Unity内置GUIStyele,编辑器界面开发更方便

Unity内置Icon查看器

  1.可以查看Unity内置图标

SDK管理器

  1.预留登陆,支付,广告,事件上报以及其他事件接口
  2.提供编辑器一键切换不同平台SDK设置以及插件库(现在SDKManager会直接替换Plugins文件夹)
  3.SDK输入也交给InputManager管理

音频管理

  1.总音量,音乐音量,音效音量控制
  2.一行代码播放各种音乐音效
  3.支持2D/3D音乐音效
  

开发者工具

  1.收集关键日志和崩溃日志,发送给开发者,或者在真机下查看(日志在 persistent路径\Log文件夹下)
  2.同时按下5根手指呼出游戏内控制台,监控帧率与内存使用量
  3.框架内置复盘模式,重放Bug出现的所有输入,方便复现Bug,并支持导出操作记录
  

动画系统

  1.支持UGUI动画,使用定位更精确
  2.支持多种动画方式
  3.支持贝塞尔曲线
  4.支持多种插值类型
  5.参照Itween,一行代码播放各种动画
  6.更加方便的动画播放完毕回调
  7.支持多种重复模式YoYo,reset等
  8.支持延时播放动画
  9.支持忽略TimeScale等多种播放方式
  10.支持自定义传参函数

特效系统

  1.提供各种预设特效,开发简单快捷
    ·震屏特效。
    ·屏幕淡入淡出特效。
  2.内置特效LOD管理工具

其他功能

  1.Timer
  2.EventDispatch
  3.HeapObjectPool
  4.自动导入FBX到AnimatorControl
  5.自动生成Protocol文件工具  

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.