bug修复
This commit is contained in:
parent
f13c83439c
commit
ac1330f1cf
@ -46,6 +46,7 @@ namespace Logic.Skill
|
||||
info.IsFinished = true;
|
||||
//提前记录unitRednerer(可能会死亡)
|
||||
var unitRenderer = unit.Renderer(Main.MapData);
|
||||
var cityinfoRenderer = unit.City(Main.MapData)?.CityInfoRenderer(Main.MapData);
|
||||
var gridRenderer = unit.Grid(Main.MapData)?.Renderer(Main.MapData);
|
||||
Main.UnitLogic.DamageSettlement(mapData, info.DamageOrigin, unit,info.DamageValue / 2, DamageType.Splash);
|
||||
//脱离presentation体系 播放sakuya动画 TODO 这里有一点动画隐患,之后要纳入presentation体系
|
||||
@ -64,6 +65,7 @@ namespace Logic.Skill
|
||||
else
|
||||
unitRenderer.Die();
|
||||
}
|
||||
cityinfoRenderer?.InstantUpdateCityInfo();
|
||||
},0.3f,"SAKUYA GUARD VFX");
|
||||
return;
|
||||
}
|
||||
|
||||
@ -56,7 +56,8 @@ namespace Logic.Skill
|
||||
if (mapData.IsLeagueUnitByUnit(unit.Id, info.DamageOrigin.Id)) continue;
|
||||
// 计算攻击伤害
|
||||
var damage = Table.Instance.CalcDamage(mapData, info.DamageOrigin, unit, damagePara:0.5f);
|
||||
unit.Renderer(mapData)?.InstantUpdateUnit(true);
|
||||
var city = unit.City(mapData);
|
||||
unit.Renderer(mapData)?.InstantUpdateUnit(true);
|
||||
Main.UnitLogic.DamageSettlement(mapData, info.DamageOrigin, unit, damage, DamageType.Splash);
|
||||
|
||||
//TODO 动画系统要接管
|
||||
@ -70,6 +71,7 @@ namespace Logic.Skill
|
||||
: 0.5f;
|
||||
Timer.Instance.TimerRegister(this, () =>
|
||||
{
|
||||
city?.CityInfoRenderer(mapData)?.InstantUpdateCityInfo();
|
||||
u.Renderer(mapData)?.InstantUpdateUnit(true);
|
||||
u.Renderer(mapData)?.InstantUpdateTryDie();
|
||||
g.Renderer(mapData)?.InstantUpdateGrid();
|
||||
|
||||
@ -46,7 +46,10 @@ namespace Logic.Skill
|
||||
if (!mapData.GetUnitDataByGid(roundGrid.Id, out var unit))
|
||||
{
|
||||
//TODO 下面的是不规范做法,后面要迭代
|
||||
ROgrid.SetBounceAnim(NeedRandomWait:true);
|
||||
if (roundGrid.InMainSight())
|
||||
{
|
||||
ROgrid.SetBounceAnim(NeedRandomWait:true);
|
||||
}
|
||||
}
|
||||
//如果格子上有单位,播放地震动画,并且播放对方受伤动画
|
||||
else
|
||||
@ -56,19 +59,28 @@ namespace Logic.Skill
|
||||
// 计算攻击伤害,执行伤害逻辑
|
||||
var damage = Table.Instance.CalcDamage(mapData, self, unit, damagePara:0.5f);
|
||||
var targetGrid = unit.Grid(mapData);
|
||||
var city = unit.City(mapData);
|
||||
Main.UnitLogic.DamageSettlement(mapData, self, unit, damage, DamageType.Splash);
|
||||
|
||||
//播放伤害数字特效
|
||||
roundGrid.Renderer(mapData)?.PlayVFX(new GridVFXParams(GridVFXType.Damage,damage));
|
||||
//更新unit的显示 ,unit即使已经死了也可以访问到renderer
|
||||
unit.Renderer(mapData)?.InstantUpdateUnit(false);
|
||||
unit.Renderer(mapData)?.InstantUpdateTryDie();
|
||||
targetGrid?.Renderer(mapData)?.InstantUpdateGrid();
|
||||
//TODO 下面的是不规范做法,后面要迭代
|
||||
//播放受伤特效
|
||||
roundGrid.Renderer(mapData)?.PlayVFX(new GridVFXParams(GridVFXType.Fog));
|
||||
// 执行相关动画,包括伤害特效、伤害数字、以及可能得死亡特效
|
||||
ROgrid.SetBounceAnim(NeedRandomWait:true);
|
||||
//TODO 动画系统要接管
|
||||
if (roundGrid.InMainSight())
|
||||
{
|
||||
//播放伤害数字特效
|
||||
roundGrid.Renderer(mapData)?.PlayVFX(new GridVFXParams(GridVFXType.Damage,damage));
|
||||
|
||||
//更新unit所属的city的cityInfo
|
||||
city?.CityInfoRenderer(mapData)?.InstantUpdateCityInfo();
|
||||
//更新unit的显示 ,unit即使已经死了也可以访问到renderer
|
||||
unit.Renderer(mapData)?.InstantUpdateUnit(false);
|
||||
unit.Renderer(mapData)?.InstantUpdateTryDie();
|
||||
targetGrid?.Renderer(mapData)?.InstantUpdateGrid();
|
||||
//播放受伤特效
|
||||
roundGrid.Renderer(mapData)?.PlayVFX(new GridVFXParams(GridVFXType.Fog));
|
||||
// 执行相关动画,包括伤害特效、伤害数字、以及可能得死亡特效
|
||||
ROgrid.SetBounceAnim(NeedRandomWait:true);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user