更新KomeijiFear的特效逻辑
This commit is contained in:
parent
dae18f2888
commit
ee568f1d6a
2
.gitignore
vendored
2
.gitignore
vendored
@ -64,3 +64,5 @@ Publish/
|
||||
!**/graphify-out/graph.json
|
||||
!**/graphify-out/manifest.json
|
||||
!**/graphify-out/cost.json
|
||||
Unity/TH1.pub
|
||||
Unity/TH1
|
||||
|
||||
@ -1644,7 +1644,11 @@ namespace Logic.Action
|
||||
{
|
||||
// 存活:添加恐惧并刷新UI
|
||||
if (!target.GetSkill(SkillType.KomeijiFearImmune, out _))
|
||||
{
|
||||
target.AddOrOverrideSkill(SkillType.KomeijiFear, map, unit.Id);
|
||||
// 播放恐惧VFX
|
||||
around.Renderer(map)?.PlayVFXInSight(new GridVFXParams(GridVFXType.KomeijiFear));
|
||||
}
|
||||
|
||||
if (map == Main.MapData)
|
||||
{
|
||||
|
||||
@ -38,7 +38,7 @@ namespace Logic.Skill
|
||||
|
||||
info.DamageTarget.AddOrOverrideSkill(SkillType.KomeijiFear, mapData, info.DamageOrigin.Id);
|
||||
|
||||
// 视觉更新:刷新目标单位显示(显示debuff图标)
|
||||
// 视觉更新:刷新目标单位显示(显示debuff图标)+ 播放KomeijiFear VFX
|
||||
if (mapData != Main.MapData) return;
|
||||
if (!info.DamageTarget.IsAlive()) return;
|
||||
|
||||
@ -52,11 +52,16 @@ namespace Logic.Skill
|
||||
if (MapRenderer.Instance != null &&
|
||||
MapRenderer.Instance.ROUnitMap.TryGetValue(info.DamageTarget.Id, out var unitRenderer))
|
||||
{
|
||||
var targetGrid = info.DamageTarget.Grid(mapData);
|
||||
scope.Add(new FragmentStep
|
||||
{
|
||||
Phase = phase,
|
||||
Duration = 0.1f,
|
||||
Execute = () => { unitRenderer.InstantUpdateUnit(false); }
|
||||
Execute = () =>
|
||||
{
|
||||
unitRenderer.InstantUpdateUnit(false);
|
||||
targetGrid?.Renderer(mapData)?.PlayVFXInSight(new GridVFXParams(GridVFXType.KomeijiFear));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@ -66,6 +71,8 @@ namespace Logic.Skill
|
||||
MapRenderer.Instance.ROUnitMap.TryGetValue(info.DamageTarget.Id, out var unitRenderer))
|
||||
{
|
||||
unitRenderer.RenderUpdateUnitImage();
|
||||
var targetGrid = info.DamageTarget.Grid(mapData);
|
||||
targetGrid?.Renderer(mapData)?.PlayVFXInSight(new GridVFXParams(GridVFXType.KomeijiFear));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -49,6 +49,7 @@ namespace Logic.Skill
|
||||
MapRenderer.Instance.ROUnitMap.TryGetValue(target.Id, out var unitRenderer))
|
||||
{
|
||||
unitRenderer.RenderUpdateUnitImage();
|
||||
around.Renderer(mapData)?.PlayVFXInSight(new GridVFXParams(GridVFXType.KomeijiFear));
|
||||
}
|
||||
}
|
||||
ReturnAroundBuf();
|
||||
|
||||
@ -10,6 +10,7 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using MemoryPack;
|
||||
using TH1Renderer;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Logic.Skill
|
||||
@ -45,6 +46,8 @@ namespace Logic.Skill
|
||||
return;
|
||||
}
|
||||
target.AddOrOverrideSkill(SkillType.KomeijiFear, mapData, self.Id);
|
||||
// 播放恐惧VFX
|
||||
around.Renderer(mapData)?.PlayVFXInSight(new GridVFXParams(GridVFXType.KomeijiFear));
|
||||
}
|
||||
ReturnAroundBuf();
|
||||
}
|
||||
|
||||
@ -132,6 +132,8 @@ namespace Logic.Skill
|
||||
if (canSpread)
|
||||
{
|
||||
target.AddOrOverrideSkill(SkillType.KomeijiFear, map, self.Id);
|
||||
// 播放恐惧VFX
|
||||
aroundRenderer?.PlayVFXInSight(new GridVFXParams(GridVFXType.KomeijiFear));
|
||||
}
|
||||
unitsToRefresh.Add(target.Id);
|
||||
}
|
||||
@ -189,6 +191,9 @@ namespace Logic.Skill
|
||||
if (target.Id != self.Id && !target.GetSkill(SkillType.KomeijiFearImmune, out _))
|
||||
{
|
||||
target.AddOrOverrideSkill(SkillType.KomeijiFear, map, self.Id);
|
||||
// 播放恐惧VFX
|
||||
var aroundRenderer = isMainMap ? around.Renderer(map) : null;
|
||||
aroundRenderer?.PlayVFXInSight(new GridVFXParams(GridVFXType.KomeijiFear));
|
||||
unitsToRefresh.Add(target.Id);
|
||||
}
|
||||
}
|
||||
|
||||
@ -56,9 +56,12 @@ namespace Logic.Skill
|
||||
if (isMainMap && MapRenderer.Instance != null &&
|
||||
MapRenderer.Instance.ROUnitMap.TryGetValue(unit.Id, out var unitRenderer))
|
||||
{
|
||||
var gridRenderer = grid.Renderer(mapData);
|
||||
visualSteps.Add(new SkillVisualStep
|
||||
{
|
||||
UnitRenderer = unitRenderer,
|
||||
GridRenderer = gridRenderer,
|
||||
VFXList = new List<GridVFXParams> { new GridVFXParams(GridVFXType.KomeijiFear) },
|
||||
RefreshUnit = true,
|
||||
});
|
||||
}
|
||||
|
||||
@ -54,11 +54,16 @@ namespace Logic.Skill
|
||||
if (MapRenderer.Instance != null &&
|
||||
MapRenderer.Instance.ROUnitMap.TryGetValue(info.DamageTarget.Id, out var unitRenderer))
|
||||
{
|
||||
var targetGrid = info.DamageTarget.Grid(mapData);
|
||||
scope.Add(new FragmentStep
|
||||
{
|
||||
Phase = phase,
|
||||
Duration = 0.1f,
|
||||
Execute = () => { unitRenderer.InstantUpdateUnit(false); }
|
||||
Execute = () =>
|
||||
{
|
||||
unitRenderer.InstantUpdateUnit(false);
|
||||
targetGrid?.Renderer(mapData)?.PlayVFXInSight(new GridVFXParams(GridVFXType.KomeijiFear));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@ -69,6 +74,8 @@ namespace Logic.Skill
|
||||
MapRenderer.Instance.ROUnitMap.TryGetValue(info.DamageTarget.Id, out var unitRenderer))
|
||||
{
|
||||
unitRenderer.RenderUpdateUnitImage();
|
||||
var targetGrid = info.DamageTarget.Grid(mapData);
|
||||
targetGrid?.Renderer(mapData)?.PlayVFXInSight(new GridVFXParams(GridVFXType.KomeijiFear));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -63,11 +63,16 @@ namespace Logic.Skill
|
||||
if (MapRenderer.Instance != null &&
|
||||
MapRenderer.Instance.ROUnitMap.TryGetValue(info.DamageOrigin.Id, out var unitRenderer))
|
||||
{
|
||||
var targetGrid = info.DamageOrigin.Grid(mapData);
|
||||
scope.Add(new FragmentStep
|
||||
{
|
||||
Phase = phase,
|
||||
Duration = 0.1f,
|
||||
Execute = () => { unitRenderer.InstantUpdateUnit(false); }
|
||||
Execute = () =>
|
||||
{
|
||||
unitRenderer.InstantUpdateUnit(false);
|
||||
targetGrid?.Renderer(mapData)?.PlayVFXInSight(new GridVFXParams(GridVFXType.KomeijiFear));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@ -77,6 +82,8 @@ namespace Logic.Skill
|
||||
MapRenderer.Instance.ROUnitMap.TryGetValue(info.DamageOrigin.Id, out var unitRenderer))
|
||||
{
|
||||
unitRenderer.RenderUpdateUnitImage();
|
||||
var targetGrid = info.DamageOrigin.Grid(mapData);
|
||||
targetGrid?.Renderer(mapData)?.PlayVFXInSight(new GridVFXParams(GridVFXType.KomeijiFear));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user