Esempio n. 1
0
        /**
         * @brief 提取数据
         *
         * @param node
         *
         * @return
         */
        public bool CollectDataFromDBC(DBC_Row node)
        {
            ImpactId          = DBCUtil.ExtractNumeric <int>(node, "Id", -1, true);
            ImpactLogicId     = DBCUtil.ExtractNumeric <int>(node, "LogicId", -1, true);
            ImpactGfxLogicId  = DBCUtil.ExtractNumeric <int>(node, "GfxLogicId", -1, true);
            ImpactDescription = DBCUtil.ExtractString(node, "Description", "", false);
            ImpactType        = DBCUtil.ExtractNumeric <int>(node, "ImpactType", -1, true);
            BreakSuperArmor   = DBCUtil.ExtractBool(node, "BreakSuperArmor", false, false);
            BreakParry        = DBCUtil.ExtractBool(node, "BreakParry", false, false);
            IgnoreBlock       = DBCUtil.ExtractBool(node, "IgnoreBlock", true, false);
            TargetFigure      = DBCUtil.ExtractNumericList <int>(node, "TargetFigure", 0, false);
            ImpactTime        = DBCUtil.ExtractNumeric <int>(node, "ImpactTime", -1, false);
            BuffDataId        = DBCUtil.ExtractNumeric <int>(node, "BuffDataId", -1, false);
            MaxRank           = DBCUtil.ExtractNumeric <int>(node, "MaxRank", -1, false);
            AnimationInfo     = DBCUtil.ExtractString(node, "AnimationInfo", "", false);
            LockFrameInfo     = DBCUtil.ExtractString(node, "LockFrameInfo", "", false);
            CurveMoveInfo     = DBCUtil.ExtractString(node, "CurveMove", "", false);
            MoveMode          = DBCUtil.ExtractNumeric <int>(node, "MoveMode", -1, false);
            AdjustPoint       = DBCUtil.ExtractString(node, "AdjustPoint", "", false);
            AdjustAppend      = DBCUtil.ExtractNumeric <float>(node, "AdjustAppend", 0.0f, false);
            AdjustDegreeXZ    = DBCUtil.ExtractNumeric <float>(node, "AdjustDegreeXZ", 0.0f, false);
            AdjustDegreeY     = DBCUtil.ExtractNumeric <float>(node, "AdjustDegreeY", 0.0f, false);
            MaxDist           = DBCUtil.ExtractNumeric <float>(node, "MaxDist", 0.0f, false);
            DamageType        = DBCUtil.ExtractNumeric <int>(node, "DamageType", 0, false);
            ElementType       = DBCUtil.ExtractNumeric <int>(node, "ElementType", 0, false);
            DamageValue       = DBCUtil.ExtractNumeric <int>(node, "DamageValue", 0, false);
            DamageRate        = DBCUtil.ExtractNumeric <float>(node, "DamageRate", 1.0f, false);
            LevelRate         = DBCUtil.ExtractNumeric <float>(node, "LevelRate", 0.0f, false);
            IsDeadDisappear   = DBCUtil.ExtractBool(node, "IsDeadDisappear", false, false);
            CanBeCancel       = DBCUtil.ExtractBool(node, "CanBeCancel", false, false);
            IsAbsorbHurt      = DBCUtil.ExtractBool(node, "IsAbsorbHurt", false, false);
            IsReflect         = DBCUtil.ExtractBool(node, "IsReflect", false, false);
            FallDownTime      = DBCUtil.ExtractNumeric <float>(node, "FallDownTime", -1.0f, false);
            OnGroundTime      = DBCUtil.ExtractNumeric <float>(node, "OnGroundTime", 0.3f, false);
            GetUpTime         = DBCUtil.ExtractNumeric <float>(node, "GetUpTime", -1.0f, false);
            IsDamageDisappear = DBCUtil.ExtractBool(node, "IsDamageDisappear", false, false);
            IsFightDisappear  = DBCUtil.ExtractBool(node, "IsFightDisappear", false, false);
            IsShootDisappear  = DBCUtil.ExtractBool(node, "IsShootDisappear", false, false);
            IsSkillDisappear  = DBCUtil.ExtractBool(node, "IsSkillDisappear", false, false);
            HitSoundProb      = DBCUtil.ExtractNumeric <float>(node, "HitSoundProb", 0.1f, false);

            for (int i = 0; i < EffectCount; ++i)
            {
                string key = "Effect" + i.ToString();
                EffectList.Add(Converter.ConvertNumericList <int>(DBCUtil.ExtractString(node, key, "", false)));
            }
            ActionList = DBCUtil.ExtractNumericList <int>(node, "AnimationType", 0, false);
            ParamNum   = DBCUtil.ExtractNumeric <int>(node, "ParamNum", 0, false);
            ExtraParams.Clear();
            if (ParamNum > 0)
            {
                for (int i = 0; i < ParamNum; ++i)
                {
                    string key = "Param" + i.ToString();
                    ExtraParams.Insert(i, DBCUtil.ExtractString(node, key, "", false));
                }
            }

            return(true);
        }
