Beispiel #1
0
    void ShootInstaHitZap(float intendedDamage)
    {
        //needed to damage enemy
        skaterBehaviour skaterStats = target.GetComponent <skaterBehaviour>();

        //do zapper stuff
        lightningZap.enabled     = true;
        lightningZap.StartObject = firePoint;
        //get the point of impact on enemy
        Vector3 enemyDir         = target.transform.position - firePoint.position;
        float   enemySurfaceDist = Mathf.Clamp(enemyDir.magnitude,
                                               enemyDir.magnitude - 2, enemyDir.magnitude - target.GetComponent <Renderer>().bounds.size.x);
        Vector3 enemyHitPoint = enemyDir.normalized * enemySurfaceDist;

        //use target.transform for now (need change in lightning script maybe)
        lightningZap.EndObject = target.transform;
        float zapDuration = (1f / TB.attackrate) / 2f;

        lightningZap.Duration = Mathf.Clamp(zapDuration, 0.03f, 0.2f);
        ln.enabled            = true;
        lightningZap.Trigger();
        //StartCoroutine(fadeLigtning((1 / TB.attackrate) / 2));
        //instatiate effect at lightningZap.endPosition
        skaterStats.TakeDamage(intendedDamage);
    }
 public void removeSkaterFromQue(skaterBehaviour objToRemove)
 {
     if (waitingSkaters.Contains(objToRemove))
     {
         waitingSkaters.Remove(objToRemove);
     }
 }
    public void addSkaterToQue(skaterBehaviour objToAdd)
    {
        if (waitingSkaters.Contains(objToAdd))
        {
            Debug.Log("Object " + objToAdd.name + " is already in the que and was therefore not added");
            return;
        }

        waitingSkaters.Add(objToAdd);
    }
    void spawnSkater(int amountToSpawn)
    {
        Vector3 halfAreaSize    = spawnAreaSize / 2;
        Vector3 positionToSpawn = new Vector3(Random.Range(-halfAreaSize.x, halfAreaSize.x),
                                              transform.position.y, Random.Range(-halfAreaSize.z, halfAreaSize.z));

        GameObject newSkater = Instantiate(skaterToSpawn, positionToSpawn + transform.position, Quaternion.identity);

        newSkater.gameObject.name = "Test Skater";
        skaterBehaviour behaviour = newSkater.GetComponent <skaterBehaviour>();
    }
Beispiel #5
0
    void hitTarget()
    {
        Debug.Log("The bullet hit " + target.name);
        if (hitEffect != null)
        {
            GameObject effectInstance = (GameObject)Instantiate(hitEffect, transform.position, transform.rotation);
            Destroy(effectInstance, 4f);
        }
        Destroy(gameObject);
        skaterBehaviour targetsStats = target.GetComponent <skaterBehaviour>();

        targetsStats.TakeDamage(damage);
    }
Beispiel #6
0
 private void OnCollisionEnter(Collision collision)
 {
     if (collision.gameObject.layer.Equals(LayerMask.NameToLayer("Skater")))
     {
         //Debug.Log("I have hit another skater!" + collision.gameObject.name);
         skaterBehaviour otherSkater = collision.gameObject.GetComponent <skaterBehaviour>();
         if (otherSkater.getIsOnSkateboard())
         {
             //do some que system
             Debug.Log("I will que up now");
             sBoardStats.addSkaterToQue(this);
         }
     }
 }