void InitFashionFakeObj(GameObject Obj, int nModelVisualID, Tab_FakeObject FakeObjTable, int nProfession = -1) { // 重载模型 Tab_ItemVisual tabItemVisual = TableManager.GetItemVisualByID(nModelVisualID, 0); if (tabItemVisual == null) { return; } int nCharModelID = -1; if (Singleton <ObjManager> .Instance != null && Singleton <ObjManager> .Instance.MainPlayer != null) { nCharModelID = Singleton <ObjManager> .Instance.MainPlayer.GetCharModelID(tabItemVisual); } else { nCharModelID = GetCharModelID(tabItemVisual, nProfession); } Tab_CharModel tabCharModel = TableManager.GetCharModelByID(nCharModelID, 0); if (tabCharModel == null) { return; } Singleton <ObjManager> .GetInstance().ReloadModel(Obj, tabCharModel.ResPath, Singleton <ObjManager> .GetInstance().AsycLoadFakeObjOver, FakeObjTable, this); }
public static void ChangeMainPLayerObjToNormal() { Obj_MainPlayer main = Singleton <ObjManager> .Instance.MainPlayer; if (main == null) { LogModule.ErrorLog("ReloadMainPLayerObj called burt Singleton<ObjManager>.Instance.MainPlayer is null!"); return; } Tab_ItemVisual tabItemVisual = TableManager.GetItemVisualByID(main.ModelVisualID, 0); if (tabItemVisual == null) { tabItemVisual = TableManager.GetItemVisualByID(GlobeVar.DEFAULT_VISUAL_ID, 0); if (tabItemVisual == null) { return; } } int nCharmodelID = main.GetCharModelID(tabItemVisual, main.Profession); Tab_CharModel charModel = TableManager.GetCharModelByID(nCharmodelID, 0); if (charModel == null) { return; } main.AnimationFilePath = charModel.AnimPath; main.ModelID = nCharmodelID; LoadModelToRoot(nCharmodelID, EResourceType.CharacterModel, LoadModelComplete, main.gameObject, charModel, false); }
public static void ChangeOtherPLayerObjToNormal(Obj_OtherPlayer otherPlayer) { Tab_ItemVisual tabItemVisual = TableManager.GetItemVisualByID(otherPlayer.ModelVisualID, 0); if (tabItemVisual == null) { tabItemVisual = TableManager.GetItemVisualByID(GlobeVar.DEFAULT_VISUAL_ID, 0); if (tabItemVisual == null) { return; } } int nCharmodelID = otherPlayer.GetCharModelID(tabItemVisual, otherPlayer.Profession); Tab_CharModel charModel = TableManager.GetCharModelByID(nCharmodelID, 0); if (charModel == null) { return; } otherPlayer.AnimationFilePath = charModel.AnimPath; otherPlayer.ModelID = nCharmodelID; LoadModelToRoot(nCharmodelID, EResourceType.CharacterModel, LoadModelComplete, otherPlayer.gameObject, charModel, false); }
void InitFashionFakeObj(GameObject Obj, int nModelVisualID, Tab_FakeObject FakeObjTable) { if (Singleton <ObjManager> .Instance.MainPlayer == null) { return; } // 重载模型 Tab_ItemVisual tabItemVisual = TableManager.GetItemVisualByID(nModelVisualID, 0); if (tabItemVisual == null) { return; } int nCharModelID = GetCharModelID(tabItemVisual, GameManager.gameManager.OtherPlayerData.Profession); Tab_CharModel tabCharModel = TableManager.GetCharModelByID(nCharModelID, 0); if (tabCharModel == null) { return; } Singleton <ObjManager> .GetInstance().ReloadModel(Obj, tabCharModel.ResPath, Singleton <ObjManager> .GetInstance().OtherView_AsycLoadFakeObjOver, FakeObjTable, this); }
void HandleFitOnFashion(int nGoodsId, int nFashionID) { m_FitOnVisual.FellowGoodsID = GlobeVar.INVALID_ID; m_FitOnVisual.MountGoodsID = GlobeVar.INVALID_ID; m_FitOnVisual.FellowID = GlobeVar.INVALID_ID; m_FitOnVisual.MountID = GlobeVar.INVALID_ID; Tab_FashionData tabFashionData = TableManager.GetFashionDataByID(nFashionID, 0); if (tabFashionData == null) { return; } Tab_ItemVisual tabItemVisual = TableManager.GetItemVisualByID(tabFashionData.ItemVisualID, 0); if (tabItemVisual == null) { return; } int nCharModelID = Singleton <ObjManager> .Instance.MainPlayer.GetCharModelID(tabItemVisual); Tab_CharModel tabCharModel = TableManager.GetCharModelByID(nCharModelID, 0); if (tabCharModel == null) { return; } Tab_FakeObject tabFakeObject = TableManager.GetFakeObjectByID(m_FakeObjID, 0); if (tabFakeObject == null) { return; } m_FitOnVisual.FashionGoodsID = nFashionID; m_FitOnVisual.FashionID = nFashionID; m_FitOnVisual.FashionDeadline = m_eDeadline; // 装备 时装 不同时预览 m_FitOnVisual.ArmorGoodsID = GlobeVar.INVALID_ID; m_FitOnVisual.ArmorID = GlobeVar.INVALID_ID; List <object> param = new List <object>(); param.Add(tabFakeObject); param.Add(m_FitOnFakeObj); param.Add(m_FitOnVisual); Singleton <ObjManager> .GetInstance().ReloadModel(m_FitOnGameObject, tabCharModel.ResPath, Singleton <ObjManager> .GetInstance().AsycLoadFitOnObjOver, param); }
public void UpdateFashionView() { if (null == Singleton <ObjManager> .Instance.MainPlayer) { return; } int nModelVisualID = Singleton <ObjManager> .Instance.MainPlayer.ModelVisualID; bool isDefaultVisual = false; Tab_ItemVisual tabItemVisual = null; tabItemVisual = TableManager.GetItemVisualByID(nModelVisualID, 0); if (tabItemVisual == null) { isDefaultVisual = true; } else { isDefaultVisual = false; } if (isDefaultVisual) { tabItemVisual = TableManager.GetItemVisualByID(GlobeVar.DEFAULT_VISUAL_ID, 0); if (tabItemVisual == null) { return; } } int nCharModelID = Singleton <ObjManager> .Instance.MainPlayer.GetCharModelID(tabItemVisual); Tab_CharModel tabCharModel = TableManager.GetCharModelByID(nCharModelID, 0); if (tabCharModel == null) { return; } Tab_FakeObject tabFakeObject = TableManager.GetFakeObjectByID(m_PlayerFakeObjID, 0); if (tabFakeObject == null) { return; } Singleton <ObjManager> .GetInstance().ReloadModel(m_FakeObjGameObject, tabCharModel.ResPath, Singleton <ObjManager> .GetInstance().AsycLoadFakeObjOver, tabFakeObject, m_PlayerFakeObj); }
/// <summary> /// 后期可以 看情况 跟OtherPlayer的创建 合并 /// </summary> /// <param name="initData"></param> public static void CreateZombieUser(Obj_Init_Data initData) { if (null == initData) { return; } //mwh 根据RoleBase的ID获得路径 Tab_RoleBaseAttr roleBaseAttr = TableManager.GetRoleBaseAttrByID(initData.m_RoleBaseID, 0); if (null == roleBaseAttr) { return; } initData.m_CharModelID = roleBaseAttr.CharModelID; GameObject otherPlayer = ResourceManager.InstantiateResource("Prefab/Model/OtherPlayerRoot", initData.m_ServerID.ToString()) as GameObject; if (null != otherPlayer) { Obj_ZombieUser objZombiePlayer = otherPlayer.AddComponent <Obj_ZombieUser>(); if (null != objZombiePlayer && objZombiePlayer.Init(initData)) { objZombiePlayer.CanLogic = true; } Tab_ItemVisual tabItemVisual = TableManager.GetItemVisualByID(objZombiePlayer.ModelVisualID, 0); if (tabItemVisual == null) { tabItemVisual = TableManager.GetItemVisualByID(GlobeVar.DEFAULT_VISUAL_ID, 0); if (tabItemVisual == null) { return; } } int nCharmodelID = objZombiePlayer.GetCharModelID(tabItemVisual, objZombiePlayer.Profession); Tab_CharModel charModel = TableManager.GetCharModelByID(nCharmodelID, 0); if (charModel == null) { return; } Singleton <ObjManager> .Instance.AddPoolObj(objZombiePlayer.ServerID.ToString(), objZombiePlayer); LoadModelToRoot(nCharmodelID, EResourceType.CharacterModel, LoadModelComplete, otherPlayer, charModel, null); } }
void HandleFitOnArmor(int nGoodsId, int nDataID, Tab_EquipAttr tabArmorEquipAttr) { Tab_ItemVisual tabItemVisual = TableManager.GetItemVisualByID(tabArmorEquipAttr.ModelId, 0); if (tabItemVisual == null) { return; } int nCharModelID = Singleton <ObjManager> .Instance.MainPlayer.GetCharModelID(tabItemVisual); Tab_CharModel tabCharModel = TableManager.GetCharModelByID(nCharModelID, 0); if (tabCharModel == null) { return; } Tab_FakeObject tabFakeObject = TableManager.GetFakeObjectByID(m_FakeObjID, 0); if (tabFakeObject == null) { return; } m_FitOnVisual.ArmorGoodsID = nGoodsId; m_FitOnVisual.ArmorID = nDataID; // 装备 时装 不同时预览 m_FitOnVisual.FashionGoodsID = GlobeVar.INVALID_ID; m_FitOnVisual.FashionID = GlobeVar.INVALID_ID; m_FitOnVisual.FashionDeadline = YuanBaoShopItemLogic.DEADLINE_PRICE.PRICE_FOREVER; List <object> param = new List <object>(); param.Add(tabFakeObject); param.Add(m_FitOnFakeObj); param.Add(m_FitOnVisual); Singleton <ObjManager> .GetInstance().ReloadModel(m_FitOnGameObject, tabCharModel.ResPath, Singleton <ObjManager> .GetInstance().AsycLoadFitOnObjOver, param); }
public void FitOnFashion(int nFashionID) { Tab_FashionData tabFashionData = TableManager.GetFashionDataByID(nFashionID, 0); if (tabFashionData == null) { return; } Tab_ItemVisual tabItemVisual = TableManager.GetItemVisualByID(tabFashionData.ItemVisualID, 0); if (tabItemVisual == null) { return; } int nCharModelID = Singleton <ObjManager> .Instance.MainPlayer.GetCharModelID(tabItemVisual); Tab_CharModel tabCharModel = TableManager.GetCharModelByID(nCharModelID, 0); if (tabCharModel == null) { return; } Tab_FakeObject tabFakeObject = TableManager.GetFakeObjectByID(m_PlayerFakeObjID, 0); if (tabFakeObject == null) { return; } List <object> param = new List <object>(); param.Add(tabFakeObject); param.Add(m_PlayerFakeObj); Singleton <ObjManager> .GetInstance().ReloadModel(m_FakeObjGameObject, tabCharModel.ResPath, Singleton <ObjManager> .GetInstance().AsycLoadRoleViewFitOnObjOver, param); GameManager.gameManager.ActiveScene.ShowFakeObj(); }
// 参考 mainPlayer 的函数,由于此时 mainPlayer 还没有创建,再写个一样的 private int GetCharModelID(Tab_ItemVisual tabItemVisual, int nProfession = GlobeVar.INVALID_ID) { if (nProfession == (int)CharacterDefine.PROFESSION.SHAOLIN) { return(tabItemVisual.CharModelIDShaoLin); } else if (nProfession == (int)CharacterDefine.PROFESSION.TIANSHAN) { return(tabItemVisual.CharModelIDTianShan); } else if (nProfession == (int)CharacterDefine.PROFESSION.DALI) { return(tabItemVisual.CharModelIDDaLi); } else if (nProfession == (int)CharacterDefine.PROFESSION.XIAOYAO) { return(tabItemVisual.CharModelIDXiaoYao); } else if (nProfession == (int)CharacterDefine.PROFESSION.GAIBANG) { return(tabItemVisual.CharModelIDGaiBang); } return(GlobeVar.INVALID_ID); }
public void InitFakeObjWeapon(GameObject Obj, int nCurWeaponID, Tab_FakeObject FakeObjTable) { // 重载武器 bool defaultVisual = false; Tab_ItemVisual WeaponVisual = null; Tab_EquipAttr tabEquipAttr = TableManager.GetEquipAttrByID(nCurWeaponID, 0); if (tabEquipAttr != null) { Tab_ItemVisual tabWeaponVisual = TableManager.GetItemVisualByID(tabEquipAttr.ModelId, 0); if (tabWeaponVisual != null) { WeaponVisual = tabWeaponVisual; } else { defaultVisual = true; } } else { defaultVisual = true; } if (defaultVisual) { Tab_ItemVisual tabDefaultVisual = TableManager.GetItemVisualByID(GlobeVar.DEFAULT_VISUAL_ID, 0); if (tabDefaultVisual == null) { return; } WeaponVisual = tabDefaultVisual; } int nWeaponModelID = -1; if (WeaponVisual == null) { return; } if (Singleton <ObjManager> .Instance.MainPlayer == null) { if (UIControllerBase <RoleChooseLogic> .Instance() != null) { int nProfession = -1; nProfession = UIControllerBase <RoleChooseLogic> .Instance().GetRoleProfess(); if (nProfession == (int)CharacterDefine.PROFESSION.SHAOLIN) { nWeaponModelID = WeaponVisual.WeaponModelIDShaoLin; } else if (nProfession == (int)CharacterDefine.PROFESSION.TIANSHAN) { nWeaponModelID = WeaponVisual.WeaponModelIDTianShan; } else if (nProfession == (int)CharacterDefine.PROFESSION.DALI) { nWeaponModelID = WeaponVisual.WeaponModelIDDaLi; } else if (nProfession == (int)CharacterDefine.PROFESSION.XIAOYAO) { nWeaponModelID = WeaponVisual.WeaponModelIDXiaoYao; } else if (nProfession == (int)CharacterDefine.PROFESSION.GAIBANG) { nWeaponModelID = WeaponVisual.WeaponModelIDGaiBang; } } } else { nWeaponModelID = Singleton <ObjManager> .Instance.MainPlayer.GetWeaponModelID(WeaponVisual); } Tab_WeaponModel tabWeaponModel = TableManager.GetWeaponModelByID(nWeaponModelID, 0); if (tabWeaponModel == null) { return; } int playerProfession = -1; if (Singleton <ObjManager> .Instance.MainPlayer == null) { if (UIControllerBase <RoleChooseLogic> .Instance()) { playerProfession = UIControllerBase <RoleChooseLogic> .Instance().GetRoleProfess(); } } else { playerProfession = Singleton <ObjManager> .Instance.MainPlayer.Profession; } if (playerProfession == (int)CharacterDefine.PROFESSION.TIANSHAN || playerProfession == (int)CharacterDefine.PROFESSION.GAIBANG) { LoadWeapon(Obj, "Weapon_L", tabWeaponModel.ResPath + "_L", tabWeaponModel); LoadWeapon(Obj, "Weapon_R", tabWeaponModel.ResPath + "_R", tabWeaponModel); } else if (playerProfession == (int)CharacterDefine.PROFESSION.XIAOYAO) { LoadWeapon(Obj, "Weapon_R", tabWeaponModel.ResPath + "_R", tabWeaponModel); } else { LoadWeapon(Obj, "Weapon_R", tabWeaponModel.ResPath + "_R", tabWeaponModel); } }
void HandleFitOnWeapon(int nGoodsId, int nDataID, Tab_EquipAttr tabWeaponEquipAttr) { Tab_ItemVisual tabItemVisual = TableManager.GetItemVisualByID(tabWeaponEquipAttr.ModelId, 0); if (tabItemVisual == null) { return; } int nWeaponModelID = Singleton <ObjManager> .Instance.MainPlayer.GetWeaponModelID(tabItemVisual); Tab_WeaponModel tabWeaponModel = TableManager.GetWeaponModelByID(nWeaponModelID, 0); if (tabWeaponModel == null) { return; } /// 因为可能显示过伙伴 坐骑的模型 所以要重载玩家模型预览 设置玩家外观 Tab_ItemVisual tabModelVisual = null; if (m_FitOnVisual.FashionID != GlobeVar.INVALID_ID) { Tab_FashionData tabFashionData = TableManager.GetFashionDataByID(m_FitOnVisual.FashionID, 0); if (tabFashionData == null) { return; } tabModelVisual = TableManager.GetItemVisualByID(tabFashionData.ItemVisualID, 0); } else if (m_FitOnVisual.ArmorID != GlobeVar.INVALID_ID) { Tab_EquipAttr tabArmorEquipAttr = TableManager.GetEquipAttrByID(m_FitOnVisual.ArmorID, 0); if (tabArmorEquipAttr == null) { return; } tabModelVisual = TableManager.GetItemVisualByID(tabArmorEquipAttr.ModelId, 0); } else { if (Singleton <ObjManager> .Instance.MainPlayer.ModelVisualID == GlobeVar.INVALID_ID) { tabModelVisual = TableManager.GetItemVisualByID(GlobeVar.DEFAULT_VISUAL_ID, 0); } else { tabModelVisual = TableManager.GetItemVisualByID(Singleton <ObjManager> .Instance.MainPlayer.ModelVisualID, 0); } } if (tabModelVisual == null) { return; } // 设置结束 下面与武器一起重载 int nCharModelID = Singleton <ObjManager> .Instance.MainPlayer.GetCharModelID(tabModelVisual); Tab_CharModel tabCharModel = TableManager.GetCharModelByID(nCharModelID, 0); if (tabCharModel == null) { return; } Tab_FakeObject tabFakeObject = TableManager.GetFakeObjectByID(m_FakeObjID, 0); if (tabFakeObject == null) { return; } m_FitOnVisual.WeaponGoodsID = nGoodsId; m_FitOnVisual.WeaponID = nDataID; List <object> param = new List <object>(); param.Add(tabFakeObject); param.Add(m_FitOnFakeObj); param.Add(m_FitOnVisual); Singleton <ObjManager> .GetInstance().ReloadModel(m_FitOnGameObject, tabCharModel.ResPath, Singleton <ObjManager> .GetInstance().AsycLoadFitOnObjOver, param); }
void UpdateFakeObj(Tab_EquipAttr eqTab = null) { int weaponId = -1; int modelId = -1; if (eqTab != null) { EquipSubClass equipSubClass = (EquipSubClass)eqTab.Component; if (equipSubClass == EquipSubClass.WEAPON) { weaponId = eqTab.Id; FakeObjExtraData.weaponId = weaponId; } modelId = eqTab.ModelId; } //Debug.LogError("EQTab:"+eqTab.Id+","+modelId); int nModelVisualID = Singleton <ObjManager> .Instance.MainPlayer.ModelVisualID; //Debug.LogError("nModelVisualID is:" + nModelVisualID); bool isDefaultVisual = false; Tab_ItemVisual tabItemVisual = TableManager.GetItemVisualByID(nModelVisualID, 0); if (tabItemVisual == null) { isDefaultVisual = true; } else { isDefaultVisual = false; } if (isDefaultVisual) { tabItemVisual = TableManager.GetItemVisualByID(GlobeVar.DEFAULT_VISUAL_ID, 0); if (tabItemVisual == null) { return; } } //武器不影响外观 if (weaponId == -1 && modelId != -1) { tabItemVisual = TableManager.GetItemVisualByID(modelId, 0); } int nCharModelID = Singleton <ObjManager> .Instance.MainPlayer.GetCharModelID(tabItemVisual); //Debug.LogError("nCharModelID is:" + nCharModelID); Tab_CharModel tabCharModel = TableManager.GetCharModelByID(nCharModelID, 0); if (tabCharModel == null) { return; } Tab_FakeObject tabFakeObject = TableManager.GetFakeObjectByID(m_PlayerFakeObjID, 0); if (tabFakeObject == null) { return; } //m_PlayerFakeObj = new FakeObject(); Singleton <ObjManager> .GetInstance().ReloadModel(m_FakeObjGameObject, tabCharModel.ResPath, Singleton <ObjManager> .GetInstance().AsycLoadFakeObjOver, tabFakeObject, m_FakeObj // weaponId: ); GameManager.gameManager.ActiveScene.ShowFakeObj(); }
public static Obj_MainPlayer CreateMainPlayerObj() { Obj_MainPlayer mainPlayerObj; //所有的玩家都创建自固定的PlayerRoot的Prefab,具体模型在PlayerRoot下建立Model节点 GameObject mainPlayer = ResourceManager.InstantiateResource("Prefab/Model/PlayerRoot", "MainPlayer") as GameObject; if (null == mainPlayer) { return(null); } //先加载逻辑 mainPlayerObj = mainPlayer.AddComponent <Obj_MainPlayer>(); //赋值玩家guid和职业 mainPlayerObj.Profession = GameManager.gameManager.PlayerDataPool.EnterSceneCache.Profession; mainPlayerObj.GUID = GameManager.gameManager.PlayerDataPool.EnterSceneCache.Guid; ///临时代码 写死玩家 装备 if (GameManager.gameManager.RunningScene == (int)GameDefine_Globe.SCENE_DEFINE.SCENE_FB_CABALINTRO) { mainPlayerObj.InitYanMenGuanWaiVisual(); } else { mainPlayerObj.ModelVisualID = GameManager.gameManager.PlayerDataPool.EnterSceneCache.ModelVisualID; mainPlayerObj.CurWeaponDataID = GameManager.gameManager.PlayerDataPool.EnterSceneCache.WeaponDataID; mainPlayerObj.WeaponEffectGem = GameManager.gameManager.PlayerDataPool.EnterSceneCache.WeaponEffectGem; } Tab_ItemVisual tabItemVisual = TableManager.GetItemVisualByID(mainPlayerObj.ModelVisualID, 0); if (tabItemVisual == null) { tabItemVisual = TableManager.GetItemVisualByID(GlobeVar.DEFAULT_VISUAL_ID, 0); if (tabItemVisual == null) { return(null); } } int nCharmodelID = mainPlayerObj.GetCharModelID(tabItemVisual, mainPlayerObj.Profession); Tab_CharModel charModel = TableManager.GetCharModelByID(nCharmodelID, 0); if (charModel == null) { return(null); } //初始化动作资源路径 mainPlayerObj.AnimationFilePath = charModel.AnimPath; mainPlayerObj.ModelID = nCharmodelID; //进行进场经处理 mainPlayerObj.OnPlayerEnterScene(); mainPlayerObj.ChangeHeadPic(); ObjManager cachedManager = Singleton <ObjManager> .Instance; if (cachedManager == null) { return(null); } cachedManager.AddPoolObj(mainPlayerObj.ServerID.ToString(), mainPlayerObj); //ObjMainPlayer初始化完成 mainPlayerObj.CanLogic = true; mainPlayerObj.transform.localScale = Vector3.one; //朝向屏幕 mainPlayerObj.FaceToScreen(); //向服务器发送EnterSceneOK消息包 CG_ENTER_SCENE_OK packet = (CG_ENTER_SCENE_OK)PacketDistributed.CreatePacket(MessageID.PACKET_CG_ENTER_SCENE_OK); packet.IsOK = 1; packet.SendPacket(); //m_MainPlayer.MountID = GameManager.gameManager.PlayerDataPool.EnterSceneCache.EnterSceneMountID; if (mainPlayerObj.IsDie()) { mainPlayerObj.OnCorpse(); } mainPlayerObj.VipCost = GameManager.gameManager.PlayerDataPool.VipCost; mainPlayerObj.OtherCombatValue = GameManager.gameManager.PlayerDataPool.PoolCombatValue; mainPlayerObj.PaoShangState = GameManager.gameManager.PlayerDataPool.EnterSceneCache.PaoShangState; //如果主角已经创建,清理服务器数据,防止重复建立,并且准备下次切换场景使用 GameManager.gameManager.PlayerDataPool.EnterSceneCache.ClearEnterSceneInfo(); cachedManager.m_bBeginAsycCreateMainPlayer = true; mainPlayerObj.BindParent = GameManager.gameManager.PlayerDataPool.MainBindParent; mainPlayerObj.UpdateBindChildren(GameManager.gameManager.PlayerDataPool.MainBindChildren); LoadModelToRoot(nCharmodelID, EResourceType.CharacterModel, LoadModelComplete, mainPlayer, charModel, false); return(mainPlayerObj); }
/// <summary> /// 创建其他玩家 这里可以优化一下 代码里获取 ModelId 的部分 可能是重复的 等具体功能应用后 替换成obj.ModelId /// </summary> /// <param name="initData"></param> public static void CreateOtherPlayer(Obj_Init_Data initData) { if (null == initData) { return; } GameObject otherPlayer = ResourceManager.InstantiateResource("Prefab/Model/OtherPlayerRoot", initData.m_ServerID.ToString()) as GameObject; if (null != otherPlayer) { //加载逻辑体,同时异步加载渲染体 Obj_OtherPlayer objOtherPlayer = otherPlayer.AddComponent <Obj_OtherPlayer>(); ////////////////////////////////临时代码 写死玩家 装备 其他玩家跟主玩家相同 // // initData.m_ModelVisualID = 18; // initData.m_WeaponDataID = 52188; // initData.m_WeaponEffectGem = 8909; ////////////////////////////////临时代码 写死玩家 装备 if (objOtherPlayer.Init(initData)) { objOtherPlayer.CanLogic = true; } Tab_ItemVisual tabItemVisual = TableManager.GetItemVisualByID(objOtherPlayer.ModelVisualID, 0); if (tabItemVisual == null) { tabItemVisual = TableManager.GetItemVisualByID(GlobeVar.DEFAULT_VISUAL_ID, 0); if (tabItemVisual == null) { return; } } int nCharmodelID = objOtherPlayer.GetCharModelID(tabItemVisual, objOtherPlayer.Profession); //变身的特殊处理 int nChangeModelId = objOtherPlayer.GetCharModelIDByChangeState(objOtherPlayer.Profession, objOtherPlayer.CurChangeState); //如果在变身状态,就用变身状态的模型ID去创建 if (nChangeModelId != GlobeVar.INVALID_ID) { nCharmodelID = nChangeModelId; } Tab_CharModel charModel = TableManager.GetCharModelByID(nCharmodelID, 0); if (charModel == null) { return; } ObjManager cachedManager = Singleton <ObjManager> .Instance; if (cachedManager == null) { return; } cachedManager.AddPoolObj(objOtherPlayer.ServerID.ToString(), objOtherPlayer); if (!cachedManager.CheckOhterPlayerVisibleState(initData, charModel, objOtherPlayer)) { return; } cachedManager.TestOtherPlayerVisible(objOtherPlayer); objOtherPlayer.IsLoadingModel = true; LoadModelToRoot(nCharmodelID, EResourceType.CharacterModel, LoadModelComplete, otherPlayer, charModel, objOtherPlayer.CurChangeState == (int)GameDefine_Globe.ChangeModeState.CHANGE_2 || objOtherPlayer.CurChangeState == (int)GameDefine_Globe.ChangeModeState.CHANGE_1); } }
public void InitFakeObjWeapon(GameObject Obj, int nCurWeaponID, Tab_FakeObject FakeObjTable) { // 重载武器 bool defaultVisual = false; Tab_ItemVisual WeaponVisual = null; Tab_EquipAttr tabEquipAttr = TableManager.GetEquipAttrByID(nCurWeaponID, 0); if (tabEquipAttr != null) { Tab_ItemVisual tabWeaponVisual = TableManager.GetItemVisualByID(tabEquipAttr.ModelId, 0); if (tabWeaponVisual != null) { WeaponVisual = tabWeaponVisual; } else { defaultVisual = true; } } else { defaultVisual = true; } if (defaultVisual) { Tab_ItemVisual tabDefaultVisual = TableManager.GetItemVisualByID(GlobeVar.DEFAULT_VISUAL_ID, 0); if (tabDefaultVisual == null) { return; } WeaponVisual = tabDefaultVisual; } if (WeaponVisual == null) { return; } int nWeaponModelID = GetWeaponModelID(WeaponVisual, GameManager.gameManager.OtherPlayerData.Profession); Tab_WeaponModel tabWeaponModel = TableManager.GetWeaponModelByID(nWeaponModelID, 0); if (tabWeaponModel == null) { return; } if (GameManager.gameManager.OtherPlayerData == null) { return; } if (GameManager.gameManager.OtherPlayerData.Profession == (int)CharacterDefine.PROFESSION.TIANSHAN || GameManager.gameManager.OtherPlayerData.Profession == (int)CharacterDefine.PROFESSION.GAIBANG) { LoadOtherViewWapon(Obj, "Weapon_L", tabWeaponModel.ResPath + "_L", new Vector3(tabWeaponModel.LeftRotX, tabWeaponModel.LeftRotY, tabWeaponModel.LeftRotZ)); LoadOtherViewWapon(Obj, "Weapon_R", tabWeaponModel.ResPath + "_R", new Vector3(tabWeaponModel.RightRotX, tabWeaponModel.RightRotY, tabWeaponModel.RightRotZ)); } else if (GameManager.gameManager.OtherPlayerData.Profession == (int)CharacterDefine.PROFESSION.XIAOYAO) { LoadOtherViewWapon(Obj, "Weapon_R", tabWeaponModel.ResPath + "_R", Vector3.zero); } else { LoadOtherViewWapon(Obj, "Weapon_R", tabWeaponModel.ResPath + "_R", new Vector3(tabWeaponModel.RightRotX, tabWeaponModel.RightRotY, tabWeaponModel.RightRotZ)); } }