refactor: 优化 BodyModule 身体模块系统

Made-with: Cursor
This commit is contained in:
2026-03-03 21:45:09 +08:00
parent 9d5fccf39d
commit fa0672445b
8 changed files with 80 additions and 208 deletions
@@ -6,6 +6,7 @@ using AibisDream.Framework;
using Cinemachine;
using JetBrains.Annotations;
using UnityEngine;
using AibisDream.Kit;
namespace AibisDream.FixSystem
{
@@ -18,7 +19,6 @@ namespace AibisDream.FixSystem
private GameObject _bodyModuleGroup;
private GameObject _headModuleGroup;
public CableSystem CableSystem { get; private set; }
[HideInInspector] public HeatMapController heatMapController;
#endregion
@@ -28,7 +28,6 @@ namespace AibisDream.FixSystem
private readonly ModuleSystemData _data = new();
public bool inHotErr;
private int _heatValue;
public bool isAvailable;
private int HeatValue
{
@@ -62,7 +61,6 @@ namespace AibisDream.FixSystem
// 处理内部索引
_bodyModuleGroup = transform.Find("Body Module Group")?.gameObject;
_headModuleGroup = transform.Find("Head Module Group")?.gameObject;
// CableSystem = FixPanelSystem.CableSystem;
if (transform.Find("HeatMapController"))
{
heatMapController = transform.Find("HeatMapController").GetComponent<HeatMapController>();
@@ -108,7 +106,7 @@ namespace AibisDream.FixSystem
continue; // 跳过不可用的模块
}
float tempDistance = Vector3.Distance(sourcePos, bodyModule.GetSocketPos());
float tempDistance = Vector3.Distance(sourcePos, bodyModule.GetSocketPos().position);
if (tempDistance < closestDistance)
{
@@ -134,6 +132,7 @@ namespace AibisDream.FixSystem
public void OpenModuleSlots()
{
AudioManager.Instance.PlaySfx("event:/ActionFB/mods_open");
foreach (var module in BodyModules)
{
module.OpenPlugSlot();
@@ -177,7 +176,7 @@ namespace AibisDream.FixSystem
{
heatMapController.ShowHeatMap();
DisableSystem();
ResetPlug();
FixPanelSystem.GetRepairPanel<CablePanel>().ResetPlug();
}
public void HideHeatMap()
@@ -196,20 +195,12 @@ namespace AibisDream.FixSystem
_heatValue = 0;
}
/// <summary>
/// 插头重新插入初始插孔
/// </summary>
public void ResetPlug()
{
CableSystem.ResetPlug();
}
/// <summary>
/// 激活交互系统
/// </summary>
public void EnableSystem()
{
isAvailable = true;
// isAvailable = true;
}
/// <summary>
@@ -217,7 +208,7 @@ namespace AibisDream.FixSystem
/// </summary>
public void DisableSystem()
{
isAvailable = false;
// isAvailable = false;
}
public void SwitchModuleGroup(ModuleState moduleState)