Example #1
0
    void DetectCollision()
    {
        hit = detectZone.DetectCollider(transform);

        if (hit)
        {
            GetHitInfo();
            if (Data.spawnOnImpact.Length > 0)
            {
                DoSpawnOnImpact();
            }

            if (Data.interactFX.Length > 0)
            {
                DoInteractFX(hit.gameObject);
            }

            Unit unit = hit.GetComponent <Unit>();
            if (unit)
            {
                DoDamage(unit);
            }

            curhitAmount++;
            if (curhitAmount >= Data.hitMaxAmount)
            {
                KillProjectile();
            }
        }

        lastPos = transform.position;
    }
Example #2
0
    void DetectCollision()
    {
        if (Data.impactType != ProjectileData.OnImpactType.DetectZone)
        {
            return;
        }

        var hit = detectZone.DetectCollider(transform, out rayHit);

        if (hit)
        {
            if (!impacted)
            {
                OnImpact(hit.gameObject);
                impacted = true;
            }
        }
        else if (impacted)
        {
            impacted = false;
        }
    }