diff --git a/Unity/Assets/Scripts/TH1_Data/MapData.cs b/Unity/Assets/Scripts/TH1_Data/MapData.cs index 3538d6467..d6fb79d9f 100644 --- a/Unity/Assets/Scripts/TH1_Data/MapData.cs +++ b/Unity/Assets/Scripts/TH1_Data/MapData.cs @@ -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)) diff --git a/Unity/Assets/Scripts/TH1_Data/UnitData.cs b/Unity/Assets/Scripts/TH1_Data/UnitData.cs index 19589122f..299dd2ffa 100644 --- a/Unity/Assets/Scripts/TH1_Data/UnitData.cs +++ b/Unity/Assets/Scripts/TH1_Data/UnitData.cs @@ -97,7 +97,7 @@ namespace RuntimeData public void OnTurnStart(MapData map, PlayerData player) { - var units = new HashSet(); + var units = new List(); 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(); + var units = new List(); 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(); + var units = new List(); map.GetUnitDataListByPlayerId(player.Id, units); foreach (var unit in units) diff --git a/Unity/Assets/Scripts/TH1_Logic/Skill/AllSkill/UtsuhoDelayActSkill.cs b/Unity/Assets/Scripts/TH1_Logic/Skill/AllSkill/UtsuhoDelayActSkill.cs index b1aa52790..ef0e48e99 100644 --- a/Unity/Assets/Scripts/TH1_Logic/Skill/AllSkill/UtsuhoDelayActSkill.cs +++ b/Unity/Assets/Scripts/TH1_Logic/Skill/AllSkill/UtsuhoDelayActSkill.cs @@ -17,6 +17,7 @@ namespace Logic.Skill { public partial class UtsuhoDelayActSkill : SkillBase { + [MemoryPackInclude] public List Path = new List();