예제 #1
0
	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;
		}
	}
예제 #2
0
	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);
	}