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