Exemple #1
0
 void Start()
 {
     dc = GetComponent <DamnageControl>();
     tc = GetComponent <TankControl>();
     pm = Singleton <ParticleManager> .instance;
     tm = Singleton <TimeManager> .instance;
 }
Exemple #2
0
    private void Hit(DamnageControl dc, Collision collision)
    {
        var contact = collision.contacts[0];
        var cosvel  = Mathf.Clamp01(Vector3.Dot(collision.relativeVelocity.normalized, contact.normal));
        var damnage = damnageAtSpeed * rigid.velocity.magnitude / speed * cosvel;

        dc.TakeDamnage(damnage, contact.normal, contact.point);
        Singleton <ParticleManager> .instance.Emit("SparkHit", contact.point, Quaternion.LookRotation(contact.normal + (collision.relativeVelocity + rigid.velocity)));

        Singleton <ParticleManager> .instance.Emit("DustHit", contact.point, Quaternion.LookRotation(contact.normal + (collision.relativeVelocity + rigid.velocity)));

        Destroy(gameObject);
    }