Esempio n. 2
0
        /**
         * @brief 提取数据
         *
         * @param node
         *
         * @return
         */
        public bool CollectDataFromDBC(DBC_Row node)
        {
            SkillId              = DBCUtil.ExtractNumeric <int>(node, "Id", 0, true);
            SkillDataFile        = DBCUtil.ExtractString(node, "LogicDataFile", "", false);
            SkillDescription     = DBCUtil.ExtractString(node, "Description", "", true);
            SkillTrueDescription = DBCUtil.ExtractString(node, "TrueDescription", "", false);
            ActivateLevel        = DBCUtil.ExtractNumeric <int>(node, "ActivateLevel", 0, true);
            SkillPassivity       = (Passivity)DBCUtil.ExtractNumeric <int>(node, "Passivity", 0, true);
            SkillCoefficient     = DBCUtil.ExtractNumeric <float>(node, "SkillCoefficient", 0, true);
            SkillRangeMin        = DBCUtil.ExtractNumeric <float>(node, "RangeMin", 0.0f, false);
            SkillRangeMax        = DBCUtil.ExtractNumeric <float>(node, "RangeMax", 3.0f, false);
            TargetType           = (TargType)DBCUtil.ExtractNumeric <int>(node, "TargetType", 0, true);
            TargetSelectType     = (TargSelectType)DBCUtil.ExtractNumeric <int>(node, "TargetSelectType", 0, true);
            CoolDownTime         = DBCUtil.ExtractNumeric <float>(node, "CD", 0, true);
            CastTime             = DBCUtil.ExtractNumeric <float>(node, "CastTime", 0, true);
            MinusCD              = DBCUtil.ExtractNumericList <int>(node, "MinusCD", 0, false);
            CostHp         = DBCUtil.ExtractNumeric <int>(node, "CostHp", 0, false);
            CostRage       = DBCUtil.ExtractNumeric <int>(node, "CostRage", 0, false);
            CostEnergy     = DBCUtil.ExtractNumeric <int>(node, "CostEnergy", 0, false);
            CostEnergyCore = DBCUtil.ExtractNumeric <int>(node, "CostEnergyCore", 0, false);
            CostItemId     = DBCUtil.ExtractNumeric <int>(node, "CostItemId", 0, false);

            LevelUpCostType  = DBCUtil.ExtractNumeric <int>(node, "LevelUpCostType", 1, false);
            LevelUpVigorType = DBCUtil.ExtractNumeric <int>(node, "LevelUpVigorType", 1, false);

            CanStartWhenStiffness = DBCUtil.ExtractBool(node, "CanStartWhenStiffness", false, false);
            CanStartWhenHitFly    = DBCUtil.ExtractBool(node, "CanStartWhenHitFly", false, false);
            CanStartWhenKnockDown = DBCUtil.ExtractBool(node, "CanStartWhenKnockDown", false, false);
            BreakType             = DBCUtil.ExtractNumeric <int>(node, "BreakType", 0, false);
            Category            = (SkillCategory)DBCUtil.ExtractNumeric <int>(node, "Category", 0, false);
            NextSkillId         = DBCUtil.ExtractNumeric <int>(node, "NextSkillId", -1, false);
            LiftSkillId         = DBCUtil.ExtractNumeric <int>(node, "LiftSkillId", -1, false);
            LiftCostItemList    = DBCUtil.ExtractNumericList <int>(node, "LiftCostItem", 0, false);
            LiftCostItemNumList = DBCUtil.ExtractNumericList <int>(node, "LiftCostItemNum", 0, false);
            QSkillId            = DBCUtil.ExtractNumeric <int>(node, "QSKillId", -1, false);
            ESkillId            = DBCUtil.ExtractNumeric <int>(node, "ESKillId", -1, false);
            LockInputTime       = DBCUtil.ExtractNumeric <float>(node, "LockInputTime", 0, false);;
            NextInputTime       = DBCUtil.ExtractNumeric <float>(node, "NextInputTime", 0, false);;
            TargetChooseRange   = DBCUtil.ExtractNumeric <float>(node, "TargetChooseRange", 0, false);;
            ShowName            = DBCUtil.ExtractString(node, "ShowName", "", false);
            ShowHitNum          = DBCUtil.ExtractNumeric <int>(node, "ShowHitNum", 0, false);
            ShowScore           = DBCUtil.ExtractNumeric <int>(node, "ShowScore", 0, false);
            ShowDescription     = DBCUtil.ExtractString(node, "ShowDescription", "", false);
            ShowCd         = DBCUtil.ExtractNumeric <float>(node, "ShowCD", 0, false);   //
            ShowCostEnergy = DBCUtil.ExtractNumeric <int>(node, "ShowCostEnergy", 0, false);
            ShowSteps      = DBCUtil.ExtractNumeric <int>(node, "ShowSteps", 0, false);
            ShowSteps2Des  = DBCUtil.ExtractString(node, "ShowSteps2Dec", "", false);
            ShowSteps3Des  = DBCUtil.ExtractString(node, "ShowSteps3Dec", "", false);
            ShowSteps4Des  = DBCUtil.ExtractString(node, "ShowSteps4Dec", "", false);
            DamagePerLevel = DBCUtil.ExtractNumeric <float>(node, "ShowDamagePerLevel", 0f, false);
            ShowBaseDamage = DBCUtil.ExtractNumeric <float>(node, "ShowDamage", 0f, false);
            ShowIconName   = DBCUtil.ExtractString(node, "ShowIconName", "", false);
            ShowAtlasPath  = DBCUtil.ExtractString(node, "ShowAtlasPath", "", false);
            return(true);
        }
 public bool CollectDataFromDBC(DBC_Row node)
 {
     m_RankId           = DBCUtil.ExtractNumeric <int>(node, "RankId", 0, true);
     m_RankName         = DBCUtil.ExtractString(node, "RankName", "", true);
     m_Point            = DBCUtil.ExtractNumeric <int>(node, "Point", 100, false);
     m_IsTriggerAdvance = DBCUtil.ExtractBool(node, "IsTriggerAdvance", true, true);
     m_TotalMatches     = DBCUtil.ExtractNumeric <int>(node, "TotalMatches", 3, false);
     m_WinMatches       = DBCUtil.ExtractNumeric <int>(node, "WinMatches", 2, false);
     m_IsTriggerReduced = DBCUtil.ExtractBool(node, "IsTriggerReduced", false, true);
     m_LossesMatches    = DBCUtil.ExtractNumeric <int>(node, "LossesMatches", 6, false);
     return(true);
 }
