예제 #1
0
    public void Shoot()
    {
        Debug.Log("This is Shoot");
        shootLight.enabled = true;
        timer = 0f;

        //shootEff.Stop();
        //shootEff.Simulate(0.1f);
        //shootEff.Play();
        shootLine.enabled = true;
        shootLine.SetPosition(0, transform.position);          // The first pos

        shootRay.origin    = transform.position;
        shootRay.direction = transform.forward;
        // shexian jiance
        RaycastHit shootHit;

        if (Physics.Raycast(shootRay, out shootHit))
        {
            DragonHealth dh = shootHit.collider.GetComponent <DragonHealth>();
            if (dh != null)
            {
                dh.TakeDamage(damagePerShot);
                //dh.TakeDamage(damagePerShot, shootHit.point);
            }
            shootLine.SetPosition(1, shootHit.point);              // The second pos
        }
        else
        {
            shootLine.SetPosition(1, shootRay.origin + shootRay.direction * range);              // The second pos
        }
    }
예제 #2
0
 // Use this for initialization
 void Start()
 {
     anim       = GetComponent <Animator>();
     player     = GameObject.FindGameObjectWithTag("Player");
     ps         = player.GetComponent <playSpwan>();
     dragonLife = GetComponent <DragonHealth>();
     //fireParticle = GetComponentInChildren<ParticleSystem>();  //fire system
     fireParticle.Stop();
 }
예제 #3
0
    public void DamageDragon()
    {
        DragonHealth      -= 1;
        PeriodSufferDamge += 1;
        if (DragonHealth > 0)
        {
            SetTransition(Transition.Beaten);
            anim.SetTrigger("beaten");
        }

        Debug.Log("damage dragon,health: " + DragonHealth.ToString());
        if (DragonHealth == 0)
        {
            anim.SetTrigger("death");
            gamecontroller.RestartGame();
        }
    }
예제 #4
0
 void Awake()
 {
     enemyParent = GetComponentInParent <DragonHealth>();
 }