Exemplo n.º 1
0
    // instantiate a new soldier
    public void InstantiateSoldier()
    {
        SoldierSlot availableSlot = getAvailableSlot();

        // no place was found
        if (availableSlot == null)
        {
            print(string.Format("Tower {0} - No free slots", playerNumber));
        }

        // instantiate a new soldier and target it towards the free soldier slot
        else
        {
            setGateOpen(true);

            GameObject newSoldier = Instantiate(soldierPrefab,
                                                soldierInstantiatePosition.position,
                                                Quaternion.LookRotation(-transform.forward, transform.up),
                                                transform) as GameObject;
            newSoldier.GetComponent <SortingGroup>().sortingOrder = countNumOfSoldiers;
            SoldierHealth newSoldierComponent = newSoldier.GetComponent <SoldierHealth>();
            newSoldierComponent.spawnPoint  = soldierInstantiatePosition;
            newSoldierComponent.soldierSlot = availableSlot;
            //newSoldierComponent.speed = 10;

            currentNumOfSoldiers++;
            countNumOfSoldiers++;

            //Invoke("closeGate", delayBeforeClosingTheGate);
        }
    }
 void Awake()
 {
     player       = GameObject.FindGameObjectWithTag("Player");
     playerHealth = player.GetComponent <SoldierHealth>();
     enemyHealth  = GetComponent <EnemyHealth>();
     anim         = GetComponent <Animator> ();
 }
 void Awake()
 {
     player = GameObject.FindGameObjectWithTag("Player").transform;
     Debug.Log("player " + player);
     playerHealth = player.GetComponent <SoldierHealth> ();
     enemyHealth  = GetComponent <EnemyHealth> ();
     nav          = GetComponent <NavMeshAgent> ();
     Debug.Log("nav " + nav);
 }
Exemplo n.º 4
0
    /* Shooting Damage */
    void OnTriggerEnter(Collider collid) {
        
        if(collid.tag == "Rocket Brigadier"){
           soldierHealth = collid.GetComponent<SoldierHealth>();
           GameObject explosive = Instantiate(explosion, collid.transform.position, Quaternion.identity) as GameObject;
           audio = explosive.GetComponent<AudioSource>();   
           audio.PlayOneShot(explosionAudio, 0.5f);

           if(soldierHealth != null) { 
              soldierHealth.TakingDamage(shootingDamage);
           }
        }

        Destroy(gameObject, 1f);
    }
Exemplo n.º 5
0
    void Shoot()
    {
        timer = 0f;

        ShootRay.origin    = transform.position;
        ShootRay.direction = transform.forward;

        if (Physics.Raycast(ShootRay, out shootHit, Range, ShootableMask))
        {
            SoldierHealth soldierHealth = shootHit.collider.GetComponent <SoldierHealth>();
            if (soldierHealth != null)
            {
                soldierHealth.TakeDamage(damagePerShot, shootHit.point);
            }
            gunLine.SetPosition(1, shootHit.point);
        }
        else
        {
            gunLine.SetPosition(1, ShootRay.origin + ShootRay.direction * Range);
        }
    }