Esempio n. 4
0
        public string PartnerRankColor;//伙伴颜色
        public bool CollectDataFromDBC(DBC_Row node)
        {
            Id               = DBCUtil.ExtractNumeric <int>(node, "Id", 0, true);
            Level            = DBCUtil.ExtractNumeric <int>(node, "Level", 0, false);
            ItemCost         = DBCUtil.ExtractNumeric <int>(node, "ItemCost", 0, false);
            GoldCost         = DBCUtil.ExtractNumeric <int>(node, "GoldCost", 0, false);
            Rate             = DBCUtil.ExtractNumeric <float>(node, "Rate", 0.0f, false);
            IsFailedDemote   = DBCUtil.ExtractBool(node, "FailedDemote", false, false);
            PartnerRank      = DBCUtil.ExtractString(node, "PartnerRank", "", false);
            PartnerRankColor = DBCUtil.ExtractString(node, "PartnerRankColor", "", false);

            return(true);
        }
Esempio n. 5
0
 /**
  * @brief 提取数据
  *
  * @param node
  *
  * @return
  */
 public bool CollectDataFromDBC(DBC_Row node)
 {
     EffectId          = DBCUtil.ExtractNumeric <int>(node, "Id", -1, true);
     EffectDescription = DBCUtil.ExtractString(node, "Description", "", false);
     EffectPath        = DBCUtil.ExtractString(node, "Prefab", "", false);
     EffectDelay       = DBCUtil.ExtractNumeric <float>(node, "Delay", 0.0f, false);
     PlayTime          = DBCUtil.ExtractNumeric <float>(node, "PlayTime", 0.0f, false);
     MountPoint        = DBCUtil.ExtractString(node, "MountPoint", "", false);
     RelativePos       = DBCUtil.ExtractString(node, "RelativePos", "0 0 0", false);
     RotateWithTarget  = DBCUtil.ExtractBool(node, "RotateWithTarget", false, false);
     RelativeRotation  = DBCUtil.ExtractString(node, "RelativeRotation", "0 0 0", false);
     DelWithImpact     = DBCUtil.ExtractBool(node, "DelWithImpact", false, false);
     return(true);
 }
