1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- 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<SunWaySignalLight> _lights = new List<SunWaySignalLight>();
- 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<RouteManager>.Instance.EFEM != null)
- {
- _efem = Singleton<RouteManager>.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;
- }
- }
- }
|