void Attack() { timer = 0f; if (playerHealth.currentHealth > 0) { playerHealth.TakeDamage(attackDamage); GameObject player = GameObject.FindGameObjectWithTag("Player"); MsgCSEnemyAttack msg = new MsgCSEnemyAttack(this.GetComponentInParent <EntityAttributes>().EntityID, player.GetComponent <EntityAttributes>().EntityID); NetworkMsgSendCenter msgcenter = GameObject.FindGameObjectWithTag("NetworkManager").GetComponent <NetworkMsgSendCenter>(); msgcenter.SendMessage(msg); } }
void Attack() { if (player == null) { return; } if (timer < timeBwteenAttacks || playerHealth.currentHealth < 0 || enemyHealth.currentHealth < 0) { return; } Vector3 posPlayer = player.transform.position; Vector3 posCurrent = this.firepoint.position; posPlayer.y = posCurrent.y; Vector3 vec = posPlayer - posCurrent; if (vec.magnitude < attackRange) { shootRay.origin = this.firepoint.position; vec.Normalize(); shootRay.direction = vec; if (Physics.Raycast(shootRay, out shootHit, range, shootableMask)) { PlayerHealth playerHealth = shootHit.collider.GetComponent <PlayerHealth>(); if (playerHealth != null) { playerHealth.TakeDamage(attackDamage); timer = 0; gunLine.enabled = true; gunLine.SetPosition(0, shootRay.origin); gunLine.SetPosition(1, posPlayer); GameObject player = GameObject.FindGameObjectWithTag("Player"); MsgCSEnemyAttack msg = new MsgCSEnemyAttack(this.GetComponentInParent <EntityAttributes>().EntityID, player.GetComponent <EntityAttributes>().EntityID); NetworkMsgSendCenter msgcenter = GameObject.FindGameObjectWithTag("NetworkManager").GetComponent <NetworkMsgSendCenter>(); msgcenter.SendMessage(msg); } } } }