多轮审查和修复
This commit is contained in:
33
Assets/Scripts/World/Puzzle/PuzzleInterfaces.cs
Normal file
33
Assets/Scripts/World/Puzzle/PuzzleInterfaces.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
// Assets/Scripts/World/Puzzle/PuzzleInterfaces.cs
|
||||
// 谜题系统核心接口(Architecture 21_LiquidPuzzleModule §8)
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
namespace BaseGames.Puzzle
|
||||
{
|
||||
/// <summary>任何可被切换激活/停用状态的谜题元素。</summary>
|
||||
public interface ISwitchable
|
||||
{
|
||||
bool IsActive { get; }
|
||||
event Action<bool> OnStateChanged;
|
||||
|
||||
/// <summary>SaveData 恢复时调用,强制设置状态不触发副作用逻辑。</summary>
|
||||
void ForceState(bool active);
|
||||
}
|
||||
|
||||
/// <summary>可被玩家推动的物件(需 Rigidbody2D)。</summary>
|
||||
public interface IMovable
|
||||
{
|
||||
bool CanBePushed { get; }
|
||||
void OnPushStart(Vector2 direction);
|
||||
void OnPushEnd();
|
||||
}
|
||||
|
||||
/// <summary>接受激活信号后改变自身状态的物件。</summary>
|
||||
public interface IActivatable
|
||||
{
|
||||
void Activate();
|
||||
void Deactivate();
|
||||
bool IsActivated { get; }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user