// 创建坐骑 public void InitMount(Obj_OtherPlayer PlayerObj, int nMountID) { if (PlayerObj == null) { return; } Tab_MountBase MountBase = TableManager.GetMountBaseByID(nMountID, 0); if (null == MountBase) { LogModule.DebugLog("MountBase.txt has not Line ID=" + nMountID); return; } Tab_CharMount MountTable = TableManager.GetCharMountByID(MountBase.ModelID, 0); if (MountTable == null) { LogModule.DebugLog("CharMount.txt has not Line ID=" + MountBase.ModelID); return; } GameObject Obj = PlayerObj.gameObject; if (Obj == null) { return; } //PlayerObj.MountID = nMountID; m_PlayerObj = PlayerObj; Singleton <ObjManager> .GetInstance().ReloadModel(Obj, MountTable.MountModel, Obj_Mount.OnAsycLoadMount, PlayerObj, MountTable.BindPoint); }
void HandleFitOnMount(int nGoodsId, int nMountID) { m_FitOnVisual.Clear(); Tab_MountBase tabMountBase = TableManager.GetMountBaseByID(nMountID, 0); if (tabMountBase == null) { return; } Tab_CharMount tabCharMount = TableManager.GetCharMountByID(tabMountBase.ModelID, 0); if (tabCharMount == null) { return; } Tab_FakeObject tabFakeObject = TableManager.GetFakeObjectByID(tabCharMount.FakeObjID, 0); if (tabFakeObject == null) { return; } m_FitOnVisual.MountGoodsID = nGoodsId; m_FitOnVisual.MountID = nMountID; m_FitOnFakeObj.initFakeObject(tabCharMount.FakeObjID, GameManager.gameManager.ActiveScene.FakeObjTrans, out m_FitOnGameObject); m_ModelDrag.ModelTrans = m_FitOnFakeObj.ObjAnim.transform; }
public override void OnMountOff(int mountId) { base.OnMountOff(mountId); ///清除坐骑绑定点下的粒子 for (int i = 0; i < m_effectBindPointsOnMountList.Count; i++) { if (m_effectBindPointCache.ContainsKey(m_effectBindPointsOnMountList[i])) { ClearBindPoint(m_effectBindPointCache[m_effectBindPointsOnMountList[i]]); } } ///清除坐骑相关粒子计数器 和 播放列表 for (int i = 0; i < m_effectBindToMountList.Count; i++) { if (m_EffectCountCache.ContainsKey(m_effectBindToMountList[i])) { m_EffectCountCache.Remove(m_effectBindToMountList[i]); } if (m_NeedPlayEffectIdCacheList.Contains(m_effectBindToMountList[i])) { m_NeedPlayEffectIdCacheList.Remove(m_effectBindToMountList[i]); } } m_cachedParticleScaler = null; if (GameManager.gameManager.ActiveScene != null) { GameManager.gameManager.ActiveScene.OnMainPlayerMountOff(); } Tab_MountBase MountBase = TableManager.GetMountBaseByID(mountId, 0); if (null == MountBase) { LogModule.DebugLog("MountBase.txt has not Line ID=" + mountId); return; } Tab_CharMount MountTable = TableManager.GetCharMountByID(MountBase.ModelID, 0); if (MountTable == null) { LogModule.DebugLog("CharMount.txt has not Line ID=" + MountBase.ModelID); return; } PlayEffect(MountTable.EffectMountOff); StopEffect(MountTable.MoveEffectId); }
// 创建坐骑 fakeobj private bool CreateMountFakeObj(int nCurMountID) { if (null != m_MountFakeObj) { DestroyMountFakeObj(); } Tab_MountBase MountBase = TableManager.GetMountBaseByID(nCurMountID, 0); if (MountBase == null) { return(false); } Tab_CharMount MountTable = TableManager.GetCharMountByID(MountBase.ModelID, 0); if (MountTable == null) { return(false); } m_MountFakeObj = new FakeObject(); if (m_MountFakeObj == null) { return(false); } if (false == m_MountFakeObj.initFakeObject(MountTable.FakeObjID, GameManager.gameManager.ActiveScene.FakeObjTrans)) { return(false); } m_ModelDrag.ModelTrans = m_MountFakeObj.ObjAnim.transform; GameManager.gameManager.ActiveScene.InitFakeObjRoot(m_FakeObjTopLeft, m_FakeObjBottomRight); GameManager.gameManager.ActiveScene.ShowFakeObj(); return(true); }
public override void OnMountModelOk() { base.OnMountModelOk(); if (m_effectBindPointCache == null || m_EffectGameObj == null) { LogModule.ErrorLog("OnMountModelOk called but m_effectBindPointCache || m_EffectGameObj is null!"); return; } Obj_OtherPlayer player = m_cachedObjCharacter as Obj_OtherPlayer; if (player == null) { LogModule.ErrorLog("OnMountModelOk called but m_cachedObjCharacter is not a Obj_OtherPlayer!"); return; } int moundid = -1; Tab_MountBase MountBase = TableManager.GetMountBaseByID(player.MountID, 0); if (null == MountBase) { LogModule.DebugLog("MountBase.txt has not Line ID=" + moundid); return; } Tab_CharMount MountTable = TableManager.GetCharMountByID(MountBase.ModelID, 0); if (MountTable == null) { LogModule.DebugLog("CharMount.txt has not Line ID=" + MountBase.ModelID); return; } if (GameManager.gameManager.ActiveScene != null) { GameManager.gameManager.ActiveScene.SetMainPlayerCircleSizeOnMount(MountTable.SelectCircleSize); } Transform effectPointBone; //索引左翼绑定点 effectPointBone = m_EffectGameObj.transform.Find(MountTable.LMountFlankPointPath); if (effectPointBone != null) { if (m_effectBindPointCache.ContainsKey(GlobeVar.EFFECT_BIND_POINT_MOUNT_LFLANK)) { m_effectBindPointCache[GlobeVar.EFFECT_BIND_POINT_MOUNT_LFLANK] = effectPointBone.gameObject; } else { m_effectBindPointCache.Add(GlobeVar.EFFECT_BIND_POINT_MOUNT_LFLANK, effectPointBone.gameObject); } m_effectBindPointsOnMountList.Add(GlobeVar.EFFECT_BIND_POINT_MOUNT_LFLANK); } //索引右翼绑定点 effectPointBone = m_EffectGameObj.transform.Find(MountTable.RMountFlankPointPath); if (effectPointBone != null) { if (m_effectBindPointCache.ContainsKey(GlobeVar.EFFECT_BIND_POINT_MOUNT_RFLANK)) { m_effectBindPointCache[GlobeVar.EFFECT_BIND_POINT_MOUNT_RFLANK] = effectPointBone.gameObject; } else { m_effectBindPointCache.Add(GlobeVar.EFFECT_BIND_POINT_MOUNT_RFLANK, effectPointBone.gameObject); } m_effectBindPointsOnMountList.Add(GlobeVar.EFFECT_BIND_POINT_MOUNT_RFLANK); } //索引尾部绑定点 effectPointBone = m_EffectGameObj.transform.Find(MountTable.MountBackPointPath); if (effectPointBone != null) { if (m_effectBindPointCache.ContainsKey(GlobeVar.EFFECT_BIND_POINT_MOUNT_BACK)) { m_effectBindPointCache[GlobeVar.EFFECT_BIND_POINT_MOUNT_BACK] = effectPointBone.gameObject; } else { m_effectBindPointCache.Add(GlobeVar.EFFECT_BIND_POINT_MOUNT_BACK, effectPointBone.gameObject); } m_effectBindPointsOnMountList.Add(GlobeVar.EFFECT_BIND_POINT_MOUNT_BACK); } //索引中心点 effectPointBone = m_EffectGameObj.transform.Find(MountTable.MountCenterPointPath); if (effectPointBone != null) { if (m_effectBindPointCache.ContainsKey(GlobeVar.EFFECT_BIND_POINT_MOUNT_CENTER)) { m_effectBindPointCache[GlobeVar.EFFECT_BIND_POINT_MOUNT_CENTER] = effectPointBone.gameObject; } else { m_effectBindPointCache.Add(GlobeVar.EFFECT_BIND_POINT_MOUNT_CENTER, effectPointBone.gameObject); } m_effectBindPointsOnMountList.Add(GlobeVar.EFFECT_BIND_POINT_MOUNT_CENTER); } PlayEffect(MountTable.MoveEffectId, OnMountMoveEffectAdd); }
public static void OnAsycLoadMount(string modelName, GameObject resObj, object param1, object param2, object param3) { if (param1 == null || param2 == null || param3 == null) { return; } GameObject objRoot = (GameObject)param1; Obj_OtherPlayer PlayerObj = (Obj_OtherPlayer)param2; string strBindPoint = (string)param3; if (null == objRoot || null == PlayerObj || null == strBindPoint) { return; } if (PlayerObj.MountObj == null) { return; } if (resObj == null || PlayerObj.MountID <= 0) { if (PlayerObj.MountObj != null) { DestroyMount(PlayerObj.MountObj); PlayerObj.MountObj = null; } return; } // 保存角色模型 找Model 放在MountPlayer下 string strModelName = "Model"; //if (Singleton<ObjManager>.GetInstance().MainPlayer.IsChangedMainPlayer) //{ // strModelName = "ModelChange"; //} Transform gMountPlayerTrans = objRoot.transform.FindChild(strModelName); if (gMountPlayerTrans == null || gMountPlayerTrans.gameObject == null) { DestroyMount(PlayerObj.MountObj); PlayerObj.MountObj = null; return; } gMountPlayerTrans.parent = PlayerObj.MountObj.gameObject.transform; gMountPlayerTrans.localPosition = Vector3.zero; gMountPlayerTrans.localRotation = Quaternion.identity; // 初始化动作 PlayerObj.MountObj.MountPlayer = PlayerObj.MountObj.gameObject.AddComponent <ObjAnimModel>() as ObjAnimModel; ObjAnimModel mountPlayer = PlayerObj.MountObj.MountPlayer; if (mountPlayer == null) { DestroyMount(PlayerObj.MountObj); PlayerObj.MountObj = null; return; } mountPlayer.AnimationFilePath = PlayerObj.AnimationFilePath; mountPlayer.InitAnimation(); // 添加马Model Singleton <ObjManager> .GetInstance().AsycReloadMountModelOver(modelName, resObj, objRoot, PlayerObj.AnimationFilePath, null); string str = strModelName + strBindPoint; Transform mountTransferm = objRoot.transform.FindChild(str); if (null == mountTransferm) { LogModule.ErrorLog("can not find the mount's bindpoint:" + str); DestroyMount(PlayerObj.MountObj); PlayerObj.MountObj = null; return; } GameObject gBindPoint = mountTransferm.gameObject; if (gBindPoint) { mountPlayer.transform.parent = gBindPoint.transform; mountPlayer.transform.localPosition = Vector3.zero; mountPlayer.transform.rotation = objRoot.transform.rotation; } PlayerObj.OnSwithObjAnimState(PlayerObj.CurObjAnimState); //需要下马时 还骑着马 走下面流程(防止出现 上马立马下马的情况 下马失败) if (PlayerObj.IsNeedUnMount && PlayerObj.MountID != -1) { UnMount(PlayerObj); } if (null != PlayerObj) { PlayerObj.OnReloadModle(); if (PlayerObj.ObjEffectController != null) { PlayerObj.ObjEffectController.OnMountModelOk(); //非登陆状态才有上骑乘的特效 if (PlayerObj.ShowRideOnEffect) { Tab_MountBase MountBase = TableManager.GetMountBaseByID(PlayerObj.MountID, 0); if (MountBase != null) { Tab_CharMount MountTable = TableManager.GetCharMountByID(MountBase.ModelID, 0); if (MountTable != null) { PlayerObj.ObjEffectController.PlayEffect(MountTable.EffectMountOn); PlayerObj.ShowRideOnEffect = false; } } } } PlayerObj.RideMountWeapon(); PlayerObj.IsLoadingModel = false; if (PlayerObj.WaitChangeState != GlobeVar.INVALID_ID) { int nChangeState = PlayerObj.WaitChangeState; PlayerObj.WaitChangeState = GlobeVar.INVALID_ID; PlayerObj.UpdateOtherPlayerChangeState(nChangeState); } } }
public int GetMountAnimation(CharacterDefine.MountAction value, Obj_Character obj) { if (PlayerObj == null || obj == null) { return(-1); } Tab_MountBase MountBase = TableManager.GetMountBaseByID(PlayerObj.MountID, 0); if (null == MountBase) { LogModule.DebugLog("MountBase.txt has not Line ID=" + PlayerObj.MountID); return(-1); } Tab_CharMount MountTable = TableManager.GetCharMountByID(MountBase.ModelID, 0); if (MountTable == null) { LogModule.DebugLog("CharMount.txt has not Line ID=" + MountBase.ModelID); return(-1); } int nProfession = -1; if (obj.ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_MAIN_PLAYER || obj.ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_OTHER_PLAYER || obj.ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_ZOMBIE_PLAYER) { Obj_OtherPlayer objPlayer = obj as Obj_OtherPlayer; nProfession = objPlayer.Profession; } if (value == CharacterDefine.MountAction.STAND) { if (nProfession == (int)CharacterDefine.PROFESSION.SHAOLIN) { return(MountTable.StandAniShaoLin); } else if (nProfession == (int)CharacterDefine.PROFESSION.TIANSHAN) { return(MountTable.StandAniTianShan); } else if (nProfession == (int)CharacterDefine.PROFESSION.DALI) { return(MountTable.StandAniDaLi); } else if (nProfession == (int)CharacterDefine.PROFESSION.XIAOYAO) { return(MountTable.StandAniXiaoYao); } else if (nProfession == (int)CharacterDefine.PROFESSION.GAIBANG) { return(MountTable.StandAniGaiBang); } return(-1); } else if (value == CharacterDefine.MountAction.RUN) { if (nProfession == (int)CharacterDefine.PROFESSION.SHAOLIN) { return(MountTable.RunAniShaoLin); } else if (nProfession == (int)CharacterDefine.PROFESSION.TIANSHAN) { return(MountTable.RunAniTianShan); } else if (nProfession == (int)CharacterDefine.PROFESSION.DALI) { return(MountTable.RunAniDaLi); } else if (nProfession == (int)CharacterDefine.PROFESSION.XIAOYAO) { return(MountTable.RunAniXiaoYao); } else if (nProfession == (int)CharacterDefine.PROFESSION.GAIBANG) { return(MountTable.RunAniGaiBang); } return(-1); } else { return(-1); } }
// 骑马 static public void RideMount(Obj_OtherPlayer PlayerObj, int nMountID) { if (null == PlayerObj) { return; } Tab_MountBase MountBase = TableManager.GetMountBaseByID(nMountID, 0); if (null == MountBase) { LogModule.DebugLog("MountBase.txt has not Line ID=" + nMountID); return; } Tab_CharMount MountTable = TableManager.GetCharMountByID(MountBase.ModelID, 0); if (MountTable == null) { LogModule.DebugLog("CharMount.txt has not Line ID=" + MountBase.ModelID); return; } GameObject Obj = PlayerObj.gameObject; if (Obj != null) { if (PlayerObj.MountObj) // 换个马 { if (PlayerObj.MountObj.MountID > 0) { if (PlayerObj.MountObj.MountID == nMountID) { return; } PlayerObj.MountObj.ChangeMount(PlayerObj, nMountID); } } else // 创建个马 { GameObject MountPlayerObj = ResourceManager.InstantiateResource("Prefab/Model/PlayerRoot", "MountPlayer") as GameObject; if (MountPlayerObj != null) { PlayerObj.MountObj = MountPlayerObj.AddComponent <Obj_Mount>() as Obj_Mount; if (PlayerObj.MountObj) { PlayerObj.MountObj.InitMount(PlayerObj, nMountID); } } } if (PlayerObj.MountObj) { PlayerObj.MountObj.MountID = nMountID; } // 上坐骑时名字板高度修正 if (PlayerObj.HeadInfoBoard != null) { BillBoard billboard = PlayerObj.HeadInfoBoard.GetComponent <BillBoard>(); if (billboard != null) { billboard.fDeltaHeight = PlayerObj.DeltaHeight + PlayerObj.GetMountNameBoardHeight(); } } } }
public static void OnAsycLoadChangeMount(string modelName, GameObject resObj, object param1, object param2, object param3) { if (param1 == null || param2 == null || param3 == null) { return; } GameObject objRoot = param1 as GameObject; if (null == objRoot) { return; } Obj_OtherPlayer PlayerObj = param2 as Obj_OtherPlayer; if (null == PlayerObj || null == PlayerObj.gameObject) { return; } if (PlayerObj.MountObj == null) { return; } if (resObj == null || PlayerObj.MountID <= 0) { if (PlayerObj.MountObj != null) { DestroyMount(PlayerObj.MountObj); PlayerObj.MountObj = null; } return; } string strBindPoint = param3 as string; if (strBindPoint == null) { return; } // 保存角色模型 PlayerObj.MountObj.transform.parent = PlayerObj.transform; // 添加马Model //Singleton<ObjManager>.GetInstance().AsycReloadModelOver(modelName, resObj, objRoot, PlayerObj.AnimationFilePath, null); GameObject model = (GameObject)GameObject.Instantiate(resObj); if (null == model) { return; } else { model.name = "Model"; } Singleton <ObjManager> .GetInstance().ReloadModel(objRoot, model, PlayerObj.AnimationFilePath, null); string str = "Model" + strBindPoint; Transform mountTransferm = objRoot.transform.FindChild(str); if (mountTransferm == null) { LogModule.ErrorLog("can not find the mount's bindpoint:" + str); return; } GameObject gBindPoint = mountTransferm.gameObject; if (gBindPoint) { PlayerObj.MountObj.transform.parent = gBindPoint.transform; PlayerObj.MountObj.transform.localPosition = Vector3.zero; PlayerObj.MountObj.transform.rotation = objRoot.transform.rotation; } PlayerObj.OnSwithObjAnimState(PlayerObj.CurObjAnimState); //需要下马时 还骑着马 走下面流程(防止出现 上马立马下马的情况 下马失败) if (PlayerObj.IsNeedUnMount && PlayerObj.MountID != -1) { UnMount(PlayerObj); } PlayerObj.OnReloadModle(); //策划说只要上骑乘就要播特效 if (PlayerObj.ObjEffectController != null) { PlayerObj.ObjEffectController.OnMountOff(PlayerObj.MountID); PlayerObj.ObjEffectController.OnMountModelOk(); //非登陆状态才有上骑乘的特效 if (PlayerObj.ShowRideOnEffect) { Tab_MountBase MountBase = TableManager.GetMountBaseByID(PlayerObj.MountID, 0); if (MountBase != null) { Tab_CharMount MountTable = TableManager.GetCharMountByID(MountBase.ModelID, 0); if (MountTable != null) { PlayerObj.ObjEffectController.PlayEffect(MountTable.EffectMountOn); PlayerObj.ShowRideOnEffect = false; } } } } PlayerObj.IsLoadingModel = false; if (PlayerObj.WaitChangeState != GlobeVar.INVALID_ID) { int nChangeState = PlayerObj.WaitChangeState; PlayerObj.WaitChangeState = GlobeVar.INVALID_ID; PlayerObj.UpdateOtherPlayerChangeState(nChangeState); } }
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); } } } } }