2025-08-18 23:16:13 +08:00

69 lines
2.8 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* @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<string> GetCityActionOptionList(int cid) { return null; }
//获取city[cid]目前所有可行的生产选项默认操作者pid是city[cid]的拥有者
public List<string> GetTileActionOptionList(Vector2Int tpos, int pid) { return null; }
//获取grid[tpos]目前所有可行的生产选项默认操作者pid是grid[pos]的拥有者,但是无主之地需要借助传入的pid来确认是否具备科技例如无主之地建设桥梁和道路
public List<string> 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<Vector2Int> GetTileNearbyList(Vector2Int tpos, ResourceType t) { return null; }
//获取grid[tpos]周围一圈具备t属性的tile的position list (resource重载版本)
public List<Vector2Int> 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]位置建设桥梁是否需要镜像左右
}
}