Exemplo n.º 1
0
	void OnAttack( AsIMessage _msg)
	{
		if( m_AttackSC != null && m_AttackSC.ready_ == false)
			OnHitExecution( _msg);

		m_AttackSC = _msg as Msg_OtherCharAttackNpc1;
		m_OtherUserEntity.HandleMessage( new Msg_CombatBegin());
		
		if( m_AttackSC.ready_ == true)
		{
//			float attackSpeed = m_Entity.GetProperty<float>( eComponentProperty.ATTACK_SPEED);
			Msg_OtherCharAttackNpc_Ready ready = new Msg_OtherCharAttackNpc_Ready( m_AttackSC);//, attackSpeed);
			if( ready.CheckNonAnimation() == false)
				m_CurrentFsmState.MessageProcess( ready);
		}
		else
		{
//			AsTimerManager.Instance.SetTimer( 3, Timer_LateExecution);

//			int actionIdx = m_AttackSC.actionTableIdx_;
//			Tbl_Action_Record record = AsTableManager.Instance.GetTbl_Action_Record( actionIdx);
//			if( record.HitAnimation.hitInfo.HitType != eHitType.ProjectileTarget)
//			{
				OnHitExecution( _msg);
//			}
		}

		if( showReceiveAttackMsg == true)
		{
			Debug.Log( "AsOtherUserFsm::OnAttack: session id=" + m_AttackSC.sessionId_ + " charUniqKey_" + m_AttackSC.charUniqKey_ +
				" npc id=" + m_AttackSC.npcIdx_ + " target pos=" + m_AttackSC.targeting_ + " direction=" + m_AttackSC.direction_ +
				" skill table idx=" + m_AttackSC.skillTableIdx_ + " skill level=" + m_AttackSC.skillLevel_ +
				" action table idx=" + m_AttackSC.actionTableIdx_ + " charge step=" + m_AttackSC.chargeStep_ +
				" casting=" + m_AttackSC.casting_ + " ready=" + m_AttackSC.ready_ +
				" cur hp=" + m_AttackSC.hpCur_ + " npc cnt=" + m_AttackSC.npcCnt_ + " char cnt=" + m_AttackSC.charCnt_);
		}
	}
Exemplo n.º 2
0
	public Msg_OtherCharAttackNpc_Link( Msg_OtherCharAttackNpc_Ready _ready)
	{
		m_MessageType = eMessageType.OTHER_CHAR_ATTACK_LINKACTION;

		ready_	= _ready;
	}
Exemplo n.º 3
0
	void OnStance( AsIMessage _msg)
	{
		Msg_OtherCharSkillStance stance = _msg as Msg_OtherCharSkillStance;
		m_StanceInfo = new StanceInfo( stance);
		m_OtherUserEntity.SetStance( m_StanceInfo);
		
//		Tbl_Skill_Record skill = AsTableManager.Instance.GetTbl_Skill_Record( stance.stanceSkill_);
//		eGENDER gender = m_Entity.GetProperty<eGENDER>(eComponentProperty.GENDER);
		
		Msg_OtherCharAttackNpc1 attack = new Msg_OtherCharAttackNpc1( stance);
		Msg_OtherCharAttackNpc_Ready ready = new Msg_OtherCharAttackNpc_Ready( attack);
		m_CurrentFsmState.MessageProcess( ready);
		
		m_OtherUserEntity.HandleMessage( new Msg_CombatBegin());
		
		m_ElementProcessor.PotencyProcess( stance);
	}
Exemplo n.º 4
0
	public Msg_OtherCharAttackNpc_Hit( Msg_OtherCharAttackNpc_Ready _ready)
	{
		m_MessageType = eMessageType.OTHER_CHAR_ATTACK_HIT;

		ready_ = _ready;
	}