Unity RGP游戏XML解析之NPC对话系统

前言:

    市场很多RGP游戏,无论是手游还是网游,而RGP游戏重要的一部分就是剧情,玩家与NPC的对话系统,今天就来给大家讲解一下Unity的XML解析之NPC对话系统。下面我们来看一个案例。

第一步:

  我们来写一个XML文件:如下        

Unity RGP游戏XML解析之NPC对话系统_第1张图片

第二步:

 我们对上面的XML文档根据ID进行解析:首先我们做了一个单例,方面NPC对话类,对解析内容的调用。然后我们创建两个List集合,分别用来存储解析出来的玩家和NPC对话的内容文本。

Unity RGP游戏XML解析之NPC对话系统_第2张图片

解析方法:我们根据NPC的id,在这里我们可以理解为NPC的“等级”,因为后面我会讲解到当玩家等级和NPC的ID相等时,显示出与玩家等级相对应的对话(一个NPC有多段对话时)

Unity RGP游戏XML解析之NPC对话系统_第3张图片

第三步:我们来写NPC对话类

当我们的玩家与NPC触发时,我们判断玩家与NPC的等级,如果等级相等的话,我们首先调用XML解析方法,然后把NPC的对话面板显示出来,激活对话。为了防止多次触发,当等级相等时,我们把玩家的导航停止。对话完成时,在激活导航。如果不相等当然不能对话了。(在此小郭我没有做任何处理)

Unity RGP游戏XML解析之NPC对话系统_第4张图片


Unity RGP游戏XML解析之NPC对话系统_第5张图片


Unity RGP游戏XML解析之NPC对话系统_第6张图片


Unity RGP游戏XML解析之NPC对话系统_第7张图片

第四部:UI相关设置展示


Unity RGP游戏XML解析之NPC对话系统_第8张图片
UI面板展示


Unity RGP游戏XML解析之NPC对话系统_第9张图片
npc属性面板展示

第五步:我们来看一下运行成果吧




第六步:注意事项

注意事项:一:此演示是玩家行走用的导航。

                  二:玩家有Rigidbody和Collider属性

                  三:玩家要有触发器哦

你可能感兴趣的:(Unity RGP游戏XML解析之NPC对话系统)