Esempio n. 6
0
 public bool CollectDataFromDBC(DBC_Row node)
 {
     m_Id           = DBCUtil.ExtractNumeric <int>(node, "ID", 0, true);
     m_WindowName   = DBCUtil.ExtractString(node, "WindowName", "", true);
     m_WindowPath   = DBCUtil.ExtractString(node, "WindowPath", "", true);
     m_OffsetLeft   = DBCUtil.ExtractNumeric <int>(node, "OffsetLeft", -1, false);
     m_OffsetRight  = DBCUtil.ExtractNumeric <int>(node, "OffsetRight", -1, false);
     m_OffsetTop    = DBCUtil.ExtractNumeric <int>(node, "OffsetTop", -1, false);
     m_OffsetBottom = DBCUtil.ExtractNumeric <int>(node, "OffsetBottom", -1, false);
     m_IsExclusion  = DBCUtil.ExtractBool(node, "IsExclusion", false, false);
     m_IsDynamic    = DBCUtil.ExtractBool(node, "IsDynamic", false, false);
     m_ShowType     = DBCUtil.ExtractNumeric <int>(node, "ShowType", 0, true);
     //m_OwnToSceneId = DBCUtil.ExtractNumeric<int>(node, "SceneType", 0, true);
     m_OwnToSceneList = DBCUtil.ExtractNumericList <int>(node, "SceneType", int.MinValue, false);
     m_Group          = DBCUtil.ExtractNumeric <int>(node, "Group", 0, false);
     return(true);
 }
Esempio n. 7
0
        /**
         * @brief 提取数据
         *
         * @param node
         *
         * @return
         */
        public bool CollectDataFromDBC(DBC_Row node)
        {
            m_Id        = DBCUtil.ExtractNumeric <int>(node, "Id", 0, true);
            m_LinkId    = DBCUtil.ExtractNumeric <int>(node, "LinkId", 0, true);
            m_CampId    = DBCUtil.ExtractNumeric <int>(node, "CampId", 0, true);
            m_Pos       = Converter.ConvertVector3D(DBCUtil.ExtractString(node, "Pos", "0.0,0.0,0.0", true));
            m_Pos2      = Converter.ConvertVector3D(DBCUtil.ExtractString(node, "Pos2", "0.0,0.0,0.0", false));
            m_RotAngle  = DBCUtil.ExtractNumeric <float>(node, "RotAngle", 0.0f, true) * (float)Math.PI / 180;
            m_IsEnable  = DBCUtil.ExtractBool(node, "IsEnable", false, true);
            m_AiLogic   = DBCUtil.ExtractNumeric <int>(node, "AiLogic", 0, false);
            m_IdleAnims = DBCUtil.ExtractNumericList <int>(node, "IdleAnimSet", 0, false);
            for (int i = 0; i < c_MaxAiParamNum; ++i)
            {
                m_AiParam[i] = DBCUtil.ExtractString(node, "AiParam" + i, "", false);
            }

            return(true);
        }
