public void Hit(IAIFightingMoves attack) { Debug.Log(this.gameObject.name + " is HIT"); if (attack == IAIFightingMoves.Slash && m_canbehitbyslash != false) { Debug.Log(this.gameObject.name + " dead by Slash"); Die(); } else if (attack == IAIFightingMoves.Stab && m_canbehitbystab != false) { Debug.Log(this.gameObject.name + " dead by Stab"); Die(); } }
void Update() { if (m_inbattlemode == true) { if (m_fightingmovetouse != IAIFightingMoves.SlashBlock) { m_canbehitbyslash = true; } else { m_canbehitbyslash = false; } if (m_fightingmovetouse != IAIFightingMoves.StabBlock) { m_canbehitbystab = true; } else { m_canbehitbystab = false; } m_fightbehaviour = CalculateFightBehaviour(m_nearbynode, m_mediumnode, m_farnode, m_anywherenode); m_fightcounter += Time.deltaTime; if (m_onground == true) { if (m_fightcounter > m_fightdelay) { m_fightingmovetouse = CalculateFightMove(m_fightbehaviour); //Debug.Log("Distance till player: " + DistanceCheck(m_player)); //Debug.Log("AI Fight distance: " + m_fightbehaviour); //Debug.Log("AI Fighting move: " + m_fightingmovetouse); m_fightcounter = 0; } } switch (m_fightingmovetouse) { case IAIFightingMoves.Slash: StopMoving(); ChangeAnimationState(IEntityAnimationState.SlashAttack); break; case IAIFightingMoves.Stab: StopMoving(); ChangeAnimationState(IEntityAnimationState.StabAttack); break; case IAIFightingMoves.SlashBlock: StopMoving(); ChangeAnimationState(IEntityAnimationState.SlashBlock); break; case IAIFightingMoves.StabBlock: StopMoving(); ChangeAnimationState(IEntityAnimationState.StabBlock); break; case IAIFightingMoves.DashTowards: StopMoving(); DashTowards(m_fastestmovespeed); ChangeAnimationState(IEntityAnimationState.Dashing); break; case IAIFightingMoves.DashAway: StopMoving(); DashAway(m_fastestmovespeed); ChangeAnimationState(IEntityAnimationState.Dashing); break; case IAIFightingMoves.Jump: //StopMoving(); if (m_onground != false) { Jump(m_jumpspeed); m_onground = false; } ChangeAnimationState(IEntityAnimationState.Jumping); break; //case IAIFightingMoves.JumpAttack: //StopMoving(); //ChangeAnimationState(IEntityAnimationState.JumpAttack); //break; case IAIFightingMoves.WalkTowards: WalkTowardsTarget(m_slowestmovespeed); ChangeAnimationState(IEntityAnimationState.Walking); break; //case IAIFightingMoves.RunTowards: //RunTowardsTarget(m_fastestmovespeed); //ChangeAnimationState(IEntityAnimationState.Running); //break; case IAIFightingMoves.WalkAway: WalkAwayFromTarget(m_slowestmovespeed); ChangeAnimationState(IEntityAnimationState.Walking); break; //case IAIFightingMoves.RunAway: //RunAwayFromTarget(m_fastestmovespeed); //ChangeAnimationState(IEntityAnimationState.Running); //break; } } }