在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → Unity游戏引擎的游戏框架(GameFramework)源码

Unity游戏引擎的游戏框架(GameFramework)源码

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:0.43M
  • 下载次数:0
  • 浏览次数:7
  • 发布时间:2024-05-23
  • 实例类别:一般编程问题
  • 发 布 人:chenxiaolan
  • 文件格式:.zip
  • 所需积分:2
 相关标签: unity game mef 源码 引擎

实例介绍

【实例简介】

Game Framework 是一个基于 Unity 引擎的游戏框架,主要对游戏开发过程中常用模块进行了封装,很大程度地规范开发过程、加快开发速度并保证产品质量。

在最新的 Game Framework 版本中,包含以下 19 个内置模块,后续我们还将开发更多的扩展模块供开发者使用。

  • 全局配置 (Config) - 存储一些全局的只读的游戏配置,如玩家初始速度、游戏初始音量等。
  • 数据结点 (Data Node) - 将任意类型的数据以树状结构的形式进行保存,用于管理游戏运行时的各种数据。
  • 数据表 (Data Table) - 可以将游戏数据以表格(如 Microsoft Excel)的形式进行配置后,使用此模块使用这些数据表。数据表的格式是可以自定义的。
  • 调试器 (Debugger) - 当游戏在 Unity 编辑器中运行或者以 Development 方式发布运行时,将出现调试器窗口,便于查看运行时日志、调试信息等。用户还可以方便地将自己的功能注册到调试器窗口上并使用。
  • 下载 (Download) - 提供下载文件的功能,支持断点续传,并可指定允许几个下载器进行同时下载。更新资源时会主动调用此模块。
  • 实体 (Entity) - 我们将游戏场景中,动态创建的一切物体定义为实体。此模块提供管理实体和实体组的功能,如显示隐藏实体、挂接实体(如挂接武器、坐骑,或者抓起另一个实体)等。实体使用结束后可以不立刻销毁,从而等待下一次重新使用。
  • 事件 (Event) - 游戏逻辑监听、抛出事件的机制。Game Framework 中的很多模块在完成操作后都会抛出内置事件,监听这些事件将大大解除游戏逻辑之间的耦合。用户也可以定义自己的游戏逻辑事件。
  • 文件系统 (File System) - 虚拟文件系统使用类似磁盘的概念对零散文件进行集中管理,优化资源加载时产生的内存分配,甚至可以对资源进行局部片段加载,这些都将极大提升资源加载时的性能。
  • 有限状态机 (FSM) - 提供创建、使用和销毁有限状态机的功能,一些适用于有限状态机机制的游戏逻辑,使用此模块将是一个不错的选择。
  • 本地化 (Localization) - 提供本地化功能,也就是我们平时所说的多语言。

