void OnTriggerEnter(Collider col) { if (col.gameObject.layer == LayerMask.NameToLayer("ExplodeObject")) { ExplodeObject obj = col.gameObject.GetComponent <ExplodeObjectCollider> ().explodeObject; if (obj.isActive) { cannonPanel.MakeDamage(col.gameObject.GetComponent <ExplodeObjectCollider> ().explodeObject.damageHealthParam.damage); obj.ExplodeObjectDestroy(); } } }
public void LaserActive() { if (Physics.Raycast(spawnerTransform.position, direction, out rayHit, maximumDistance, (1 << LayerMask.NameToLayer("CannonPanel")))) { if (cannonsPanel == null) { cannonsPanel = rayHit.collider.GetComponent <CannonsPanelCollider> ().cannonPanel; } float maskScaleY = Vector3.Distance(spawnerTransform.position, rayHit.point) * 1.65f; laserMask.localScale = new Vector3(laserMask.lossyScale.x, maskScaleY, laserMask.localScale.z); if (!laserEffectActive) { laserHitEffect.SetActive(true); laserEffect.SetActive(true); laserEffectActive = true; } if (laserTickTimer.TimeIsOver()) { cannonsPanel.MakeDamage(ship.explodeObject.damageHealthParam.damage); laserTickTimer.SetTimer(ship.explodeObject.damageHealthParam.damageTickTime); } } }