Esempio n. 8
0
 public bool CollectDataFromDBC(DBC_Row node)
 {
     Id             = DBCUtil.ExtractNumeric <int>(node, "Id", 0, true);
     MissionType    = DBCUtil.ExtractNumeric <int>(node, "Type", 0, true);
     Name           = DBCUtil.ExtractString(node, "Name", "", true);
     Description    = DBCUtil.ExtractString(node, "Description", "", false);
     FollowMissions = DBCUtil.ExtractNumericList <int>(node, "FollowId", 0, false);
     LevelLimit     = DBCUtil.ExtractNumeric <int>(node, "LevelLimit", 0, false);
     SceneId        = DBCUtil.ExtractNumeric <int>(node, "SceneId", 0, true);
     Condition      = DBCUtil.ExtractNumeric <int>(node, "Condition", 0, true);
     Args0          = DBCUtil.ExtractNumeric <int>(node, "Args0", 0, false);
     Args1          = DBCUtil.ExtractNumeric <int>(node, "Args1", 0, false);
     DropId         = DBCUtil.ExtractNumeric <int>(node, "DropId", 0, false);
     TriggerGuides  = DBCUtil.ExtractNumericList <int>(node, "TriggerGuide", 0, false);
     UnlockLegacyId = DBCUtil.ExtractNumeric <int>(node, "UnlockLegacyId", 0, false);
     IsBornAccept   = DBCUtil.ExtractBool(node, "IsBornMission", false, false);
     TargetUI       = DBCUtil.ExtractNumeric <int>(node, "TargetUI", 0, false);
     return(true);
 }
Esempio n. 9
0
        /**
         * @brief 提取数据
         *
         * @param node
         *
         * @return
         */
        public bool CollectDataFromDBC(DBC_Row node)
        {
            Id       = DBCUtil.ExtractNumeric <int>(node, "Id", -1, true);
            Name     = DBCUtil.ExtractString(node, "Name", "", true);
            IsMusic  = DBCUtil.ExtractBool(node, "IsMusic", false, true);
            Priority = DBCUtil.ExtractNumeric <int>(node, "Priority", 1, false);
            Volume   = DBCUtil.ExtractNumeric <float>(node, "Volume", 1.0f, false);
            IsLoop   = DBCUtil.ExtractBool(node, "IsLoop", false, false);
            Position = Converter.ConvertVector3D(DBCUtil.ExtractString(node, "Position", "0,0,0", false));

            ParamNum = DBCUtil.ExtractNumeric <int>(node, "ParamNum", 0, false);
            ExtraParams.Clear();
            if (ParamNum > 0)
            {
                for (int i = 0; i < ParamNum; ++i)
                {
                    string key = "Param" + i.ToString();
                    ExtraParams.Insert(i, DBCUtil.ExtractString(node, key, "", false));
                }
            }

            return(true);
        }
