IEnumerator NpcStatusProcess( Msg_NpcStatus _status) { while( null == m_Entity.ModelObject) { yield return null; } AsEffectManager.Instance.RemoveEffectEntity( m_Statusidx); switch( _status.status_) { case eNPCSTATUS.eNPCSTATUS_FINDENEMY: AsEffectManager.Instance.PlayEffect( "Fx/Effect/COMMON/Fx_Common_Add", Entity.ModelObject.transform, false, 0); #region -MonsterLines if( _status.sessionIdx_ == AsUserInfo.Instance.SavedCharStat.sessionKey_) { yield return new WaitForSeconds( 1.5f); PromptLines( AsMonsterLineManager.Instance.GetLine( m_MonsterEntity.TableIdx, eMonsterLineType.Add)); } #endregion break; case eNPCSTATUS.eNPCSTATUS_RUNAWAY_START: m_Statusidx = AsEffectManager.Instance.PlayEffect( "Fx/Effect/COMMON/Fx_Common_RunAway", Entity.ModelObject.transform, false, 0 ); break; case eNPCSTATUS.eNPCSTATUS_RUNAWAY_END: AsEffectManager.Instance.RemoveEffectEntity( m_Statusidx); break; case eNPCSTATUS.eNPCSTATUS_RESIST_DEBUFF: AsHUDController.Instance.panelManager.ShowDebuffResist( Entity.gameObject); break; } }
void NpcStatus(byte[] _packet) { body_SC_NPC_STATUS data = new body_SC_NPC_STATUS(); data.PacketBytesToClass(_packet); Msg_NpcStatus status = new Msg_NpcStatus(data); AsEntityManager.Instance.DispatchMessageByNpcSessionId( data.nNpcIdx, status); }