39 lines
1.0 KiB
C#
39 lines
1.0 KiB
C#
using UnityEngine;
|
|
using System.Collections;
|
|
|
|
public class LaserController : MonoBehaviour {
|
|
public Led laserBeam;
|
|
public Predicate[] enablePredicates;
|
|
public PlayerSensor sensor;
|
|
public RandomSoundPlayer hitPlayer;
|
|
private bool _enabled;
|
|
|
|
// Use this for initialization
|
|
void Start () {
|
|
if (sensor != null) {
|
|
sensor.PlayerEnter += sensor_PlayerEnter;
|
|
}
|
|
}
|
|
|
|
void sensor_PlayerEnter(PlayerSensor senso, GameObject player) {
|
|
senso.Player.GetComponent<Rigidbody2D>().velocity = Vector3.zero;
|
|
senso.Player.GetComponent<Health>().ApplyDamage(100, gameObject, transform.position);
|
|
if (hitPlayer != null) {
|
|
hitPlayer.Play();
|
|
}
|
|
}
|
|
|
|
// Update is called once per frame
|
|
void Update () {
|
|
_enabled = true;
|
|
foreach (var p in enablePredicates) {
|
|
if (p != null && !p.Check()) {
|
|
_enabled = false;
|
|
break;
|
|
}
|
|
}
|
|
|
|
laserBeam.gameObject.SetActive(_enabled);
|
|
}
|
|
}
|