原标题:游戏开发框架设计规则!
目的
现在看起来复杂,执行效率看起来很低,但是方便以后维护的代码:
publicclassGameEvent{//全局变量事件publicconstintON_COIN_OVER_100 = 1; }
publicclassGameCoreSystem{privateintm_Coin;
privatevoidUpdate( ) {//...//每获得100金币触发成就事件if(m_Coin++ > 100) {m_Coin = 0; EventManager.instance.Invoke(GameEvent.ON_COIN_OVER_100);}}}
publicclassAchievementManager{publicAchievementManager( ) {//注册"获得成就"的事件EventManager.instance.RegEvent(GameEvent.ON_COIN_OVER_100).trigger += OnAchieved;}
privatevoidOnAchieved( objectsender, objectreciever, object[] args ) {//获得成就后的逻辑varachievementUid = ( int)args[ 0]; if(achievementUid == GameEvent.ON_COIN_OVER_100) {//...}}
~AchievementManager{//随着成就系统内存释放,去掉注册事件EventManager.instance.RegEvent(GameEvent.ON_COIN_OVER_100).trigger -= OnAchieved;}}
publicclassGameAudioSystem: AudioManager{protectedoverridevoidOnInit( ) {//在音频系统注册"获得成就"的事件EventManager.instance.RegEvent(GameEvent.ON_COIN_OVER_100).trigger += OnTrigger;}
privatevoidOnTrigger( objectsender, objectreciever, object[] args ) {//实现逻辑PlayOneShot( "sfx_button_enter"); }
privatevoidOnDestroy( ) {//随着音频系统内存释放,去掉注册事件EventManager.instance.RegEvent(GameEvent.ON_COIN_OVER_100).trigger -= OnTrigger;}}
高内聚: internal和Assembly Definition 综述
internalNote( int_tick, byte_noteDataUid ) {tick = _tick;noteDataUid = _noteDataUid;}}
privateNativeArray<Note> m_Notes;
privatereadonlyNoteDataSystem m_NoteDataSystem;
privatereadonlyNoteTickSystem m_NoteTickSystem;
internalstaticNoteSystem instance;
publicNoteSystem( ) {instance = this; m_NoteDataSystem = newNoteDataSystem; m_NoteTickSystem = newNoteTickSystem; }...
NoteDataSystem
privateList< string> GetStrings( intnumber, List< string> list ) {...}
internalNoteData( byte_uid, byte_type, uint_score, uint_hp, uint_mp, uint_damage, byte_audio, byte_effect, int_bmss, int_renderer ) {...}
internalvoidSetNoteData( stringbms, stringscene ) {...} }
privateNativeArray<NoteData> m_NoteDatas; ...
internalNoteDataSystem( ) {...}
internalNoteData GetNoteData( stringbms, stringscene ) {...}
internalNoteData GetNoteData( byteuid ) {...}
~NoteDataSystem {...}}
NoteTickSystem
internalNoteTick( byte_uid, byte_offset, bool_isLeft ) {uid = _uid;offset = _offset;isLeft = _isLeft;}}
privateDictionary< int, NativeArray<NoteTick>> m_NoteTicks;
internalNoteTickSystem( ) {}
internalvoidSetup( NativeArray<NoteSystem.Note> notes) {Debug.Log( "NoteTickSystem Setup!"); }
internalNativeArray<NoteTick> GetNoteTicks( inttick ) {returnm_NoteTicks[tick]; }...
publicGameCoreSystem( ) {m_NoteSystem = newNoteSystem; }...
PeroTools2
internal staticT instance {get{if(s_Instance == null) {s_Instance = newT; Singleton.Init(s_Instance);}returns_Instance; }}
publicvoidReset{Singleton.Destroy(s_Instance);s_Instance = default; }}
publicclassSingleton<T> : SingletonInternal<T> where T : new{publicnewstaticT instance => SingletonInternal<T>.instance; }
privatevoidOnTrigger( objectsender, objectreciever, object[] args ) {PlayOneShot( "sfx_button_enter"); }
privatevoidOnDestroy( ) {EventManager.instance.RegEvent(GameEvent.ON_COIN_OVER_100).trigger -= OnTrigger;}}
其他 Unity如何创建程序集
来源:Muse Dash主程,peropero技术渣渣担当游戏网
责任编辑:
相关下载 |
【导读】“只有在一个游戏完善到一定程度时,讨论硬核才有意义”。--> 2月7日,steam商店上架了一款独立游戏——《Stoneshard》详情>>
大家好,欢迎阅读234游戏的小编带来的游戏资讯,这一篇小编将跟大家分享一下《撞头赛车——这游戏手残党也能玩得风生水起!》的相关视频,快跟着234游戏的小编一起来看看详情>>
大家好,欢迎阅读234游戏的小编带来的游戏资讯,这一篇小编将跟大家分享一下《撞头赛车——这游戏比的是谁的头铁!》的相关视频,快跟着234游戏的小编一起来看看吧!详情>>
又到了大家最爱的喜加一时间了,Epic本周送出探索飞行游戏《InnerSpace》,领取时间为即日至3月6日。下周Epic将送出平台游戏《GoNNER》和RTS游戏《外详情>>
原标题:找回主机游戏仪式感!腾讯黑鲨游戏手机3 Pro竟搭载机械游戏按键 自2020年2月24日腾讯黑鲨游戏手机3正式官宣以来,黑鲨科技不断的放出了关于黑详情>>
大家好,我是X博士。 一直以来靠着炒冷饭而闻名天下的卡婊,这几年凭借一波高质量的MHW和生化2重制口碑彻底翻身,直接变身成大家的“婊贝”。 它不详情>>
日前,港交所披露了九尊数字互娱集团控股有限公司通过上市聆讯的招股书。资料显示,九尊互娱首次递交港股主板的上市申请时间是2018年3月,该申请失效后详情>>
原标题:苹果严查游戏版号 国内中小游戏公司又要倒一批? 外汇天眼APP讯 : 近日,有国内开发商发现,苹果中国推送“上架游戏需有批文号(下称版号)”的新规详情>>
原标题:奥特曼的游戏要来了?国外媒体透露,白金新款游戏或是光之巨人 对于经常玩游戏或者了解游戏的朋友来说,相信都应该知道白金工作室吧,白金工作室成详情>>
哈喽,小朋友们好,快来看看今天数元王国的---君君老师给大家带来的是什么好玩的手指游戏呢? 请出你的小手,一起来玩吧! 两只老虎 徐工数元 shu详情>>
游戏是现实生活中每个人都会接触到的东西,不过现在还被大家认为游戏是不务正业的象征,其实不然,游戏能够很好的放松心情,让我们更加活跃一点。在动漫详情>>
原标题:新一批游戏版号下发,玩家激增赛事停办,疫情对游戏行业的五大影响 自新冠疫情爆发以来,各行各业都受到了巨大的影响。游戏行业由于自身的特殊性详情>>
原标题:4个游戏人在家办公的第25天 疫情在继续,生活,也在继续。 三个月,疫情从首例确认到扩散至今已经持续三个月了。截止2月25日,全国确诊77779例,死亡详情>>
原标题:热血传奇:游戏官方奇葩做法,外挂融入游戏没想到成为经典操作 外挂一直都是各大网游最为抵制的,很多网游都是因为外挂的侵扰导致游戏没落。在当详情>>
37网游旗下,2D动漫轻武侠37《杯莫停》为你演绎全新江湖世界。仗剑红尘,豪气干云,360度全自由开放武侠世界,带你领略荡气回肠的江湖冒险。莫负生平志,冠盖满京华,全新英雄系详情>>
游戏推荐60秒:《Artifact》刀牌正式解锁上线抖音游戏 游戏 steam游戏 详情>>
【导读】卡普空的《洛克人Zero/ZX遗产合集(Mega Man Zero/ZX Legacy Collection)》即将于2月26日正式发售,媒体评分也是陆续公布。今日(2月25日),IGN为其打出8分,表示《洛克人Zero/详情>>
原标题:xCloud游戏阵容新增5款游戏 包含《瘟疫传说:无罪》 微软旗下云游戏服务Project xCloud进入测试阶段已有一段时间,从xCloud Preview服务开启到详情>>
原标题:成果小号更新动态分享游戏趣事 期待明日上线的游戏女孩 今日,成果小号更新一条动态,分享了自己打游戏时发生的趣事。成果在微博中透露了自己详情>>
原标题:53款游戏版号下发 2019已过审1468款游戏 | 矩阵一周记 | 业界动态 ◢中宣部:2019年过审1468款游戏 四个要求 五点建议 12月18日至19日,由国家新闻出版详情>>
2020年,中国游戏市场正发生翻天覆地的变化,对234游戏网来说既是机遇又是挑战。 234游戏网是一个专业的手游、网游、单机游戏下载网站,精选最新游戏热门排行榜,发布一手游戏资讯详情>>
原标题:黑鲨游戏手机宣布品牌升级 无惧一切挑战创造不止游戏 【手机中国新闻】今日上午,黑鲨游戏手机官方正式宣布,首款5G游戏手机腾讯黑鲨游戏手机3详情>>
大家好,欢迎阅读234游戏的小编带来的游戏资讯,上一篇小编分享了一下《《微软飞行模拟》最新爆料,包含约3.7万个机场!》的相关讯息,这一篇小编将跟大家分享一下《游戏续作《坎巴拉详情>>
大家好,欢迎阅读234游戏的小编带来的游戏资讯,上一篇小编分享了一下《B社已于GeForce Now撤下大部分游戏,如今仅剩《德军总部:新血脉》!》的相关讯息,这一篇小编将跟大家分享一下详情>>
【导读】近日,《影子武士》开发商Flying Wild Hog CEO在接受采访时透露,目前有三个未公布的游戏正在开发,其中有两个会在今年公布。第三款作品将是“一个原创的动作游戏,有着非详情>>
大家好,欢迎阅读234游戏的小编带来的游戏资讯,上一篇小编分享了一下《《夜行侦探:重生恐惧》将于本月27日推出Switch版本!》的相关讯息,这一篇小编将跟大家分享一下《游戏《星际详情>>
原标题:黑鲨宣布品牌升级!创造不止游戏的黑鲨游戏手机3不远了 相比主流的智能手机,游戏手机则是比较年轻的手机系列,首款黑鲨游戏手机到现在也就不到详情>>
2020.02.22 星期六 1 《集合啦!动物森友会》公布新视频展示游戏细节 任天堂在最近一次直面会上公布了《集合啦!动物森友会》的大量新内容,今天详情>>
导 读 该死的混蛋游戏下载。该死的混蛋游戏是一款风格清奇的格斗游戏,感受顶尖的战斗闯关乐趣,下面小编就给大家带来了《该死的混蛋》游戏下载介绍,感兴趣的小伙伴快来下载吧~详情>>
大家好,欢迎阅读234游戏的小编带来的游戏资讯,这一篇小编将跟大家分享一下《三大赛车游戏对比——地平线4、飙酷车神2、极品飞车21,画质体验操作评测》的相关视频,快详情>>
【导读】任天堂在近日举办了一场《动物之森:新地平线》的直面会,为玩家展示了大量内容,美国任天堂官网在今天上传了大量的游戏片段,将游戏中的细节部分全方位的展示给了玩家。--详情>>
【导读】最近英伟达的云游戏平台似乎发展并不是很顺利,继暴雪游戏下架之后,B社也要求NVIDIA从云游戏平台GeForce Now上撤下他们的大部分游戏。这样一来,B社的游戏唯一还在的仅详情>>
【导读】重生娱乐(Respawn Entertainment)这家总部位于美国的视频游戏工作室主要以开发FPS而闻名。作为CEO,Vince Zampella对于自家工作室被定位为FPS游戏开发者而感到沮丧。近详情>>
原标题:Respawn CEO表示自家游戏需要更加多样化 在玩家看来,Respawn Entertainment似乎因为开发各种FPS游戏而赢得了声誉。这家总部位于美国的视频详情>>
在去年的德国科隆游戏展上,航天模拟游戏《坎巴拉太空计划2》正式公布。之后本作除了跳票就没有其他消息放出。据pcgamer报道,该作的开发将由Take-Two详情>>
早晨睁眼便查看疫情最新动态、戴好口罩才外出、出入小区出示出行卡已成为我的习惯,这都源于12月便初现苗头的新冠状病毒肺炎,在这场全民抗“疫”战斗详情>>