联机bug修复

This commit is contained in:
kawagiri 2026-04-12 18:03:33 +08:00
parent 08ad8aa1d6
commit fea3729a69
3 changed files with 11 additions and 6 deletions

View File

@ -549,13 +549,17 @@ namespace RuntimeData
{
unitData.SetDie();
// 在清除绑定前获取所属城市id用于刷新CityInfo
// 在清除绑定前获取所属城市id和格子id
UnitToCityDict.TryGetValue(unitData.Id, out var cityId);
GetGridIdByUnitId(unitData.Id, out var gridId);
if (gridId != 0) _gridToUnitDict.Remove(gridId);
// 清除数据层绑定
RemoveUnitData(unitData.Id);
if (GetGridIdByUnitId(unitData.Id, out var gridId))
_gridToUnitDict.Remove(gridId);
// 刷新原来所在格子的视觉Fire等VFX
if (gridId != 0 && GridMap.GetGridDataByGid(gridId, out var gridData))
gridData.Renderer(this)?.InstantUpdateGrid();
// 刷新所属城市的CityInfo人口数变化
if (cityId != 0 && CityMap.GetCityById(cityId, out var cityData))

View File

@ -97,7 +97,7 @@ namespace RuntimeData
public void OnTurnStart(MapData map, PlayerData player)
{
var units = new HashSet<UnitData>();
var units = new List<UnitData>();
map.GetUnitDataListByPlayerId(player.Id, units);
foreach (var unit in units)
{
@ -108,7 +108,7 @@ namespace RuntimeData
public void OnAfterTurnStart(MapData map, PlayerData player)
{
var units = new HashSet<UnitData>();
var units = new List<UnitData>();
map.GetUnitDataListByPlayerId(player.Id, units);
foreach (var unit in units)
{
@ -118,7 +118,7 @@ namespace RuntimeData
public void OnTurnEnd(MapData map, PlayerData player)
{
var units = new HashSet<UnitData>();
var units = new List<UnitData>();
map.GetUnitDataListByPlayerId(player.Id, units);
foreach (var unit in units)

View File

@ -17,6 +17,7 @@ namespace Logic.Skill
{
public partial class UtsuhoDelayActSkill : SkillBase
{
[MemoryPackInclude]
public List<Vector2Int> Path = new List<Vector2Int>();