/* * @Author: 白哉 * @Description: 通用逻辑 * @Date: 2025年04月01日 星期二 11:04:47 * @Modify: */ using System.Collections.Generic; using UnityEngine; namespace Logic.Common { public class CommonLogic : ICommonLogic { //-------UI选项相关查询------- public List GetCityActionOptionList(int cid) { return null; } //获取city[cid]目前所有可行的生产选项,默认操作者pid是city[cid]的拥有者 public List GetTileActionOptionList(Vector2Int tpos, int pid) { return null; } //获取grid[tpos]目前所有可行的生产选项,默认操作者pid是grid[pos]的拥有者,但是无主之地需要借助传入的pid来确认是否具备科技,例如无主之地建设桥梁和道路 public List GetUnitActionOptionList(int uid) { return null; } //获取unit[uid]目前所有可行的生产选项 //-------player相关查询------- public bool CheckPlayerCanPayAction(int pid, string actionName) { return false; } //返回player[pid]是否有钱支付actionName行动 //-------city相关查询------- public bool CheckCityFullPopulation(int cid) { return false; } //返回 是否city[cid]已经人口满员 public bool CheckUnitCanAttackPos(int uid, Vector2Int tpos) { return false; } //返回unit[uid]是否可以攻击tpos位置 public bool CheckUnitHasAttackTarget(int uid) { return false; } //返回unit[uid]是否具有可攻击对象 //-------unit相关查询------- public float[,] CalcUnitMoveInfo(int uid) { return null; } //计算单位移动力表格,返回一个二维数组 public int CheckUnitCanMoveAttack(int uid, float[,] moveInfo) { return 0; } //判断一个位置能否移动/攻击,返回0不可,1可移,2可攻,3下海,4上岸 //-------tile相关查询------- public List GetTileNearbyList(Vector2Int tpos, ResourceType t) { return null; } //获取grid[tpos]周围一圈具备t属性的tile的position list (resource重载版本) public List GetTileNearbyList(Vector2Int tpos, TerrainFeature t) { return null; } //获取grid[tpos]周围一圈具备t属性的tile的position list (feature重载版本) public int QueryTileNearbySum(Vector2Int tpos, ResourceType t) { return 0; } //统计grid[tpos]周围一圈具备t属性的tile有几个 public int FindUnitOnPos(Vector2Int tpos) { return 0; } //返回处于grid[tpos]上的unit的uid public bool CheckTerrainCanBridge(Vector2Int tpos) { return false; } //返回grid[tpos]能否建立桥梁 public bool CheckBridgeMirror(Vector2Int tpos) { return false; } //返回 是否grid[tpos]位置建设桥梁是否需要镜像左右 } }