void FixedUpdate() { raycastDirection = (endPoint.position - startPoint.position).normalized; if (IsDebuggingEnabled) { Debug.DrawRay(startPoint.position, raycastDirection * raycastLength, Color.blue); } bool isLightSensorHitPlayer = (Physics2D.Raycast(startPoint.position, raycastDirection, raycastLength, PlayerLayerID).collider != null); if (isLightSensorHitPlayer && !isSwitchTriggered) { if (DelayToSwitch > 0) { Invoke("startSwitch", DelayToSwitch); } else { OnLightSensorTriggered?.Invoke(SensorLight); } } isSwitchTriggered = isLightSensorHitPlayer; }
void startSwitch() { OnLightSensorTriggered?.Invoke(SensorLight); }