feat(fix-system): 整合维修面板灯光系统并重构面板结构
Made-with: Cursor
This commit is contained in:
@@ -19,10 +19,6 @@ namespace AibisDream.FixSystem
|
||||
|
||||
#region 组件索引
|
||||
|
||||
[Header("其他索引")]
|
||||
[SerializeField] private FixLightSystem fixLightSystem;
|
||||
public FixLightSystem FixLightSystem => fixLightSystem;
|
||||
|
||||
[Header("插线组件索引")]
|
||||
[SerializeField] private Plug plugRef;
|
||||
[SerializeField] private Cable cableRef;
|
||||
@@ -30,11 +26,15 @@ namespace AibisDream.FixSystem
|
||||
[SerializeField] private Transform cableRootPos;
|
||||
[SerializeField] private CableReel cableReelRef;
|
||||
|
||||
[Header("灯光系统")]
|
||||
[SerializeField] private CablePanelLight panelLight;
|
||||
|
||||
public Plug PlugRef => plugRef;
|
||||
public Cable CableRef => cableRef;
|
||||
public PhysicCable PhysicCableRef => physicCableRef;
|
||||
public Transform CableRootPos => cableRootPos;
|
||||
public CableReel CableReelRef => cableReelRef;
|
||||
public CablePanelLight PanelLight => panelLight;
|
||||
|
||||
public BodyModuleSystem BodyModuleSystem { get; private set; }
|
||||
|
||||
@@ -52,6 +52,7 @@ namespace AibisDream.FixSystem
|
||||
private void Start()
|
||||
{
|
||||
InitComponentRefs();
|
||||
panelLight?.Initialize();
|
||||
|
||||
InitSystem();
|
||||
LoadCableState();
|
||||
@@ -88,19 +89,19 @@ namespace AibisDream.FixSystem
|
||||
PlugRef.ReturnToStartPosition();
|
||||
}
|
||||
|
||||
// // 从存储系统读取
|
||||
// if (!StorageSystem.Instance.TryGetValue(CableRetractedKey, out bool savedRetractedState))
|
||||
// return;
|
||||
// 从存储系统读取
|
||||
if (!StorageSystem.Instance.TryGetValue(CableRetractedKey, out bool savedRetractedState))
|
||||
return;
|
||||
|
||||
// if (savedRetractedState)
|
||||
// {
|
||||
// SetRetractCable();
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// if (isCableRetracted)
|
||||
// DropDownCable();
|
||||
// }
|
||||
if (savedRetractedState)
|
||||
{
|
||||
SetRetractCable();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (isCableRetracted)
|
||||
DropDownCable();
|
||||
}
|
||||
}
|
||||
|
||||
private void SaveCableState()
|
||||
@@ -175,7 +176,7 @@ namespace AibisDream.FixSystem
|
||||
{
|
||||
return curSocket != null;
|
||||
}
|
||||
|
||||
|
||||
// ------------------------------ 线缆操作 ------------------------------
|
||||
|
||||
/// <summary>
|
||||
@@ -189,19 +190,19 @@ namespace AibisDream.FixSystem
|
||||
{
|
||||
case CableMode.None:
|
||||
CableRef.HideCable();
|
||||
PhysicCableRef.HideCable();
|
||||
PhysicCableRef.SetEnabled(false);
|
||||
PhysicCableRef.SetTarget(null);
|
||||
break;
|
||||
|
||||
case CableMode.Visual:
|
||||
CableRef.ShowCable();
|
||||
PhysicCableRef.HideCable();
|
||||
PhysicCableRef.SetEnabled(false);
|
||||
PhysicCableRef.SetTarget(null);
|
||||
break;
|
||||
|
||||
case CableMode.Physic:
|
||||
CableRef.HideCable();
|
||||
PhysicCableRef.ShowCable();
|
||||
PhysicCableRef.SetEnabled(true);
|
||||
PhysicCableRef.Init(PlugRef.transform.position);
|
||||
PhysicCableRef.SetTarget(followTarget != null ? followTarget : PlugRef.transform);
|
||||
break;
|
||||
@@ -229,7 +230,7 @@ namespace AibisDream.FixSystem
|
||||
{
|
||||
PlugRef.PullUpSocket();
|
||||
}
|
||||
|
||||
|
||||
BodyModuleSystem.CloseModuleSlots(null);
|
||||
|
||||
PlugRef.transform.DOMove(retractedPos.position, 0.1f).OnComplete(() =>
|
||||
@@ -276,6 +277,61 @@ namespace AibisDream.FixSystem
|
||||
isCableRetracted = true;
|
||||
}
|
||||
|
||||
#region 灯光系统 - 供外部调用
|
||||
|
||||
/// <summary>
|
||||
/// 检查系统是否开启
|
||||
/// </summary>
|
||||
public bool IsSystemOn()
|
||||
{
|
||||
return panelLight != null && panelLight.IsSystemOn();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 启动系统
|
||||
/// </summary>
|
||||
public System.Collections.IEnumerator StartSystem()
|
||||
{
|
||||
if (panelLight != null)
|
||||
{
|
||||
yield return panelLight.StartSystem();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 更新呼吸灯
|
||||
/// </summary>
|
||||
public void UpdateBreathingLight(LightState state)
|
||||
{
|
||||
panelLight?.UpdateBreathingLight(state);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 更新ECG波形
|
||||
/// </summary>
|
||||
public void UpdateECGWave(LightState state)
|
||||
{
|
||||
panelLight?.UpdateECGWave(state);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取当前波形类型
|
||||
/// </summary>
|
||||
public RobotECGWave.WaveType GetCurrentWaveType()
|
||||
{
|
||||
return panelLight != null ? panelLight.GetCurrentWaveType() : RobotECGWave.WaveType.RobotECG;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 设置波形类型
|
||||
/// </summary>
|
||||
public void SetWaveType(RobotECGWave.WaveType waveType)
|
||||
{
|
||||
panelLight?.SetWaveType(waveType);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public void Init()
|
||||
{
|
||||
|
||||
@@ -285,10 +341,10 @@ namespace AibisDream.FixSystem
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
public void Close()
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user