提交
This commit is contained in:
@@ -74,10 +74,21 @@ namespace AibisDream
|
||||
{
|
||||
if (gearFollower != null)
|
||||
{
|
||||
// 停止所有DOTween动画
|
||||
if (gearFollower.gameObject != null)
|
||||
{
|
||||
DOTween.Kill(gearFollower.gameObject);
|
||||
}
|
||||
|
||||
gearFollower.ClearCutLine();
|
||||
Destroy(gearFollower.gameObject);
|
||||
DestroyImmediate(gearFollower.gameObject);
|
||||
gearFollower = null;
|
||||
}
|
||||
|
||||
// 重置状态
|
||||
isCuttingMode = false;
|
||||
isEntranceComplete = false;
|
||||
isGearActive = false;
|
||||
}
|
||||
|
||||
private void ActivateGear()
|
||||
@@ -266,8 +277,25 @@ namespace AibisDream
|
||||
_targetModule.StopCutTextFlicker();
|
||||
}
|
||||
|
||||
// 清理GearFollower
|
||||
if (gearFollower != null)
|
||||
{
|
||||
// 停止所有DOTween动画
|
||||
if (gearFollower.gameObject != null)
|
||||
{
|
||||
DOTween.Kill(gearFollower.gameObject);
|
||||
}
|
||||
|
||||
// 强制销毁GearFollower
|
||||
DestroyImmediate(gearFollower.gameObject);
|
||||
gearFollower = null;
|
||||
}
|
||||
|
||||
if (entrancePanel != null)
|
||||
{
|
||||
// 停止面板的DOTween动画
|
||||
DOTween.Kill(entrancePanel);
|
||||
|
||||
// 获取当前相机位置
|
||||
Vector3 startPosition = GetPanelSpawnPosition();
|
||||
|
||||
@@ -277,14 +305,46 @@ namespace AibisDream
|
||||
.OnComplete(() => {
|
||||
Destroy(entrancePanel);
|
||||
entrancePanel = null;
|
||||
gearFollower = null;
|
||||
});
|
||||
}
|
||||
else if (gearFollower != null)
|
||||
}
|
||||
|
||||
private void OnDestroy()
|
||||
{
|
||||
// 从系统字典中注销
|
||||
FixSystemCenter.SystemDic.Unregister<CuttingManager>();
|
||||
|
||||
// 清理相机注册
|
||||
CameraKit.Instance.UnRegisterCamera(CameraEnum.CutEmo);
|
||||
CameraKit.Instance.UnRegisterCamera(CameraEnum.CutMemory);
|
||||
CameraKit.Instance.UnRegisterCamera(CameraEnum.CutLogic);
|
||||
CameraKit.Instance.UnRegisterCamera(CameraEnum.CutEmoDeep);
|
||||
CameraKit.Instance.UnRegisterCamera(CameraEnum.CutMemoryDeep);
|
||||
CameraKit.Instance.UnRegisterCamera(CameraEnum.CutLogicDeep);
|
||||
|
||||
// 强制清理所有相关对象
|
||||
if (gearFollower != null)
|
||||
{
|
||||
Destroy(gearFollower.gameObject);
|
||||
// 如果gearFollower还在运行,强制停止
|
||||
if (gearFollower.gameObject != null)
|
||||
{
|
||||
DestroyImmediate(gearFollower.gameObject);
|
||||
}
|
||||
gearFollower = null;
|
||||
}
|
||||
|
||||
if (entrancePanel != null)
|
||||
{
|
||||
DestroyImmediate(entrancePanel);
|
||||
entrancePanel = null;
|
||||
}
|
||||
|
||||
// 重置状态
|
||||
isCuttingMode = false;
|
||||
isEntranceComplete = false;
|
||||
isGearActive = false;
|
||||
_targetModule = null;
|
||||
_targetSpriteRenderer = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user