namespace AibisDream { /// /// 形状工厂接口 /// 负责创建和管理形状对象 /// public interface IBlockShapeFactory { /// /// 创建指定ID的形状 /// /// 形状ID /// 形状对象,如果ID不存在则返回null IBlockShape CreateShape(int shapeId); /// /// 创建指定名称的形状 /// /// 形状名称 /// 形状对象,如果名称不存在则返回null IBlockShape CreateShape(string shapeName); /// /// 创建随机形状 /// /// 随机形状对象 IBlockShape CreateRandomShape(); /// /// 获取所有可用的形状ID列表 /// /// 形状ID数组 int[] GetAllShapeIds(); /// /// 获取所有可用的形状名称列表 /// /// 形状名称数组 string[] GetAllShapeNames(); /// /// 注册新形状 /// /// 形状ID /// 形状名称 /// 形状模式(二维数组) void RegisterShape(int shapeId, string shapeName, int[,] pattern); /// /// 检查形状ID是否存在 /// /// 形状ID /// 是否存在 bool HasShape(int shapeId); } }