System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及计算机,尤其涉及一种游戏编辑器代码处理方法、装置、电子设备及存储介质。
技术介绍
1、随着计算机技术的发展,出现了一种利用游戏开发引擎,例如,unity引擎进行游戏开发的技术,在游戏开发过程中,可以通过unity编辑器进行游戏启动,来测试游戏代码是否正确运行。而在unity编辑器下启动游戏的速度则通常较为缓慢,并且随着游戏的不断开发,代码量也随之增加,启动的速度也会越来越缓慢,
2、相关技术中,针对unity编辑器下游戏启动缓慢的问题,通常需要用户查看游戏编辑器中的开发代码,找出代码中的静态变量和静态事件进行重置,来提高游戏启动的效率。
3、然而,找出代码中静态变量和静态事件进行重置的过程缺乏一整套可行的解决方案,需要用户手动进行处理,因此现有的游戏编辑器代码处理不够智能。
技术实现思路
1、本公开提供一种游戏编辑器代码处理方法、装置、电子设备及存储介质,以至少解决相关技术中游戏编辑器代码处理不够智能的问题。本公开的技术方案如下:
2、根据本公开实施例的第一方面,提供一种游戏编辑器代码处理方法,包括:
3、获取游戏编辑器代码中的目标程序集,以及所述目标程序集关联的依赖程序集;
4、添加所述依赖程序集至所述目标程序集对应的语法树,构建所述目标程序集对应的语法解析器;
5、根据所述语法解析器,以及所述目标程序集对应的语法树,生成针对所述目标程序集的代码重写器;
6、通过所述代码重写器中的语义分
7、在一示例性实施例中,所述获取游戏编辑器代码中的目标程序集,以及所述目标程序集关联的依赖程序集,包括:获取所述游戏编辑器代码对应的游戏工程,以及所述游戏工程中包含的程序集;对所述游戏工程中包含的程序集进行过滤处理,得到所述目标程序集,并将所述游戏工程中包含的程序集中,除所述目标程序集以外的程序集,作为所述依赖程序集。
8、在一示例性实施例中,所述目标程序集对应的语法树由多个语法子树组成;所述根据所述语法解析器,以及所述目标程序集对应的语法树,生成针对所述目标程序集的代码重写器,包括:根据所述语法解析器,以及所述多个语法子树,生成所述语义分析模型;利用所述语义分析模型生成所述代码重写器;所述通过所述代码重写器中的语义分析模型识别出所述目标程序集对应的语法树中的节点内容,并在所述节点内容中包含待重置代码对象的情况下,对所述待重置代码对象进行重置处理,包括:通过所述代码重写器中的语义分析模型识别出各所述语法子树对应的节点内容,并在各所述语法子树对应的节点内容中包含所述待重置代码对象的情况下,对各所述待重置代码对象进行重置处理。
9、在一示例性实施例中,所述添加所述依赖程序集至所述目标程序集对应的语法树,构建所述目标程序集对应的语法解析器之前,还包括:获取所述目标程序集包含的程序代码,以及游戏编辑器对应的预编译宏;根据所述程序代码以及所述预编译宏,生成所述目标程序集对应的语法树。
10、在一示例性实施例中,所述获取游戏编辑器代码中的目标程序集,以及所述目标程序集关联的依赖程序集之前,还包括:在所述游戏编辑器代码正在通过游戏编辑器编写的情况下,通过与所述游戏编辑器关联的语法分析器识别出所述游戏编辑器代码对应的语法树,以及所述语法树中的节点内容;在所述语法分析器检测到所述节点内容中包含所述待重置代码对象的情况下,通过所述游戏编辑器关联的修复器对所述待重置代码对象进行重置处理。
11、在一示例性实施例中,所述游戏编辑器代码在所述游戏编辑器的代码编辑界面上展示;所述在所述语法分析器检测到所述节点内容中包含所述待重置代码对象的情况下,通过所述游戏编辑器关联的修复器对所述待重置代码对象进行重置处理,包括:在所述语法分析器检测到所述节点内容中包含所述待重置代码对象的情况下,在所述代码编辑界面上展示与所述待重置代码对象相匹配的通知信息;所述通知信息用于通知所述游戏编辑器代码的代码编写用户存在待重置代码对象;响应于所述代码编写用户针对所述待重置代码对象触发的重置操作,通过所述修复器对所述待重置代码对象进行重置处理。
12、在一示例性实施例中,在所述语法分析器检测到所述节点内容中包含所述待重置代码对象的情况下,所述代码编辑界面上还展示有用于对所述待重置代码对象进行修复的修复控件;所述响应于所述代码编写用户针对所述待重置代码对象触发的重置操作,通过所述修复器对所述待重置代码对象进行重置处理,包括:响应于所述代码编写用户针对所述修复控件的触发操作,通过所述修复器对所述待重置代码对象进行重置处理。
13、根据本公开实施例的第二方面,提供一种游戏编辑器代码处理方法,包括:
14、获取游戏编辑器代码对应的语法树,以及所述语法树中包含的节点内容;
15、在所述节点内容中包含待重置代码对象的情况下,对所述待重置代码对象进行重置处理;其中,所述待重置代码对象包括待重置的静态变量或静态事件中的至少一种。
16、根据本公开实施例的第三方面,提供一种游戏编辑器代码处理装置,包括:
17、程序集获取单元,被配置为执行获取游戏编辑器代码中的目标程序集,以及所述目标程序集关联的依赖程序集;
18、语法解析器构建单元,被配置为执行添加所述依赖程序集至所述目标程序集对应的语法树,构建所述目标程序集对应的语法解析器;
19、代码重写器生成单元,被配置为执行根据所述语法解析器,以及所述目标程序集对应的语法树,生成针对所述目标程序集的代码重写器;
20、代码对象重置单元,被配置为执行通过所述代码重写器中的语义分析模型识别出所述目标程序集对应的语法树中的节点内容,并在所述节点内容中包含待重置代码对象的情况下,对所述待重置代码对象进行重置处理;其中,所述待重置代码对象包括待重置的静态变量或静态事件中的至少一种。
21、在一示例性实施例中,程序集获取单元,进一步被配置为执行获取所述游戏编辑器代码对应的游戏工程,以及所述游戏工程中包含的程序集;对所述游戏工程中包含的程序集进行过滤处理,得到所述目标程序集,并将所述游戏工程中包含的程序集中,除所述目标程序集以外的程序集,作为所述依赖程序集。
22、在一示例性实施例中,所述目标程序集对应的语法树由多个语法子树组成;代码重写器生成单元,进一步被配置为执行根据所述语法解析器,以及所述多个语法子树,生成所述语义分析模型;利用所述语义分析模型生成所述代码重写器;代码对象重置单元,进一步被配置为执行通过所述代码重写器中的语义分析模型识别出各所述语法子树对应的节点内容,并在各所述语法子树对应的节点内容中包含所述待重置代码对象的情况下,对各所述待重置代码对象进行重置处理。
本文档来自技高网...
【技术保护点】
1.一种游戏编辑器代码处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述获取游戏编辑器代码中的目标程序集,以及所述目标程序集关联的依赖程序集,包括:
3.根据权利要求2所述的方法,其特征在于,所述目标程序集对应的语法树由多个语法子树组成;
4.根据权利要求2所述的方法,其特征在于,所述添加所述依赖程序集至所述目标程序集对应的语法树,构建所述目标程序集对应的语法解析器之前,还包括:
5.根据权利要求1所述的方法,其特征在于,所述获取游戏编辑器代码中的目标程序集,以及所述目标程序集关联的依赖程序集之前,还包括:
6.根据权利要求5所述的方法,其特征在于,所述游戏编辑器代码在所述游戏编辑器的代码编辑界面上展示;
7.根据权利要求6所述的方法,其特征在于,在所述语法分析器检测到所述节点内容中包含所述待重置代码对象的情况下,所述代码编辑界面上还展示有用于对所述待重置代码对象进行修复的修复控件;
8.一种游戏编辑器代码处理方法,其特征在于,包括:
9.一种游戏编辑器代码处
10.一种游戏编辑器代码处理装置,其特征在于,包括:
11.一种电子设备,其特征在于,包括:
12.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至8中任一项所述的游戏编辑器代码处理方法。
...【技术特征摘要】
1.一种游戏编辑器代码处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述获取游戏编辑器代码中的目标程序集,以及所述目标程序集关联的依赖程序集,包括:
3.根据权利要求2所述的方法,其特征在于,所述目标程序集对应的语法树由多个语法子树组成;
4.根据权利要求2所述的方法,其特征在于,所述添加所述依赖程序集至所述目标程序集对应的语法树,构建所述目标程序集对应的语法解析器之前,还包括:
5.根据权利要求1所述的方法,其特征在于,所述获取游戏编辑器代码中的目标程序集,以及所述目标程序集关联的依赖程序集之前,还包括:
6.根据权利要求5所述的方法,其特征在于,所述游戏编辑器代码在所述...
【专利技术属性】
技术研发人员:喻越,
申请(专利权)人:杭州弹指宇宙科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。