/// <summary> /// 被连接者添加连线效果特效 /// </summary> private void AddEnergyEffect() { /// TODO.读表 if (m_EnergyBodyFxInstance == null) { m_EnergyBodyFxInstance = EffectManager.GetInstance().CreateEffect(m_EternityProxy.GetGamingConfig(1).Value.Treasure.Value.Effect.Value.SurroundEffect, EffectManager.GetEffectGroupNameInSpace(m_Property.IsMain())); m_EnergyBodyFxInstance.transform.SetParent(m_Property.GetSkinRootTransform(), false); m_EnergyBodyFxInstance.SetCreateForMainPlayer(m_Property.IsMain()); /// 音效 TreasureHuntProxy treasure = GameFacade.Instance.RetrieveProxy(ProxyName.TreasureHuntProxy) as TreasureHuntProxy; treasure.DisturborSoundEffect(m_Property.UId()); } else { m_EnergyBodyFxInstance.PlayFX(); } }
//private void OnCollisionEnter(Collision obj) //{ // OnSpacecraftSlidingEnd(); //} //private void OnCollisionStay(Collision obj) //{ //} //private void OnCollisionExit(Collision obj) //{ //} //private void OnRelive(IComponentEvent obj) //{ // m_DeadFxState = DeadState.None; // RealTimerUtil.Instance.Unregister(m_ShowDeadFxTimerId); //} private void OnDead(IComponentEvent obj) { DeadEvent deadEvent = obj as DeadEvent; if (!m_SpacecraftDeadProperty.IsDead()) { return; } m_DropInfoList = deadEvent.DropList; /// TODO.宝藏特殊处理 /// 服务器创建后立马死亡 //if (m_SpacecraftDeadProperty.IsNotHaveAva()) //{ // if (m_DropInfoList != null && m_DropInfoList.Count > 0) // { // DropItemManager.Instance.SetDropItemInfoByDeath(m_SpacecraftDeadProperty.UId(), m_DropInfoList); // } // return; //} /// npc死亡 if (m_SpacecraftDeadProperty.GetHeroType() != KHeroType.htPlayer) { Npc npcVO = m_SpacecraftDeadProperty.GetNPCTemplateVO(); if (npcVO.SoundDead > 0) { SendEvent(ComponentEventName.PlaySound, new PlaySound() { SoundID = (int)npcVO.SoundDead }); } /// 导演死检查音乐盒子 if (m_SpacecraftDeadProperty.GetHeroType() == KHeroType.htPlotMonster) { MSAIBossProxy msab = GameFacade.Instance.RetrieveProxy(ProxyName.MSAIBossProxy) as MSAIBossProxy; msab.DestroySoundBox(m_SpacecraftDeadProperty.UId()); } /// TODO.干扰器死亡 else if (m_SpacecraftDeadProperty.GetHeroType() == KHeroType.htDisturbor) { /// 自己的停掉 SpacecraftEntity ownerEntity = m_SpacecraftDeadProperty.GetOwner(); ownerEntity.SendEvent(ComponentEventName.PlaySound, new PlaySound() { SoundID = (int)WwiseMusic.Treasure_Disturbor_Sound5, Transform = ownerEntity.GetSkinTransform() }); TreasureHuntProxy treasure = GameFacade.Instance.RetrieveProxy(ProxyName.TreasureHuntProxy) as TreasureHuntProxy; treasure.DisturborSoundEffect(m_SpacecraftDeadProperty.GetOwner().m_EntityFatherOwnerID); } } m_SpacecraftDeadProperty.SetTarget(null, null); #region 待服务器在new_hero协议中添加复活状态逻辑后删除 if (m_SpacecraftDeadProperty.IsMain()) { m_GameplayProxy = GameFacade.Instance.RetrieveProxy(ProxyName.GameplayProxy) as GameplayProxy; if (m_SpacecraftDeadProperty.IsMain()) { CfgEternityProxy eternityProxy = GameFacade.Instance.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy; m_GameplayProxy.SetDeadMapID(eternityProxy.GetCurrentMapData().GamingmapId); } } #endregion ShowRelivePanel(deadEvent); SpacecraftPresentation presentation = m_SpacecraftDeadProperty.GetPresentation(); if (presentation != null) { if (presentation.SpacecraftDeadType != SpacecraftPresentation.SpacecraftType.Warship) { OnDeviceDead(deadEvent); } } }