void Update() { if (Input.GetKeyDown(KeyCode.H)) { CreateObjFunction.CreateModelStoryObj(463, "JXZFastMove1", Test); LogModule.DebugLog("fffffffffff"); } if (Input.GetKeyDown(KeyCode.K)) { ObjSnare_Init_Data initData = new ObjSnare_Init_Data(); initData.m_ServerID = 10000000; initData.m_OwerGuid = Singleton <ObjManager> .Instance.MainPlayer.GUID; initData.m_OwnerObjId = Singleton <ObjManager> .Instance.MainPlayer.ServerID; initData.m_fX = 1; initData.m_fZ = 5; initData.m_SnareID = 1; CreateObjFunction.CreateModelSnareObj(initData); } if (Input.GetKeyDown(KeyCode.Y)) { ObjYanHua_Init_Data initData = new ObjYanHua_Init_Data(); initData.m_ServerID = 10000000; initData.m_OwerGuid = Singleton <ObjManager> .Instance.MainPlayer.GUID; initData.m_OwnerObjId = Singleton <ObjManager> .Instance.MainPlayer.ServerID; initData.m_fX = 1; initData.m_fZ = 1; initData.m_nYanHuaID = 2; CreateObjFunction.CreateModelYanhuaObj(initData); } }
public uint Execute(PacketDistributed ipacket) { GC_CREATE_YANHUA packet = (GC_CREATE_YANHUA)ipacket; if (null == packet) { return((uint)PACKET_EXE.PACKET_EXE_ERROR); } //enter your logic //安全措施,如果发现ServerID已经存在,则先移除掉 if (Singleton <ObjManager> .GetInstance().IsObjExist(packet.ServerId)) { Singleton <ObjManager> .GetInstance().RemoveObj(packet.ServerId); } ObjYanHua_Init_Data initData = new ObjYanHua_Init_Data(); initData.m_ServerID = packet.ServerId; initData.m_OwerGuid = packet.Owerguid; initData.m_OwnerObjId = packet.OwerId; initData.m_fX = ((float)packet.PosX) / 100; initData.m_fZ = ((float)packet.PosZ) / 100; initData.m_nYanHuaID = packet.SnareId; //Singleton<ObjManager>.GetInstance().CreateYanHuaObj(initData); CreateObjFunction.CreateModelYanhuaObj(initData); return((uint)PACKET_EXE.PACKET_EXE_CONTINUE); }
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); } }