头和身体可切换

This commit is contained in:
2025-04-02 13:19:54 +08:00
parent ca2729b009
commit be2c587979
113 changed files with 3890 additions and 1367 deletions
@@ -4,7 +4,6 @@ using System.Linq;
using AibisDream.Framework;
using Cinemachine;
using UnityEngine;
using Newtonsoft.Json;
namespace AibisDream.FixSystem
{
@@ -57,6 +56,7 @@ namespace AibisDream.FixSystem
// 处理内部索引
_bodyModuleGroup = transform.Find("Body Module Group")?.gameObject;
_headModuleGroup = transform.Find("Head Module Group")?.gameObject;
CableSystem = transform.Find("Cable System").GetComponent<CableSystem>();
if (transform.Find("HeatMapController"))
{
heatMapController = transform.Find("HeatMapController").GetComponent<HeatMapController>();
@@ -188,34 +188,32 @@ namespace AibisDream.FixSystem
switch (moduleState)
{
case ModuleState.Body:
_bodyModuleGroup.SetActive(true);
_headModuleGroup.SetActive(false);
_bodyModuleGroup?.SetActive(true);
_headModuleGroup?.SetActive(false);
break;
case ModuleState.Head:
_bodyModuleGroup.SetActive(false);
_headModuleGroup.SetActive(true);
_bodyModuleGroup?.SetActive(false);
_headModuleGroup?.SetActive(true);
break;
default:
throw new ArgumentOutOfRangeException(nameof(moduleState), moduleState, null);
}
// 重新获取ModuleGroup
var root = moduleState == ModuleState.Body ? _bodyModuleGroup : _headModuleGroup;
BodyModules = root.GetComponentsInChildren<BodyModule>();
BodyModules = root?.GetComponentsInChildren<BodyModule>();
// 更改data
_data.moduleState = moduleState;
}
}
[LoadIndex(2)]
public class ModuleSystemData : IData
{
public ModuleState moduleState;
[JsonIgnore]
public BodyModuleSystem bodyModuleSystem;
public IEnumerator Load()
{
bodyModuleSystem.SwitchModuleGroup(moduleState);
FixSystemCenter.SystemDic.Get<BodyModuleSystem>().SwitchModuleGroup(moduleState);
yield break;
}
}