public string GetBindPathByName(int id, string szName)
    {
        Tab_EffectPoint tabEffectPoint = TableManager.GetEffectPointByID(id, 0);

        if (tabEffectPoint == null)
        {
            return("");
        }

        //身体中心点
        switch (szName)
        {
        case GlobeVar.EFFECT_BIND_POINT_HEAD:
            return(tabEffectPoint.HeadPointPath);

        case GlobeVar.EFFECT_BIND_POINT_LHAND:
            return(tabEffectPoint.LHandPointPath);

        case GlobeVar.EFFECT_BIND_POINT_RHAND:
            return(tabEffectPoint.RHandPointPath);

        case GlobeVar.EFFECT_BIND_POINT_LFOOT:
            return(tabEffectPoint.LFootPointPath);

        case GlobeVar.EFFECT_BIND_POINT_RFOOT:
            return(tabEffectPoint.RFootPointPath);

        case GlobeVar.EFFECT_BIND_POINT_HEADTOP:
            return(tabEffectPoint.HeadTopPointPath);

        case GlobeVar.EFFECT_BIND_POINT_LSHOULDER:
            return(tabEffectPoint.LShoulderPointPath);

        case GlobeVar.EFFECT_BIND_POINT_RSHOULDER:
            return(tabEffectPoint.RShoulderPointPath);

        case GlobeVar.EFFECT_BIND_POINT_RHANDBACK:
            return(tabEffectPoint.RHandBackPointPath);

        case GlobeVar.EFFECT_BIND_POINT_LHANDBACK:
            return(tabEffectPoint.LHandBackPointPath);

        case GlobeVar.EFFECT_BIND_POINT_TAIL:
            return(tabEffectPoint.TailPointPath);

        case GlobeVar.EFFECT_BIND_POINT_ADDONS:
            return(tabEffectPoint.AddOnsItem);

        case GlobeVar.EFFECT_BIND_POINT_SPECIALWEAPON:
            return(tabEffectPoint.SpecialWeaponPoint);

        default:
            return("");
        }
    }
    public override void InitBindPointInfo()
    {
        m_effectBindPointCache.Clear();
        base.InitBindPointInfo();
        if (m_EffectHolder != null)
        {
            Tab_CharModel _CharModelInfo = TableManager.GetCharModelByID(m_EffectHolder.ModelID, 0);
            if (_CharModelInfo != null && _CharModelInfo.ModelType != -1)
            {
                Tab_EffectPoint _EffectPointInfo = TableManager.GetEffectPointByID(_CharModelInfo.ModelType, 0);
                if (_EffectPointInfo != null)
                {
                    string path_prefix = ""; // 路径的前缀,用来处理乘骑的情况

                    do
                    {
                        int mountid = -1;
                        if (m_EffectHolder == null)
                        {
                            break; // 如果是空,则跳出
                        }
                        if (m_EffectHolder.ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_OTHER_PLAYER)
                        {
                            Obj_OtherPlayer op = m_EffectHolder as Obj_OtherPlayer;
                            if (op == null)
                            {
                                break;
                            }
                            if (op.MountID > 0 && op.MountObj != null)
                            {
                                mountid = op.MountID;
                            }
                        }
                        else if (m_EffectHolder.ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_MAIN_PLAYER)
                        {
                            Obj_MainPlayer mp = m_EffectHolder as Obj_MainPlayer;
                            if (mp == null)
                            {
                                break;
                            }
                            if (mp.MountID > 0 && mp.MountObj != null)
                            {
                                mountid = mp.MountID;
                            }
                        }
                        if (mountid == -1)
                        {
                            break; // 没有找到相应的乘骑
                        }
                        Tab_MountBase MountBase = TableManager.GetMountBaseByID(mountid, 0);
                        if (null == MountBase)
                        {
                            LogModule.DebugLog("MountBase.txt has not Line ID=" + mountid);
                            break;
                        }
                        Tab_CharMount MountTable = TableManager.GetCharMountByID(MountBase.ModelID, 0);
                        if (MountTable == null)
                        {
                            LogModule.DebugLog("CharMount.txt has not Line ID=" + MountBase.ModelID);
                            break;
                        }

                        path_prefix = "Model" + MountTable.BindPoint + "/MountPlayer/";
                    } while (false);


                    //身体中心点
                    Transform effectPointBone = m_EffectGameObj.transform.Find(path_prefix + _EffectPointInfo.CenterPointPath);
                    if (effectPointBone != null)
                    {
                        m_effectBindPointCache.Add(GlobeVar.EFFECT_BIND_POINT_CENTER, effectPointBone.gameObject);
                    }
                    //base节点
                    if (m_BaseEffectBindPoint != null)
                    {
                        m_effectBindPointCache.Add(GlobeVar.EFFECT_BIND_POINT_BASE, m_BaseEffectBindPoint.gameObject);
                    }
                    //头节点
                    effectPointBone = m_EffectGameObj.transform.Find(path_prefix + _EffectPointInfo.HeadPointPath);
                    if (effectPointBone != null)
                    {
                        m_effectBindPointCache.Add(GlobeVar.EFFECT_BIND_POINT_HEAD, effectPointBone.gameObject);
                    }
                    //左手(左前足)节点
                    effectPointBone = m_EffectGameObj.transform.Find(path_prefix + _EffectPointInfo.LHandPointPath);
                    if (effectPointBone != null)
                    {
                        m_effectBindPointCache.Add(GlobeVar.EFFECT_BIND_POINT_LHAND, effectPointBone.gameObject);
                    }
                    //右手(右前足)节点
                    effectPointBone = m_EffectGameObj.transform.Find(path_prefix + _EffectPointInfo.RHandPointPath);
                    if (effectPointBone != null)
                    {
                        m_effectBindPointCache.Add(GlobeVar.EFFECT_BIND_POINT_RHAND, effectPointBone.gameObject);
                    }
                    //左脚(左后足)节点
                    effectPointBone = m_EffectGameObj.transform.Find(path_prefix + _EffectPointInfo.LFootPointPath);
                    if (effectPointBone != null)
                    {
                        m_effectBindPointCache.Add(GlobeVar.EFFECT_BIND_POINT_LFOOT, effectPointBone.gameObject);
                    }
                    //右脚(右后足)节点
                    effectPointBone = m_EffectGameObj.transform.Find(path_prefix + _EffectPointInfo.RFootPointPath);
                    if (effectPointBone != null)
                    {
                        m_effectBindPointCache.Add(GlobeVar.EFFECT_BIND_POINT_RFOOT, effectPointBone.gameObject);
                    }
                    //头顶
                    effectPointBone = m_EffectGameObj.transform.Find(path_prefix + _EffectPointInfo.HeadTopPointPath);
                    if (effectPointBone != null)
                    {
                        m_effectBindPointCache.Add(GlobeVar.EFFECT_BIND_POINT_HEADTOP, effectPointBone.gameObject);
                    }
                    //左肩
                    effectPointBone = m_EffectGameObj.transform.Find(path_prefix + _EffectPointInfo.LShoulderPointPath);
                    if (effectPointBone != null)
                    {
                        m_effectBindPointCache.Add(GlobeVar.EFFECT_BIND_POINT_LSHOULDER, effectPointBone.gameObject);
                    }
                    //右肩
                    effectPointBone = m_EffectGameObj.transform.Find(path_prefix + _EffectPointInfo.RShoulderPointPath);
                    if (effectPointBone != null)
                    {
                        m_effectBindPointCache.Add(GlobeVar.EFFECT_BIND_POINT_RSHOULDER, effectPointBone.gameObject);
                    }
                    //右手手背
                    effectPointBone = m_EffectGameObj.transform.Find(path_prefix + _EffectPointInfo.RHandBackPointPath);
                    if (effectPointBone != null)
                    {
                        m_effectBindPointCache.Add(GlobeVar.EFFECT_BIND_POINT_RHANDBACK, effectPointBone.gameObject);
                    }
                    //左手手背
                    effectPointBone = m_EffectGameObj.transform.Find(path_prefix + _EffectPointInfo.LHandBackPointPath);
                    if (effectPointBone != null)
                    {
                        m_effectBindPointCache.Add(GlobeVar.EFFECT_BIND_POINT_LHANDBACK, effectPointBone.gameObject);
                    }
                    //尾饰
                    effectPointBone = m_EffectGameObj.transform.Find(path_prefix + _EffectPointInfo.TailPointPath);
                    if (effectPointBone != null)
                    {
                        m_effectBindPointCache.Add(GlobeVar.EFFECT_BIND_POINT_TAIL, effectPointBone.gameObject);
                    }
                    //附加物
                    effectPointBone = m_EffectGameObj.transform.Find(path_prefix + _EffectPointInfo.AddOnsItem);
                    if (effectPointBone != null)
                    {
                        m_effectBindPointCache.Add(GlobeVar.EFFECT_BIND_POINT_ADDONS, effectPointBone.gameObject);
                    }
                    //特殊
                    effectPointBone = m_EffectGameObj.transform.Find(path_prefix + _EffectPointInfo.SpecialWeaponPoint);
                    if (effectPointBone != null)
                    {
                        m_effectBindPointCache.Add(GlobeVar.EFFECT_BIND_POINT_SPECIALWEAPON, effectPointBone.gameObject);
                    }
                }
            }
        }
    }