【实例截图】
【核心代码】
文件清单
└── GameFramework-d0c010b05167c58e92350449d04864a91ca13fd2
    ├── GameFramework
    │   ├── Base
    │   │   ├── DataProvider
    │   │   │   ├── DataProviderCreator.cs
    │   │   │   ├── DataProvider.cs
    │   │   │   ├── IDataProvider.cs
    │   │   │   ├── IDataProviderHelper.cs
    │   │   │   ├── ReadDataDependencyAssetEventArgs.cs
    │   │   │   ├── ReadDataFailureEventArgs.cs
    │   │   │   ├── ReadDataSuccessEventArgs.cs
    │   │   │   └── ReadDataUpdateEventArgs.cs
    │   │   ├── DataStruct
    │   │   │   └── TypeNamePair.cs
    │   │   ├── EventPool
    │   │   │   ├── BaseEventArgs.cs
    │   │   │   ├── EventPool.cs
    │   │   │   ├── EventPool.Event.cs
    │   │   │   └── EventPoolMode.cs
    │   │   ├── GameFrameworkAction.cs
    │   │   ├── GameFrameworkEntry.cs
    │   │   ├── GameFrameworkEventArgs.cs
    │   │   ├── GameFrameworkException.cs
    │   │   ├── GameFrameworkFunc.cs
    │   │   ├── GameFrameworkLinkedList.cs
    │   │   ├── GameFrameworkLinkedListRange.cs
    │   │   ├── GameFrameworkModule.cs
    │   │   ├── GameFrameworkMultiDictionary.cs
    │   │   ├── GameFrameworkSerializer.cs
    │   │   ├── Log
    │   │   │   ├── GameFrameworkLog.cs
    │   │   │   ├── GameFrameworkLog.ILogHelper.cs
    │   │   │   └── GameFrameworkLogLevel.cs
    │   │   ├── ReferencePool
    │   │   │   ├── IReference.cs
    │   │   │   ├── ReferencePool.cs
    │   │   │   ├── ReferencePoolInfo.cs
    │   │   │   └── ReferencePool.ReferenceCollection.cs
    │   │   ├── TaskPool
    │   │   │   ├── ITaskAgent.cs
    │   │   │   ├── StartTaskStatus.cs
    │   │   │   ├── TaskBase.cs
    │   │   │   ├── TaskInfo.cs
    │   │   │   ├── TaskPool.cs
    │   │   │   └── TaskStatus.cs
    │   │   ├── Variable
    │   │   │   ├── GenericVariable.cs
    │   │   │   └── Variable.cs
    │   │   └── Version
    │   │       ├── Version.cs
    │   │       └── Version.IVersionHelper.cs
    │   ├── Config
    │   │   ├── ConfigManager.ConfigData.cs
    │   │   ├── ConfigManager.cs
    │   │   ├── IConfigHelper.cs
    │   │   └── IConfigManager.cs
    │   ├── DataNode
    │   │   ├── DataNodeManager.cs
    │   │   ├── DataNodeManager.DataNode.cs
    │   │   ├── IDataNode.cs
    │   │   └── IDataNodeManager.cs
    │   ├── DataTable
    │   │   ├── DataTableBase.cs
    │   │   ├── DataTableManager.cs
    │   │   ├── DataTableManager.DataTable.cs
    │   │   ├── IDataRow.cs
    │   │   ├── IDataTable.cs
    │   │   ├── IDataTableHelper.cs
    │   │   └── IDataTableManager.cs
    │   ├── Debugger
    │   │   ├── DebuggerManager.cs
    │   │   ├── DebuggerManager.DebuggerWindowGroup.cs
    │   │   ├── IDebuggerManager.cs
    │   │   ├── IDebuggerWindow.cs
    │   │   └── IDebuggerWindowGroup.cs
    │   ├── Download
    │   │   ├── Constant.cs
    │   │   ├── DownloadAgentHelperCompleteEventArgs.cs
    │   │   ├── DownloadAgentHelperErrorEventArgs.cs
    │   │   ├── DownloadAgentHelperUpdateBytesEventArgs.cs
    │   │   ├── DownloadAgentHelperUpdateLengthEventArgs.cs
    │   │   ├── DownloadFailureEventArgs.cs
    │   │   ├── DownloadManager.cs
    │   │   ├── DownloadManager.DownloadAgent.cs
    │   │   ├── DownloadManager.DownloadCounter.cs
    │   │   ├── DownloadManager.DownloadCounter.DownloadCounterNode.cs
    │   │   ├── DownloadManager.DownloadTask.cs
    │   │   ├── DownloadManager.DownloadTaskStatus.cs
    │   │   ├── DownloadStartEventArgs.cs
    │   │   ├── DownloadSuccessEventArgs.cs
    │   │   ├── DownloadUpdateEventArgs.cs
    │   │   ├── IDownloadAgentHelper.cs
    │   │   └── IDownloadManager.cs
    │   ├── Entity
    │   │   ├── EntityManager.cs
    │   │   ├── EntityManager.EntityGroup.cs
    │   │   ├── EntityManager.EntityInfo.cs
    │   │   ├── EntityManager.EntityInstanceObject.cs
    │   │   ├── EntityManager.EntityStatus.cs
    │   │   ├── EntityManager.ShowEntityInfo.cs
    │   │   ├── HideEntityCompleteEventArgs.cs
    │   │   ├── IEntity.cs
    │   │   ├── IEntityGroup.cs
    │   │   ├── IEntityGroupHelper.cs
    │   │   ├── IEntityHelper.cs
    │   │   ├── IEntityManager.cs
    │   │   ├── ShowEntityDependencyAssetEventArgs.cs
    │   │   ├── ShowEntityFailureEventArgs.cs
    │   │   ├── ShowEntitySuccessEventArgs.cs
    │   │   └── ShowEntityUpdateEventArgs.cs
    │   ├── Event
    │   │   ├── EventManager.cs
    │   │   ├── GameEventArgs.cs
    │   │   └── IEventManager.cs
    │   ├── FileSystem
    │   │   ├── CommonFileSystemStream.cs
    │   │   ├── FileInfo.cs
    │   │   ├── FileSystemAccess.cs
    │   │   ├── FileSystem.BlockData.cs
    │   │   ├── FileSystem.cs
    │   │   ├── FileSystem.HeaderData.cs
    │   │   ├── FileSystemManager.cs
    │   │   ├── FileSystemStream.cs
    │   │   ├── FileSystem.StringData.cs
    │   │   ├── IFileSystem.cs
    │   │   ├── IFileSystemHelper.cs
    │   │   └── IFileSystemManager.cs
    │   ├── Fsm
    │   │   ├── FsmBase.cs
    │   │   ├── Fsm.cs
    │   │   ├── FsmManager.cs
    │   │   ├── FsmState.cs
    │   │   ├── IFsm.cs
    │   │   └── IFsmManager.cs
    │   ├── GameFramework.csproj
    │   ├── Localization
    │   │   ├── ILocalizationHelper.cs
    │   │   ├── ILocalizationManager.cs
    │   │   ├── Language.cs
    │   │   └── LocalizationManager.cs
    │   ├── Network
    │   │   ├── AddressFamily.cs
    │   │   ├── INetworkChannel.cs
    │   │   ├── INetworkChannelHelper.cs
    │   │   ├── INetworkManager.cs
    │   │   ├── IPacketHandler.cs
    │   │   ├── IPacketHeader.cs
    │   │   ├── NetworkClosedEventArgs.cs
    │   │   ├── NetworkConnectedEventArgs.cs
    │   │   ├── NetworkCustomErrorEventArgs.cs
    │   │   ├── NetworkErrorCode.cs
    │   │   ├── NetworkErrorEventArgs.cs
    │   │   ├── NetworkManager.ConnectState.cs
    │   │   ├── NetworkManager.cs
    │   │   ├── NetworkManager.HeartBeatState.cs
    │   │   ├── NetworkManager.NetworkChannelBase.cs
    │   │   ├── NetworkManager.ReceiveState.cs
    │   │   ├── NetworkManager.SendState.cs
    │   │   ├── NetworkManager.TcpNetworkChannel.cs
    │   │   ├── NetworkManager.TcpWithSyncReceiveNetworkChannel.cs
    │   │   ├── NetworkMissHeartBeatEventArgs.cs
    │   │   ├── Packet.cs
    │   │   └── ServiceType.cs
    │   ├── ObjectPool
    │   │   ├── IObjectPool.cs
    │   │   ├── IObjectPoolManager.cs
    │   │   ├── ObjectBase.cs
    │   │   ├── ObjectInfo.cs
    │   │   ├── ObjectPoolBase.cs
    │   │   ├── ObjectPoolManager.cs
    │   │   ├── ObjectPoolManager.Object.cs
    │   │   ├── ObjectPoolManager.ObjectPool.cs
    │   │   └── ReleaseObjectFilterCallback.cs
    │   ├── Procedure
    │   │   ├── IProcedureManager.cs
    │   │   ├── ProcedureBase.cs
    │   │   └── ProcedureManager.cs
    │   ├── Properties
    │   │   └── AssemblyInfo.cs
    │   ├── Resource
    │   │   ├── ApplyResourcesCompleteCallback.cs
    │   │   ├── CheckResourcesCompleteCallback.cs
    │   │   ├── CheckVersionListResult.cs
    │   │   ├── Constant.cs
    │   │   ├── DecryptResourceCallback.cs
    │   │   ├── HasAssetResult.cs
    │   │   ├── ILoadResourceAgentHelper.cs
    │   │   ├── InitResourcesCompleteCallback.cs
    │   │   ├── IResourceGroupCollection.cs
    │   │   ├── IResourceGroup.cs
    │   │   ├── IResourceHelper.cs
    │   │   ├── IResourceManager.cs
    │   │   ├── LoadAssetCallbacks.cs
    │   │   ├── LoadAssetDependencyAssetCallback.cs
    │   │   ├── LoadAssetFailureCallback.cs
    │   │   ├── LoadAssetSuccessCallback.cs
    │   │   ├── LoadAssetUpdateCallback.cs
    │   │   ├── LoadBinaryCallbacks.cs
    │   │   ├── LoadBinaryFailureCallback.cs
    │   │   ├── LoadBinarySuccessCallback.cs
    │   │   ├── LoadBytesCallbacks.cs
    │   │   ├── LoadBytesFailureCallback.cs
    │   │   ├── LoadBytesSuccessCallback.cs
    │   │   ├── LoadResourceAgentHelperErrorEventArgs.cs
    │   │   ├── LoadResourceAgentHelperLoadCompleteEventArgs.cs
    │   │   ├── LoadResourceAgentHelperParseBytesCompleteEventArgs.cs
    │   │   ├── LoadResourceAgentHelperReadBytesCompleteEventArgs.cs
    │   │   ├── LoadResourceAgentHelperReadFileCompleteEventArgs.cs
    │   │   ├── LoadResourceAgentHelperUpdateEventArgs.cs
    │   │   ├── LoadResourceProgress.cs
    │   │   ├── LoadResourceStatus.cs
    │   │   ├── LoadSceneCallbacks.cs
    │   │   ├── LoadSceneDependencyAssetCallback.cs
    │   │   ├── LoadSceneFailureCallback.cs
    │   │   ├── LoadSceneSuccessCallback.cs
    │   │   ├── LoadSceneUpdateCallback.cs
    │   │   ├── LocalVersionList.cs
    │   │   ├── LocalVersionList.FileSystem.cs
    │   │   ├── LocalVersionList.Resource.cs
    │   │   ├── PackageVersionList.Asset.cs
    │   │   ├── PackageVersionList.cs
    │   │   ├── PackageVersionList.FileSystem.cs
    │   │   ├── PackageVersionList.Resource.cs
    │   │   ├── PackageVersionList.ResourceGroup.cs
    │   │   ├── PackageVersionListSerializer.cs
    │   │   ├── ReadOnlyVersionListSerializer.cs
    │   │   ├── ReadWriteVersionListSerializer.cs
    │   │   ├── ResourceApplyFailureEventArgs.cs
    │   │   ├── ResourceApplyStartEventArgs.cs
    │   │   ├── ResourceApplySuccessEventArgs.cs
    │   │   ├── ResourceManager.AssetInfo.cs
    │   │   ├── ResourceManager.cs
    │   │   ├── ResourceManager.LoadType.cs
    │   │   ├── ResourceManager.ReadWriteResourceInfo.cs
    │   │   ├── ResourceManager.ResourceChecker.CheckInfo.CheckStatus.cs
    │   │   ├── ResourceManager.ResourceChecker.CheckInfo.cs
    │   │   ├── ResourceManager.ResourceChecker.CheckInfo.LocalVersionInfo.cs
    │   │   ├── ResourceManager.ResourceChecker.CheckInfo.RemoteVersionInfo.cs
    │   │   ├── ResourceManager.ResourceChecker.cs
    │   │   ├── ResourceManager.ResourceGroupCollection.cs
    │   │   ├── ResourceManager.ResourceGroup.cs
    │   │   ├── ResourceManager.ResourceInfo.cs
    │   │   ├── ResourceManager.ResourceIniter.cs
    │   │   ├── ResourceManager.ResourceLoader.AssetObject.cs
    │   │   ├── ResourceManager.ResourceLoader.cs
    │   │   ├── ResourceManager.ResourceLoader.LoadAssetTask.cs
    │   │   ├── ResourceManager.ResourceLoader.LoadBinaryInfo.cs
    │   │   ├── ResourceManager.ResourceLoader.LoadDependencyAssetTask.cs
    │   │   ├── ResourceManager.ResourceLoader.LoadResourceAgent.cs
    │   │   ├── ResourceManager.ResourceLoader.LoadResourceTaskBase.cs
    │   │   ├── ResourceManager.ResourceLoader.LoadSceneTask.cs
    │   │   ├── ResourceManager.ResourceLoader.ResourceObject.cs
    │   │   ├── ResourceManager.ResourceNameComparer.cs
    │   │   ├── ResourceManager.ResourceName.cs
    │   │   ├── ResourceManager.ResourceUpdater.ApplyInfo.cs
    │   │   ├── ResourceManager.ResourceUpdater.cs
    │   │   ├── ResourceManager.ResourceUpdater.UpdateInfo.cs
    │   │   ├── ResourceManager.ResourceVerifier.cs
    │   │   ├── ResourceManager.ResourceVerifier.VerifyInfo.cs
    │   │   ├── ResourceManager.VersionListProcessor.cs
    │   │   ├── ResourceMode.cs
    │   │   ├── ResourcePackVersionList.cs
    │   │   ├── ResourcePackVersionList.Resource.cs
    │   │   ├── ResourcePackVersionListSerializer.cs
    │   │   ├── ResourceUpdateAllCompleteEventArgs.cs
    │   │   ├── ResourceUpdateChangedEventArgs.cs
    │   │   ├── ResourceUpdateFailureEventArgs.cs
    │   │   ├── ResourceUpdateStartEventArgs.cs
    │   │   ├── ResourceUpdateSuccessEventArgs.cs
    │   │   ├── ResourceVerifyFailureEventArgs.cs
    │   │   ├── ResourceVerifyStartEventArgs.cs
    │   │   ├── ResourceVerifySuccessEventArgs.cs
    │   │   ├── UnloadSceneCallbacks.cs
    │   │   ├── UnloadSceneFailureCallback.cs
    │   │   ├── UnloadSceneSuccessCallback.cs
    │   │   ├── UpdatableVersionList.Asset.cs
    │   │   ├── UpdatableVersionList.cs
    │   │   ├── UpdatableVersionList.FileSystem.cs
    │   │   ├── UpdatableVersionList.Resource.cs
    │   │   ├── UpdatableVersionList.ResourceGroup.cs
    │   │   ├── UpdatableVersionListSerializer.cs
    │   │   ├── UpdateResourcesCompleteCallback.cs
    │   │   ├── UpdateVersionListCallbacks.cs
    │   │   ├── UpdateVersionListFailureCallback.cs
    │   │   ├── UpdateVersionListSuccessCallback.cs
    │   │   └── VerifyResourcesCompleteCallback.cs
    │   ├── Scene
    │   │   ├── ISceneManager.cs
    │   │   ├── LoadSceneDependencyAssetEventArgs.cs
    │   │   ├── LoadSceneFailureEventArgs.cs
    │   │   ├── LoadSceneSuccessEventArgs.cs
    │   │   ├── LoadSceneUpdateEventArgs.cs
    │   │   ├── SceneManager.cs
    │   │   ├── UnloadSceneFailureEventArgs.cs
    │   │   └── UnloadSceneSuccessEventArgs.cs
    │   ├── Setting
    │   │   ├── ISettingHelper.cs
    │   │   ├── ISettingManager.cs
    │   │   └── SettingManager.cs
    │   ├── Sound
    │   │   ├── Constant.cs
    │   │   ├── ISoundAgent.cs
    │   │   ├── ISoundAgentHelper.cs
    │   │   ├── ISoundGroup.cs
    │   │   ├── ISoundGroupHelper.cs
    │   │   ├── ISoundHelper.cs
    │   │   ├── ISoundManager.cs
    │   │   ├── PlaySoundDependencyAssetEventArgs.cs
    │   │   ├── PlaySoundErrorCode.cs
    │   │   ├── PlaySoundFailureEventArgs.cs
    │   │   ├── PlaySoundParams.cs
    │   │   ├── PlaySoundSuccessEventArgs.cs
    │   │   ├── PlaySoundUpdateEventArgs.cs
    │   │   ├── ResetSoundAgentEventArgs.cs
    │   │   ├── SoundManager.cs
    │   │   ├── SoundManager.PlaySoundInfo.cs
    │   │   ├── SoundManager.SoundAgent.cs
    │   │   └── SoundManager.SoundGroup.cs
    │   ├── UI
    │   │   ├── CloseUIFormCompleteEventArgs.cs
    │   │   ├── IUIForm.cs
    │   │   ├── IUIFormHelper.cs
    │   │   ├── IUIGroup.cs
    │   │   ├── IUIGroupHelper.cs
    │   │   ├── IUIManager.cs
    │   │   ├── OpenUIFormDependencyAssetEventArgs.cs
    │   │   ├── OpenUIFormFailureEventArgs.cs
    │   │   ├── OpenUIFormSuccessEventArgs.cs
    │   │   ├── OpenUIFormUpdateEventArgs.cs
    │   │   ├── UIManager.cs
    │   │   ├── UIManager.OpenUIFormInfo.cs
    │   │   ├── UIManager.UIFormInstanceObject.cs
    │   │   ├── UIManager.UIGroup.cs
    │   │   └── UIManager.UIGroup.UIFormInfo.cs
    │   ├── Utility
    │   │   ├── Utility.Assembly.cs
    │   │   ├── Utility.Compression.cs
    │   │   ├── Utility.Compression.ICompressionHelper.cs
    │   │   ├── Utility.Converter.cs
    │   │   ├── Utility.cs
    │   │   ├── Utility.Encryption.cs
    │   │   ├── Utility.Json.cs
    │   │   ├── Utility.Json.IJsonHelper.cs
    │   │   ├── Utility.Marshal.cs
    │   │   ├── Utility.Path.cs
    │   │   ├── Utility.Random.cs
    │   │   ├── Utility.Text.cs
    │   │   ├── Utility.Text.ITextHelper.cs
    │   │   ├── Utility.Verifier.Crc32.cs
    │   │   └── Utility.Verifier.cs
    │   └── WebRequest
    │       ├── Constant.cs
    │       ├── IWebRequestAgentHelper.cs
    │       ├── IWebRequestManager.cs
    │       ├── WebRequestAgentHelperCompleteEventArgs.cs
    │       ├── WebRequestAgentHelperErrorEventArgs.cs
    │       ├── WebRequestFailureEventArgs.cs
    │       ├── WebRequestManager.cs
    │       ├── WebRequestManager.WebRequestAgent.cs
    │       ├── WebRequestManager.WebRequestTask.cs
    │       ├── WebRequestManager.WebRequestTaskStatus.cs
    │       ├── WebRequestStartEventArgs.cs
    │       └── WebRequestSuccessEventArgs.cs
    ├── GameFramework.sln
    ├── LICENSE.md
    └── README.md

32 directories, 334 files

标签: unity game mef 源码 引擎

实例下载地址

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警