Files
MetalGear2D.Unity/Assets/Scripts/Laser/LaserController.cs
T

39 lines
1.0 KiB
C#
Raw Normal View History

2025-05-13 05:19:58 +03:00
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);
}
}