Esempio n. 10
0
        /**
         * @brief 提取数据
         *
         * @param node
         *
         * @return
         */
        public bool CollectDataFromDBC(DBC_Row node)
        {
            m_Id            = DBCUtil.ExtractNumeric <int>(node, "Id", 0, true);
            m_Name          = DBCUtil.ExtractString(node, "Name", "", true);
            m_ShowName      = DBCUtil.ExtractBool(node, "ShowName", false, false);
            m_NpcType       = DBCUtil.ExtractNumeric <int>(node, "NpcType", 0, true);
            m_NpcFigure     = DBCUtil.ExtractNumeric <int>(node, "NpcFigure", 0, false);
            m_Level         = DBCUtil.ExtractNumeric <int>(node, "Level", 0, true);
            m_Scale         = DBCUtil.ExtractNumeric <float>(node, "Scale", 1.0f, false);
            m_ParticleScale = DBCUtil.ExtractNumeric <float>(node, "ParticleScale", 1.0f, false);
            m_Portrait      = DBCUtil.ExtractString(node, "Portrait", "", false);

            m_AttrData.CollectDataFromDBC(node);
            m_CauseStiff        = DBCUtil.ExtractBool(node, "CauseStiff", true, false);
            m_AcceptStiff       = DBCUtil.ExtractBool(node, "AcceptStiff", true, false);
            m_AcceptStiffEffect = DBCUtil.ExtractBool(node, "AcceptStiffEffect", true, false);
            //m_SuperArmor = DBCUtil.ExtractNumeric<bool>(node, "SuperArmor", false, false);
            m_ViewRange   = DBCUtil.ExtractNumeric <float>(node, "ViewRange", -1, true);
            m_GohomeRange = DBCUtil.ExtractNumeric <float>(node, "GohomeRange", -1, true);
            m_ReleaseTime = DBCUtil.ExtractNumeric <long>(node, "ReleaseTime", 0, true);

            m_SkillList  = DBCUtil.ExtractNumericList <int>(node, "SkillList", 0, false);
            m_DeadSkill  = DBCUtil.ExtractNumeric <int>(node, "DeadSkill", -1, false);
            m_ActionList = DBCUtil.ExtractNumericList <int>(node, "ActionId", 0, false);

            m_Model = DBCUtil.ExtractString(node, "Model", "", false);

            m_BornEffect      = DBCUtil.ExtractString(node, "BornEffect", "", false);
            m_BornEffectTime  = DBCUtil.ExtractNumeric <float>(node, "BornEffectTime", -1, false);
            m_MeetEnemyImpact = DBCUtil.ExtractNumeric <int>(node, "MeetEnemyImpact", 0, false);
            m_BornAnimTime    = DBCUtil.ExtractNumeric <int>(node, "BornAnimTime", 400, false);

            m_AvoidanceRadius = DBCUtil.ExtractNumeric <int>(node, "AvoidanceRadius", 1, false);
            m_CanMove         = DBCUtil.ExtractBool(node, "CanMove", false, false);
            m_CanHitMove      = DBCUtil.ExtractBool(node, "CanHitMove", true, false);
            m_CanRotate       = DBCUtil.ExtractBool(node, "CanRotate", true, false);

            m_IsAttachControler = DBCUtil.ExtractBool(node, "IsAttachControler", false, false);
            m_AttachNodeName    = DBCUtil.ExtractString(node, "AttachNodeName", "", false);

            m_Cross2StandTime = DBCUtil.ExtractNumeric <float>(node, "Cross2StandTime", 0.5f, false);
            m_Cross2Runtime   = DBCUtil.ExtractNumeric <float>(node, "Cross2RunTime", 0.3f, false);
            m_DeadAnimTime    = DBCUtil.ExtractNumeric <float>(node, "DeadAnimTime", 1.4f, false);

            m_TauntSound = Converter.ConvertStringList(DBCUtil.ExtractString(node, "TauntSound", "", false));
            m_HitSounds  = Converter.ConvertStringList(DBCUtil.ExtractString(node, "HitSound", "", false));
            m_DeadSound  = Converter.ConvertStringList(DBCUtil.ExtractString(node, "DeadSound", "", false));

            string shapeType     = DBCUtil.ExtractString(node, "ShapeType", "", true);
            int    shapeParamNum = DBCUtil.ExtractNumeric <int>(node, "ShapeParamNum", 0, true);

            if (shapeParamNum > 0)
            {
                string[] shapeParams = new string[shapeParamNum];
                for (int i = 0; i < shapeParamNum; ++i)
                {
                    shapeParams[i] = DBCUtil.ExtractString(node, "ShapeParam" + i, "", false);
                }

                if (0 == string.Compare("Circle", shapeType, true))
                {
                    m_Shape = new Circle(new Vector3(0, 0, 0), float.Parse(shapeParams[0]));
                }
                else if (0 == string.Compare("Line", shapeType, true))
                {
                    Vector3 start = Converter.ConvertVector3D(shapeParams[0]);
                    Vector3 end   = Converter.ConvertVector3D(shapeParams[1]);
                    m_Shape = new Line(start, end);
                }
                else if (0 == string.Compare("Rect", shapeType, true))
                {
                    float width  = float.Parse(shapeParams[0]);
                    float height = float.Parse(shapeParams[1]);
                    m_Shape = new ArkCrossEngineSpatial.Rect(width, height);
                }
                else if (0 == string.Compare("Polygon", shapeType, true))
                {
                    Polygon polygon = new Polygon();
                    foreach (string s in shapeParams)
                    {
                        Vector3 pt = Converter.ConvertVector3D(s);
                        polygon.AddVertex(pt);
                    }
                    m_Shape = polygon;
                }
            }

            return(true);
        }
