class CrossingLightController extends TrafficLightController
{

	public const override function GetPS() : CrossingLightControllerPS
	{
		return ( ( CrossingLightControllerPS )( GetBasePS() ) );
	}

}

struct CrossingLightSetup
{
	[ customEditor = "AudioEvent" ]
	instanceeditable var m_greenLightSFX : CName;
	[ customEditor = "AudioEvent" ]
	instanceeditable var m_redLightSFX : CName;
}

class CrossingLightControllerPS extends TrafficLightControllerPS
{
	default m_deviceName = "LocKey#125";
	default m_tweakDBRecord = T"Devices.CrossingLight";
	default m_tweakDBDescriptionRecord = T"device_descriptions.CrossingLight";
	protected instanceeditable var m_crossingLightSFXSetup : CrossingLightSetup;

	protected event OnInstantiated()
	{
		super.OnInstantiated();
	}

	protected override function Initialize()
	{
		super.Initialize();
	}

	protected override function GameAttached()
	{
		super.GameAttached();
	}

	public function GetGreenSFX() : CName
	{
		return m_crossingLightSFXSetup.m_greenLightSFX;
	}

	public function GetRedSFX() : CName
	{
		return m_crossingLightSFXSetup.m_redLightSFX;
	}

}

