数据驱动的游戏系统功能加载方法、设备及存储介质技术方案

技术编号:27955506 阅读:25 留言:0更新日期:2021-04-06 13:45
本申请实施例提供一种数据驱动的游戏系统功能加载方法、设备及存储介质。系统的源文件包含多个存放有行为单元的类,每个类具有类描述;在加载游戏的场景管理功能时,根据外部输入的数据(即配置数据)决定调用哪些类中的成员方法来创建场景管理单元,可基于外部数据确定游戏系统场景管理逻辑,实现了游戏系统的数据驱动。在系统的行为由外部输入的数据决定的前提下,可通过改变外部输入的数据来改变游戏系统的运行行为,实现新的系统功能,提升系统的易用性和可复用性。

【技术实现步骤摘要】
数据驱动的游戏系统功能加载方法、设备及存储介质
本申请涉及互联网
,尤其涉及一种数据驱动的游戏系统功能加载方法、设备及存储介质。
技术介绍
一个大型系统,需要组织和管理大量的数据,并需要对相应的数据采用对应的行为进行处理。通常,相似的数据或在一个行为中需要使用的数据,会被组织在一起。系统基于数据执行某一功能时,需要找到与数据对应的行为,并对数据执行这些行为。在大型的系统中,如何处理被共用的数据和行为,并为数据和行为创建合理的关联方式,是提升系统性能的关键环节。在一种常用的现有技术中,将共用数据和行为分别抽取为单元,并基于单元组合的方式实现不同的系统功能。但是,这种方式中,被抽取的单元不直接面向系统功能,可读性和易用性较差。同时,行为单元和数据单元的耦合性较高,不利于提升系统的内聚性。因此,有待提出一种新的解决方案。
技术实现思路
本申请的多个方面提供一种数据驱动的游戏系统功能加载方法、设备及存储介质,用以提升系统的内聚性和系统代码的可复用性。本申请实施例提供一种数据驱动的游戏系统场景管理功能加载方法,所本文档来自技高网...

【技术保护点】
1.一种数据驱动的游戏系统功能加载方法,其特征在于,所述游戏系统的源文件包含:多个类,每个类具有类描述;所述多个类中,用于存放行为单元的类以及用于存放数据单元的类相互解耦;所述方法包括:/n获取所述游戏系统的配置数据,所述配置数据包含待加载的场景管理功能对应的场景管理单元的标识;/n基于反射机制,从已注册的类描述中,确定与所述场景管理单元的标识对应的第一目标类的类描述;/n根据所述第一目标类的类描述,从所述第一目标类中查询所述场景管理单元对应的成员方法;/n调用所述场景管理单元对应的成员方法,在所述游戏系统的内存中创建所述场景管理单元,以基于所述配置数据对所述游戏系统的场景管理功能进行驱动。/...

【技术特征摘要】
1.一种数据驱动的游戏系统功能加载方法,其特征在于,所述游戏系统的源文件包含:多个类,每个类具有类描述;所述多个类中,用于存放行为单元的类以及用于存放数据单元的类相互解耦;所述方法包括:
获取所述游戏系统的配置数据,所述配置数据包含待加载的场景管理功能对应的场景管理单元的标识;
基于反射机制,从已注册的类描述中,确定与所述场景管理单元的标识对应的第一目标类的类描述;
根据所述第一目标类的类描述,从所述第一目标类中查询所述场景管理单元对应的成员方法;
调用所述场景管理单元对应的成员方法,在所述游戏系统的内存中创建所述场景管理单元,以基于所述配置数据对所述游戏系统的场景管理功能进行驱动。


2.根据权利要求1所述的方法,其特征在于,所述场景管理单元包括:二叉树场景管理单元、四叉树场景管理单元或者八叉树场景管理单元。


3.根据权利要求1所述的方法,其特征在于,调用所述场景管理单元对应的成员方法,在所述游戏系统的内存中创建所述场景管理单元之前,还包括:
确定所述游戏系统所需的场景数据单元的标识;
基于反射机制,根据所述场景数据单元的标识,确定所述场景数据单元所在的第二目标类的类描述;
根据所述第二目标类的类描述,访问资源文件中的所述第二目标类,得所述场景数据单元;
将所述场景数据单元加载到内存中供所述场景管理单元使用,以基于所述场景数据单元对所述游戏系统的场景管理功能进行驱动。


4.根据权利要求1所述的方法,其特征在于,还包括:
响应编辑器的编辑操作,确定待编辑的场景数据单元的标识;
根据所述待编辑的场景数据单元的标识,确定所述待编辑的场景数据单元所在的第三目标类的类描述;
基于反射机制,根据所述第三目标类的类描述,从所述第三目标类中,确定与所述待编辑的场景数据单元对应的成员变量;
根据所述成员变量,对所述编辑器的代码模板中的编辑对象赋值,得到所述待编辑的场景数据单元的编辑代码;
运行所述待编辑的场景数据单元的编辑代码,生成所述待编辑的场景数据单元的编辑面板,以供用户对所述待编辑的...

【专利技术属性】
技术研发人员:李荣华孙培文池婧雯
申请(专利权)人:完美世界北京软件科技发展有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1