fix: 修复切除部分没有声音的问题

This commit is contained in:
2026-04-10 19:44:25 +08:00
parent 2992f886d5
commit fb291e899a
4 changed files with 36 additions and 26 deletions
+21 -22
View File
@@ -1,6 +1,5 @@
using System;
using System.Collections;
using AibisDream;
using AibisDream.Framework;
using AibisDream.Kit;
using AibisDream.UI;
@@ -50,6 +49,7 @@ namespace AibisDream.FixSystem
{
IState<FixState> res = nextState switch
{
FixState.Default => new DefaultState(),
FixState.Clinic => new ClinicState(),
FixState.BodyModule => new BodyModuleState(),
FixState.Memory => new MemoryState(),
@@ -75,24 +75,22 @@ namespace AibisDream.FixSystem
public enum FixState
{
Default,
Clinic,
BodyModule,
Memory,
Eye,
UF,
Expression,
Engine,
Gear,
Emo,
Op,
EmoCut,
MemoryCut,
LogicCut,
Dream,
AnalysisMode,
Sales,
BlockPuzzle
Default = 0,
Clinic = 1,
BodyModule = 2,
Memory = 3,
Eye = 4,
UF = 5,
Expression = 6,
Emo = 9,
Op = 10,
EmoCut = 11,
MemoryCut = 12,
LogicCut = 13,
Dream = 14,
AnalysisMode = 15,
Sales = 16,
BlockPuzzle = 17
}
public struct DefaultState : IState<FixState>
@@ -101,6 +99,10 @@ namespace AibisDream.FixSystem
public IEnumerator Enter()
{
CameraKit.Instance.SwitchCamera(CameraEnum.Clinic, true);
var clinicSystem = FixSystemCenter.SystemDic.Get<ClinicSystem>();
var data = clinicSystem.bubbleSlotGroup.CollectData();
DialogUIManager.Instance.LoadBubbles(data);
yield break;
}
@@ -503,7 +505,6 @@ namespace AibisDream.FixSystem
yield return CameraKit.Instance.SwitchCamera(CameraEnum.CutEmo);
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeInAsync(0.1f);
AudioManager.Instance.SetGlobalParam("scene",14);
yield return CameraKit.Instance.SwitchCamera(CameraEnum.CutEmoDeep);
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeOutAsync(0.1f);
yield return cuttingManager.StartCutting(bodyModule);
@@ -554,7 +555,6 @@ namespace AibisDream.FixSystem
yield return CameraKit.Instance.SwitchCamera(CameraEnum.CutMemory);
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeInAsync(0.1f);
AudioManager.Instance.SetGlobalParam("scene",12);
yield return CameraKit.Instance.SwitchCamera(CameraEnum.CutMemoryDeep);
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeOutAsync(0.1f);
yield return cuttingManager.StartCutting(bodyModule);
@@ -604,7 +604,6 @@ namespace AibisDream.FixSystem
yield return CameraKit.Instance.SwitchCamera(CameraEnum.CutLogic);
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeInAsync(0.1f);
AudioManager.Instance.SetGlobalParam("scene",13);
yield return CameraKit.Instance.SwitchCamera(CameraEnum.CutLogicDeep);
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeOutAsync(0.1f);
yield return cuttingManager.StartCutting(bodyModule);
@@ -9,7 +9,7 @@ namespace AibisDream.FixSystem
{
public FixState CurState => StateMachine.CurState;
public FixState defaultState = FixState.Clinic;
public FixState defaultState = FixState.Default;
private readonly FixSystemData _data = new();
@@ -58,4 +58,5 @@ namespace AibisDream.FixSystem
yield return FixSystemCenter.StateMachine.SwitchState(curState, args);
}
}
}
}
@@ -8,6 +8,7 @@ using FMOD.Studio;
using FMODUnity;
using UnityEngine;
using STOP_MODE = FMOD.Studio.STOP_MODE;
using Debug = UnityEngine.Debug;
namespace AibisDream.Kit
{
@@ -186,6 +187,7 @@ namespace AibisDream.Kit
{
// 状态切换时加载
var state = MatchAmbState(nextState);
Debug.Log("OnFixStateChange: " + state);
ChangeAmb(state);
}
@@ -364,9 +366,10 @@ namespace AibisDream.Kit
return fixState switch
{
FixState.Clinic => AmbState.Clinic,
FixState.Engine => AmbState.Engine,
FixState.BodyModule => AmbState.Body,
FixState.Gear => AmbState.GearBox,
FixState.EmoCut => AmbState.Head,
FixState.MemoryCut => AmbState.Head,
FixState.LogicCut => AmbState.Head,
FixState.UF => AmbState.UF,
FixState.Eye => AmbState.Eye,
FixState.Memory => AmbState.Memory,
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: d6ca63e4d2eab6a49809479575fa079d
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant: