//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

using Luban;
using System.Text.Json;


namespace cfg.ai
{
public sealed partial class BlackboardKey : Luban.BeanBase
{
    public BlackboardKey(JsonElement _buf) 
    {
        Name = _buf.GetProperty("name").GetString();
        Desc = _buf.GetProperty("desc").GetString();
        IsStatic = _buf.GetProperty("is_static").GetBoolean();
        Type = (ai.EKeyType)_buf.GetProperty("type").GetInt32();
        TypeClassName = _buf.GetProperty("type_class_name").GetString();
    }

    public static BlackboardKey DeserializeBlackboardKey(JsonElement _buf)
    {
        return new ai.BlackboardKey(_buf);
    }

    public readonly string Name;
    public readonly string Desc;
    public readonly bool IsStatic;
    public readonly ai.EKeyType Type;
    public readonly string TypeClassName;
   
    public const int __ID__ = -511559886;
    public override int GetTypeId() => __ID__;

    public  void ResolveRef(Tables tables)
    {
        
        
        
        
        
    }

    public override string ToString()
    {
        return "{ "
        + "name:" + Name + ","
        + "desc:" + Desc + ","
        + "isStatic:" + IsStatic + ","
        + "type:" + Type + ","
        + "typeClassName:" + TypeClassName + ","
        + "}";
    }
}

}