public bool Init(ObjYanHua_Init_Data initData) { if (null == m_ObjTransform) { m_ObjTransform = transform; } //服务器发过来的信息 ServerID = initData.m_ServerID; YanHuaId = initData.m_nYanHuaID; OwerobjID = initData.m_OwnerObjId; OwnerGuid = initData.m_OwerGuid; m_ObjTransform.position = ActiveScene.GetTerrainPosition(new Vector3(initData.m_fX, 0, initData.m_fZ)); Obj_Character ownerCharacter = Singleton <ObjManager> .GetInstance().FindObjCharacterInScene(OwerobjID); if (ownerCharacter != null) { Vector3 newPosVector3 = m_ObjTransform.position; newPosVector3.y = ownerCharacter.ObjTransform.position.y; m_ObjTransform.position = newPosVector3; } //初始化特效 if (ObjEffectController == null) { ObjEffectController = gameObject.AddComponent <ObjEffectBehaviourController>(); } //播放特效 Tab_YanHua TabYanHua = TableManager.GetYanHuaByID(YanHuaId, 0); if (TabYanHua != null) { int AliveEffectId = TabYanHua.AliveEffectId; if (AliveEffectId != -1 && ObjEffectController != null) { PlayEffect(AliveEffectId); } } return(true); }
public static void CreateModelYanhuaObj(ObjYanHua_Init_Data initData) { if (null == initData) { return; } //根据RoleBase的ID获得路径 Tab_YanHua YanHuaInfo = TableManager.GetYanHuaByID(initData.m_nYanHuaID, 0); if (null == YanHuaInfo) { return; } Tab_CharModel charModel = TableManager.GetCharModelByID(YanHuaInfo.CharModelId, 0); if (null == charModel) { return; } GameObject yanhuaGo = ResourceManager.InstantiateResource("Prefab/Model/SnareRoot", initData.m_ServerID.ToString()) as GameObject; if (null != yanhuaGo) { Obj_YanHua objYanhua = yanhuaGo.AddComponent <Obj_YanHua>(); if (objYanhua.Init(initData)) { objYanhua.CanLogic = true; Singleton <ObjManager> .Instance.AddPoolObj(objYanhua.ServerID.ToString(), objYanhua); } LoadModelToRoot(YanHuaInfo.CharModelId, EResourceType.CharacterModel, LoadModelComplete, yanhuaGo, charModel, null); } }