////////////////////
 // 由CodeGenerator创建。
 // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
 // author： gwang 
 // 日期: 2023-07-07 10:33:01
////////////////////

using System;
using System.Collections.Generic;

public partial class GameConfigData   
{
     /// <summary>
    /// 指示这是一个模块属性
    /// </summary>
    partial class sm_modPropAttribute : Attribute
    {
    }

    /// <summary>
    /// 全局参数
    /// </summary>
    [sm_modProp]
    public globalsettings globalsettings => _globalsettings ??= data.TryGetValue("globalsettings", out var jtk) ? jtk.ToObject<globalsettings>() : default;
    private globalsettings _globalsettings = null;


    /// <summary>
    /// 任务 key(typeId)
    /// </summary>
    [sm_modProp]
    public Dictionary<Int32, sm_task> task => _task ??= data.TryGetValue("task", out var jtk) ? jtk.ToObject<Dictionary<Int32, sm_task>>() : default;
    private Dictionary<Int32, sm_task> _task = null;


    /// <summary>
    /// 任务
    /// </summary>
    public Func<Int32, sm_task> GettaskMo = key => _moGetById<Int32, sm_task>(key, Ins.task, "task");
    /// <summary>
    /// 国际化文本 key(tid)
    /// </summary>
    [sm_modProp]
    public Dictionary<String, sm_localtexts> localtexts => _localtexts ??= data.TryGetValue("localtexts", out var jtk) ? jtk.ToObject<Dictionary<String, sm_localtexts>>() : default;
    private Dictionary<String, sm_localtexts> _localtexts = null;


    /// <summary>
    /// 国际化文本
    /// </summary>
    public Func<String, sm_localtexts> GetlocaltextsMo = key => _moGetById<String, sm_localtexts>(key, Ins.localtexts, "localtexts");
    /// <summary>
    /// 停服计划 key(id)
    /// </summary>
    [sm_modProp]
    public Dictionary<Int32, sm_service_schedule> service_schedule => _service_schedule ??= data.TryGetValue("service_schedule", out var jtk) ? jtk.ToObject<Dictionary<Int32, sm_service_schedule>>() : default;
    private Dictionary<Int32, sm_service_schedule> _service_schedule = null;


    /// <summary>
    /// 停服计划
    /// </summary>
    public Func<Int32, sm_service_schedule> Getservice_scheduleMo = key => _moGetById<Int32, sm_service_schedule>(key, Ins.service_schedule, "service_schedule");
    /// <summary>
    /// 任务步骤 key(id)
    /// </summary>
    [sm_modProp]
    public Dictionary<Int32, sm_task_step> task_step => _task_step ??= data.TryGetValue("task_step", out var jtk) ? jtk.ToObject<Dictionary<Int32, sm_task_step>>() : default;
    private Dictionary<Int32, sm_task_step> _task_step = null;


    /// <summary>
    /// 任务步骤
    /// </summary>
    public Func<Int32, sm_task_step> Gettask_stepMo = key => _moGetById<Int32, sm_task_step>(key, Ins.task_step, "task_step");
    /// <summary>
    /// 客户端版本信息 key(ver)
    /// </summary>
    [sm_modProp]
    public Dictionary<String, sm_clientVersionHistory> clientVersionHistory => _clientVersionHistory ??= data.TryGetValue("clientVersionHistory", out var jtk) ? jtk.ToObject<Dictionary<String, sm_clientVersionHistory>>() : default;
    private Dictionary<String, sm_clientVersionHistory> _clientVersionHistory = null;


    /// <summary>
    /// 客户端版本信息
    /// </summary>
    public Func<String, sm_clientVersionHistory> GetclientVersionHistoryMo = key => _moGetById<String, sm_clientVersionHistory>(key, Ins.clientVersionHistory, "clientVersionHistory");
    /// <summary>
    /// 错误信息表 key(no)
    /// </summary>
    [sm_modProp]
    public Dictionary<Int32, sm_errmsg> errmsg => _errmsg ??= data.TryGetValue("errmsg", out var jtk) ? jtk.ToObject<Dictionary<Int32, sm_errmsg>>() : default;
    private Dictionary<Int32, sm_errmsg> _errmsg = null;


    /// <summary>
    /// 错误信息表
    /// </summary>
    public Func<Int32, sm_errmsg> GeterrmsgMo = key => _moGetById<Int32, sm_errmsg>(key, Ins.errmsg, "errmsg");
    /// <summary>
    /// 活动: 七日签到 key(day)
    /// </summary>
    [sm_modProp]
    public Dictionary<Int32, sm_activity_day7> activity_day7 => _activity_day7 ??= data.TryGetValue("activity_day7", out var jtk) ? jtk.ToObject<Dictionary<Int32, sm_activity_day7>>() : default;
    private Dictionary<Int32, sm_activity_day7> _activity_day7 = null;


    /// <summary>
    /// 活动: 七日签到
    /// </summary>
    public Func<Int32, sm_activity_day7> Getactivity_day7Mo = key => _moGetById<Int32, sm_activity_day7>(key, Ins.activity_day7, "activity_day7");
    /// <summary>
    /// 公共兑换码 key(tokenCode)
    /// </summary>
    [sm_modProp]
    public Dictionary<String, sm_token_PublicGift> token_PublicGift => _token_PublicGift ??= data.TryGetValue("token_PublicGift", out var jtk) ? jtk.ToObject<Dictionary<String, sm_token_PublicGift>>() : default;
    private Dictionary<String, sm_token_PublicGift> _token_PublicGift = null;


    /// <summary>
    /// 公共兑换码
    /// </summary>
    public Func<String, sm_token_PublicGift> Gettoken_PublicGiftMo = key => _moGetById<String, sm_token_PublicGift>(key, Ins.token_PublicGift, "token_PublicGift");
    /// <summary>
    /// 活动: 体力加油站 key(id)
    /// </summary>
    [sm_modProp]
    public Dictionary<Int32, sm_activity_tiligift> activity_tiligift => _activity_tiligift ??= data.TryGetValue("activity_tiligift", out var jtk) ? jtk.ToObject<Dictionary<Int32, sm_activity_tiligift>>() : default;
    private Dictionary<Int32, sm_activity_tiligift> _activity_tiligift = null;


    /// <summary>
    /// 活动: 体力加油站
    /// </summary>
    public Func<Int32, sm_activity_tiligift> Getactivity_tiligiftMo = key => _moGetById<Int32, sm_activity_tiligift>(key, Ins.activity_tiligift, "activity_tiligift");
    /// <summary>
    /// 活动: 等级礼包 key(id)
    /// </summary>
    [sm_modProp]
    public Dictionary<Int32, sm_activity_levelgift> activity_levelgift => _activity_levelgift ??= data.TryGetValue("activity_levelgift", out var jtk) ? jtk.ToObject<Dictionary<Int32, sm_activity_levelgift>>() : default;
    private Dictionary<Int32, sm_activity_levelgift> _activity_levelgift = null;


    /// <summary>
    /// 活动: 等级礼包
    /// </summary>
    public Func<Int32, sm_activity_levelgift> Getactivity_levelgiftMo = key => _moGetById<Int32, sm_activity_levelgift>(key, Ins.activity_levelgift, "activity_levelgift");
    /// <summary>
    /// 当前版本(时间戳)
    /// </summary>
    [sm_modProp]
    public String ver => _ver ??= data.TryGetValue("ver", out var jtk) ? jtk.ToObject<String>() : default;
    private String _ver = null;

}

