unity任务系统

读取策划配置表

一般策划都是通过EXCEL来配置,如下图所示:
在这里插入图片描述

Unity读取EXCEL

游戏中并不是直接读取Excel配置,实际项目中一般都是将Excel转为xmljsonlua或自定义的文本格式的配置,这样不会让Excel打包时占据额外空间。

对于 Json格式,在 Excel中能够安装额外的插件,直接导出为 Json格式,当然也可以用 Python批量化处理,这里不赘述

读取json

我们将json文件都放入Resource文件夹中。但一般不推荐按这样做,因为Resource文件夹只读,而且打包时会全部进行压缩后打包。建议将资源打成AssetBundle放在StreamingAssets目录或服务器中,方便热更资源

string txt = Resources.Load<TextAsset>("task_cfg").text;

引入LitJson能帮助我们更好的配置 地址:https://hub.fastgit.org/LitJSON/litjson

使用时引入命名空间: using LitJson;

任务配置读取

LitJson提供了一个JsonMapper.ToObject<T>(jsonString)方法,可以直接将json字符串转为类对象,前提是类的字段名要与json的字段相同

/// <summary>
/// 任务配置结构
/// </summary>
public class TaskCfgItem
{
   
    public int task_chain_id;
    public int task_sub_id;
    public string icon;
    public string desc;
    public string task_target;
    public int target_amount;
    public string award;
    public string open_chain;
}

public class TaskCfg
{
   
	// 任务配置,(链id : 子任务id : TaskCfgItem)
	private Dictionary<int, Dictionary<int, TaskCfgItem>> m_cfg;
    
    // 单例模式
    private static TaskCfg s_instance;
    public static TaskCfg instance
    {
   
        get
        {
   
            if (s_instance == null)
                s_instance 
### Unity任务系统插件推荐 对于希望在Unity项目中实现任务系统的开发者而言,有多种插件可供选择。这些工具能够简化开发流程并提高效率。 #### LitJson LitJson是一个轻量级的JSON库,可以辅助创建灵活的任务系统[^4]。通过使用此库,开发者可以在不修改代码的情况下调整任务参数和逻辑。这使得游戏中的任务更加动态化,并且便于维护和更新。 ```csharp using LitJson; // 加载任务数据文件 string jsonData = File.ReadAllText("tasks.json"); JsonData tasksData = JsonMapper.ToObject(jsonData); ``` #### Dialogue System for Unity与Love/Hate组合 由同一团队开发的一组插件——Dialogue System for Unity 和 Love/Hate 可以为构建复杂而丰富的剧情驱动型任务提供强有力的支持[^2]。前者专注于对话管理,后者则允许玩家行为影响NPC态度变化,两者结合可创造出高度互动性的故事情节体验。 - **特点** - 不需编写额外代码即可完成大部分设置工作; - 提供大量预设组件如`FactionMember`等方便自定义关系网; 这种无代码解决方案非常适合那些想要快速迭代原型或不具备深厚编程背景的游戏设计师们尝试。 #### uMMORPG插件包内含任务模块 uMMORPG是一款专为大型多人在线角色扮演游戏(MMORPG)打造的基础框架,在其官方文档中提到该套件也包含了完整的任务管理系统[^3]。它不仅支持基本的任务发布、追踪等功能,还具备跨服务器同步能力以及奖励发放机制等高级特性,特别适合大型联网项目的应用需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值