40 lines
1.0 KiB
C#
40 lines
1.0 KiB
C#
using System.Collections.Generic;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace HexGrid
|
|
{
|
|
public interface IZoneManager
|
|
{
|
|
void UpdateZoneStatus();
|
|
}
|
|
|
|
public interface IZoneController
|
|
{
|
|
void UpdateZoneStatus();
|
|
|
|
void OnHexCellClicked(HexTile tiler);
|
|
}
|
|
|
|
public interface IHexGridMediatable
|
|
{
|
|
void SetMediator(IHexGridMediator mediator);
|
|
}
|
|
|
|
public interface IHexGridMediator
|
|
{
|
|
void RegisterZoneManager(HexZoneManager controller);
|
|
void RegisterBuildingManager(BuildingManager buildManager);
|
|
|
|
void OnHexCellClicked(HexTile tiler);
|
|
Task OnActiveNextTile(HexTile tiler);
|
|
// 读取数据 zone
|
|
void LoadZones(List<HexZone> zones);
|
|
//读取数据Buildings
|
|
void LoadBuildings(List<HexBuilding> buildings);
|
|
|
|
Task CheckBuildingAfterBuild(HexTile tile);
|
|
void CheckBuildingAfterBuildImme(HexTile tile);
|
|
void Build(int zoneId,BuildingData buildingData,bool isImme);
|
|
}
|
|
|
|
} |