Traveller/scripts/map/interfaces/IRoomInjectionProcessor.cs
2024-06-16 22:44:50 +08:00

33 lines
1.1 KiB
C#

using System.Threading.Tasks;
using Godot;
namespace ColdMint.scripts.map.interfaces;
/// <summary>
/// <para>Room injection processor</para>
/// <para>房间注入处理器</para>
/// </summary>
public interface IRoomInjectionProcessor
{
/// <summary>
/// <para>The room injection processor has an ID</para>
/// <para>房间注入处理器有一个ID</para>
/// </summary>
/// <returns></returns>
public string GetId();
/// <summary>
/// <para>Whether it can be placed on the map</para>
/// <para>是否能够被放置到地图内</para>
/// </summary>
/// <param name="randomNumberGenerator">
///<para>Random probability generator based on world seed</para>
///<para>根据世界种子确定的随机概率生成器</para>
/// </param>
/// <param name="yamlConfigData">
///<para>Inject data into the processor</para>
///<para>注入处理器的数据</para>
/// </param>
/// <returns></returns>
public Task<bool> CanBePlaced(RandomNumberGenerator randomNumberGenerator, string? yamlConfigData);
}