增加BodyModule切换功能

This commit is contained in:
2025-04-01 19:01:54 +08:00
parent 82e22d8b38
commit ca2729b009
56 changed files with 33254 additions and 6777 deletions
+18 -1
View File
@@ -1,3 +1,4 @@
using System;
using System.Collections;
using AibisDream.Framework;
using UnityEngine;
@@ -112,11 +113,14 @@ namespace AibisDream.FixSystem
public struct BodyModuleState : IState
{
private string _args;
public FixState GetState => FixState.BodyModule;
public void SetArgs(string args)
{
//
// 设置参数
_args = args;
}
public IEnumerator Enter()
@@ -125,6 +129,12 @@ namespace AibisDream.FixSystem
// 拔出插头
bodyModuleSystem.ResetPlug();
// 切换Body或Head
if (Enum.TryParse<ModuleState>(_args, out var moduleState))
{
bodyModuleSystem.SwitchModuleGroup(moduleState);
}
// 切换相机
yield return CameraKit.Instance.SwitchCamera(CameraEnum.BodyModule);
// 开启交互
@@ -159,6 +169,10 @@ namespace AibisDream.FixSystem
// 先切BodyModule
if (!CameraKit.Instance.EqualToCameraState(CameraEnum.BodyModule))
{
// 先切BodyModule
var bodyModule = FixSystemCenter.SystemDic.Get<BodyModuleSystem>();
bodyModule.SwitchModuleGroup(ModuleState.Body);
yield return MainUIController.Instance?.FadeInSync(0.5f);
yield return CameraKit.Instance.SwitchCamera(CameraEnum.BodyModule);
yield return MainUIController.Instance?.FadeOutSync(0.5f);
@@ -195,6 +209,9 @@ namespace AibisDream.FixSystem
// 先切BodyModule
if (!CameraKit.Instance.EqualToCameraState(CameraEnum.BodyModule))
{
var bodyModule = FixSystemCenter.SystemDic.Get<BodyModuleSystem>();
bodyModule.SwitchModuleGroup(ModuleState.Body);
yield return CameraKit.Instance.SwitchCamera(CameraEnum.BodyModule);
}