void CheckDodge() { if (!inTrigger) { RaycastHit2D raycastHit2D = Physics2D.Raycast(transform.position + new Vector3(0, 5, 0), transform.up, 500); //Debug.DrawRay(transform.position, transform.up * 500); if (raycastHit2D.collider != null) { if (raycastHit2D.collider.tag == "Player") { dodgeMe = true; } } if (dodgeMe) { if (delayAssesin > 0) { delayAssesin = delayAssesin - Time.deltaTime; } else if (delayAssesin <= 0) { stateAssasin = StateAssasin.Assasin; } } } }
public void CheckAttackMine() { if (Mathf.Abs((transform.position.x - player.transform.position.x)) <= distanceMina && Mathf.Abs((transform.position.y - player.transform.position.y)) <= distaceY) { if (stateAssasin == StateAssasin.Mine) { if (delayActivateMina <= 0) { spriteRenderer.color = Color.red; player.life = 0; } else if (delayActivateMina > 0) { inMine = true; spriteRenderer.color = colorWarning; delayActivateMina = delayActivateMina - Time.deltaTime; } } } else if (inMine) { if (Mathf.Abs((transform.position.x - player.transform.position.x)) > distanceMina || Mathf.Abs((transform.position.y - player.transform.position.y)) > distaceY) { stateAssasin = StateAssasin.Assasin; normalAttackDelay = 0; } } if (Mathf.Abs((transform.position.x - player.transform.position.x)) <= distanceAttack && Mathf.Abs((transform.position.y - player.transform.position.y)) <= distaceY) { speedMovement = 0; if (stateAssasin == StateAssasin.Assasin) { if (normalAttackDelay <= 0) { player.life = player.life - Damage; normalAttackDelay = auxNormalAttackDelay; source.PlayOneShot(doneDamage, volume); } else if (normalAttackDelay > 0) { normalAttackDelay = normalAttackDelay - Time.deltaTime; } } } }