public SkillEffectDefine GetSkillEffectByID(int ID, SkillEffectDefine def = default(SkillEffectDefine))
        {
            SkillEffectDefine ret;

            if (_SkillEffectByID.TryGetValue(ID, out ret))
            {
                return(ret);
            }

            if (def == default(SkillEffectDefine))
            {
                TableLogger.ErrorLine("GetSkillEffectByID failed, ID: {0}", ID);
            }

            return(def);
        }
        public static void Deserialize(SkillEffectDefine ins, tabtoy.DataReader reader)
        {
            int tag = -1;

            while (-1 != (tag = reader.ReadTag()))
            {
                switch (tag)
                {
                case 0x10000:
                {
                    ins.ID = reader.ReadInt32();
                }
                break;

                case 0x60001:
                {
                    ins.Desc = reader.ReadString();
                }
                break;

                case 0x10002:
                {
                    ins.EffectType = reader.ReadInt32();
                }
                break;

                case 0x10003:
                {
                    ins.Duration = reader.ReadInt32();
                }
                break;

                case 0x60004:
                {
                    ins.Prefab = reader.ReadString();
                }
                break;
                }
            }
        }