Files
aibis-dream/Assets/Scripts/Clue/MemoryClueSlot.cs
T
bottlefish d886175ef8 Day1Day2”真“跑通
Day1基本Ok了
Day2分支还没测,Day2ClueBoard可以优化
插线功能还没改,插线对话还没接入
ClueBoard镜头功能还没加入
2024-11-14 23:29:19 +08:00

51 lines
1.4 KiB
C#

using System.Drawing;
using UnityEngine;
public class MemoryClueSlot : ClueSlotBase
{
private MemoryProcess memoryManager;
[HideInInspector]
public PunchTape punchTape;
protected override void Start()
{
base.Start(); // 初始化基类中的内容
memoryManager = FindObjectOfType<MemoryProcess>();
expectedClueType=ClueType.PunchTape;
}
// 重写基类的 OnClueInserted 方法,处理播放记忆的逻辑
protected override void OnClueInserted(Clue clue)
{
if (clue is PunchTape)
{
punchTape = clue as PunchTape;
//punchTape.used=true;
PlayMemory(punchTape);
FavoritesManager.Instance.RemoveClue(clue);
}
}
public override void ReleaseSlot()
{
if (currentClueItem != null)
{
currentClueItem.used=true;
ReturnClueToCollection(currentClueItem);
currentClueItem = null; // 清除 currentClueItem 的引用
}
isOccupied = false;
interaction = null;
base.ReleaseSlot(); // 保证基类的清理逻辑被执行
}
private void PlayMemory(PunchTape punchTape)
{
if (punchTape != null)
{
string memoryIndex = punchTape.MemoryIndex;
Debug.Log("播放记忆:" + memoryIndex);
StartCoroutine(memoryManager.SearchMemory(punchTape));
}
}
}