コード例 #1
0
 // Start is called before the first frame update
 void Start()
 {
     player     = gameManager.player;
     maxHealth  = player.maxHealth;
     lastHealth = player.currentHealth;
     GenerateHearths();
 }
コード例 #2
0
 protected virtual void Start()
 {
     base.Start();
     player               = GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerKnightController>();
     target               = player.transform;
     isReadyToAtack       = true;
     agent                = GetComponent <NavMeshAgent>();
     agent.updateRotation = false;
     agent.updateUpAxis   = false;
     agent.speed          = speed;
 }
コード例 #3
0
 public void DoAttackMelee()
 {
     if (isReadyToAtack)
     {
         isReadyToAtack     = false;
         doAtk              = true;
         lastTargetPosition = target.position;
         Vector2 dir = lastTargetPosition - transform.position;
         Debug.DrawRay(transform.position, dir, Color.red, 2f);
         int          layer = 1 << 10;
         RaycastHit2D hit   = Physics2D.Raycast(transform.position, dir, 1, layer);
         if (hit)
         {
             if (hit.collider.tag == "Player")
             {
                 PlayerKnightController player = hit.transform.GetComponent <PlayerKnightController>();
                 player.RecieveDamage(atkDamage);
             }
         }
     }
 }
コード例 #4
0
 public void DoExplosion()
 {
     if (isReadyToAtack)
     {
         isReadyToAtack     = false;
         doAtk              = true;
         lastTargetPosition = target.position;
         Vector2      dir   = lastTargetPosition - transform.position;
         int          layer = 1 << 10;
         RaycastHit2D hit   = Physics2D.CircleCast(transform.position, explosionRadius, dir, explosionRadius, layer);
         if (hit)
         {
             if (hit.collider.tag == "Player")
             {
                 PlayerKnightController player = hit.transform.GetComponent <PlayerKnightController>();
                 player.RecieveDamage(atkDamage);
             }
         }
         myAnimator.SetTrigger("Explosion");
         audioSource.PlayOneShot(explosionClip);
     }
 }