using Aitex.Core.Util; using MECF.Framework.Common.Device.Bases; using MECF.Framework.Common.Equipment; using CyberX8_RT.Devices.EFEM; using CyberX8_RT.Modules; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CyberX8_RT.Devices.SignalLight { public class SunWaySignalTower : SignalTowerBase { private EfemBase _efem; private List _lights = new List(); public SunWaySignalTower(string module, string name) : base("", "") { base.Module = module; base.Name = name; base.Display = name; base.DeviceID = ""; } public override bool Initialize() { base.Initialize(); if (_efem == null && Singleton.Instance.EFEM != null) { _efem = Singleton.Instance.EFEM.EfemDevice; } CustomSignalTower(); return true; } //重新连接EFEM之后,需要重置灯塔 public void ResetData() { foreach (var rorzeSingalLight in _lights) { rorzeSingalLight.ResetData(); } } public override SignalLightBase CreateLight(MECF.Framework.Common.Device.Bases.LightType type) { var light = new SunWaySignalLight(ModuleName.System.ToString(), $"SignalLight{type}", _efem) { Type = type }; _lights.Add(light); return light; } } }