Esempio n. 11
0
        public bool CollectDataFromDBC(DBC_Row node)
        {
            Id = DBCUtil.ExtractNumeric <int>(node, "Id", 0, true);
            m_TriggerLevelMini   = DBCUtil.ExtractNumeric <int>(node, "TriggerLevelMini", 100000, false);
            m_TriggerLevelMax    = DBCUtil.ExtractNumeric <int>(node, "TriggerLevelMax", 100000, false);
            m_TriggerSceneId     = DBCUtil.ExtractNumeric <int>(node, "TriggerSceneId", -1, false);
            m_GroupId            = DBCUtil.ExtractNumeric <int>(node, "GroupId", -1, false);
            m_GroupIndex         = DBCUtil.ExtractNumeric <int>(node, "GroupIndex", -1, false);
            m_ResetToGuideId     = DBCUtil.ExtractNumeric <int>(node, "ResetToGuideId", -1, false);
            m_TriggerUiId        = DBCUtil.ExtractNumeric <int>(node, "TriggerUiId", -1, false);
            m_TargetChildPath    = DBCUtil.ExtractString(node, "TargetChildPath", "", true);
            m_GuideUiPath        = DBCUtil.ExtractString(node, "GuideUiPath", "", true);
            m_TargetChildIndex   = DBCUtil.ExtractNumeric <int>(node, "TargetChildIndex", -1, false);
            m_NeedGuideDlg       = DBCUtil.ExtractBool(node, "NeedGuideDlg", true, false);
            m_AlwaysNeedGuideDlg = DBCUtil.ExtractBool(node, "AlwaysNeedGuideDlg", false, false);
            m_IsSpeakerAtLeft    = DBCUtil.ExtractBool(node, "IsSpeakerAtLeft", true, false);
            m_Words = DBCUtil.ExtractString(node, "Words", "", false);
            List <float> RelativePos = DBCUtil.ExtractNumericList <float>(node, "ScreenPosition", 0, false);

            if (RelativePos.Count >= 2)
            {
                m_RelativeScreenPos[0] = RelativePos[0];
                m_RelativeScreenPos[1] = RelativePos[1];
            }
            List <float> list = DBCUtil.ExtractNumericList <float>(node, "Rotate", 0, false);
            int          num  = list.Count;

            if (num > 0)
            {
                m_RotateThree[0] = list[0];
            }
            if (num > 1)
            {
                m_RotateThree[1] = list[1];
            }
            if (num > 2)
            {
                m_RotateThree[2] = list[2];
            }

            m_Visible         = DBCUtil.ExtractNumeric <bool>(node, "Visible", false, false);
            m_Type            = DBCUtil.ExtractNumeric <int>(node, "Type", 0, true);
            m_PreviousGuideId = DBCUtil.ExtractNumeric <int>(node, "PreviousGuideId", 0, true);

            list = DBCUtil.ExtractNumericList <float>(node, "LocalPosition", 0, false);
            num  = list.Count;
            if (num > 0)
            {
                m_LocalPosition[0] = list[0];
            }
            if (num > 1)
            {
                m_LocalPosition[1] = list[1];
            }
            if (num > 2)
            {
                m_LocalPosition[2] = list[2];
            }

            m_ChildNumber = DBCUtil.ExtractNumeric <int>(node, "ChildNumber", 0, true);
            m_ChildName   = DBCUtil.ExtractString(node, "ChildName", "", true);

            list = DBCUtil.ExtractNumericList <float>(node, "Scale", 0, false);
            num  = list.Count;
            if (num > 0)
            {
                m_Scale[0] = list[0];
            }
            if (num > 1)
            {
                m_Scale[1] = list[1];
            }
            if (num > 2)
            {
                m_Scale[2] = list[2];
            }
            return(true);
        }