更新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/graph.json
|
||||||
!**/graphify-out/manifest.json
|
!**/graphify-out/manifest.json
|
||||||
!**/graphify-out/cost.json
|
!**/graphify-out/cost.json
|
||||||
|
Unity/TH1.pub
|
||||||
|
Unity/TH1
|
||||||
|
|||||||
@ -1644,7 +1644,11 @@ namespace Logic.Action
|
|||||||
{
|
{
|
||||||
// 存活:添加恐惧并刷新UI
|
// 存活:添加恐惧并刷新UI
|
||||||
if (!target.GetSkill(SkillType.KomeijiFearImmune, out _))
|
if (!target.GetSkill(SkillType.KomeijiFearImmune, out _))
|
||||||
|
{
|
||||||
target.AddOrOverrideSkill(SkillType.KomeijiFear, map, unit.Id);
|
target.AddOrOverrideSkill(SkillType.KomeijiFear, map, unit.Id);
|
||||||
|
// 播放恐惧VFX
|
||||||
|
around.Renderer(map)?.PlayVFXInSight(new GridVFXParams(GridVFXType.KomeijiFear));
|
||||||
|
}
|
||||||
|
|
||||||
if (map == Main.MapData)
|
if (map == Main.MapData)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -38,7 +38,7 @@ namespace Logic.Skill
|
|||||||
|
|
||||||
info.DamageTarget.AddOrOverrideSkill(SkillType.KomeijiFear, mapData, info.DamageOrigin.Id);
|
info.DamageTarget.AddOrOverrideSkill(SkillType.KomeijiFear, mapData, info.DamageOrigin.Id);
|
||||||
|
|
||||||
// 视觉更新:刷新目标单位显示(显示debuff图标)
|
// 视觉更新:刷新目标单位显示(显示debuff图标)+ 播放KomeijiFear VFX
|
||||||
if (mapData != Main.MapData) return;
|
if (mapData != Main.MapData) return;
|
||||||
if (!info.DamageTarget.IsAlive()) return;
|
if (!info.DamageTarget.IsAlive()) return;
|
||||||
|
|
||||||
@ -52,11 +52,16 @@ namespace Logic.Skill
|
|||||||
if (MapRenderer.Instance != null &&
|
if (MapRenderer.Instance != null &&
|
||||||
MapRenderer.Instance.ROUnitMap.TryGetValue(info.DamageTarget.Id, out var unitRenderer))
|
MapRenderer.Instance.ROUnitMap.TryGetValue(info.DamageTarget.Id, out var unitRenderer))
|
||||||
{
|
{
|
||||||
|
var targetGrid = info.DamageTarget.Grid(mapData);
|
||||||
scope.Add(new FragmentStep
|
scope.Add(new FragmentStep
|
||||||
{
|
{
|
||||||
Phase = phase,
|
Phase = phase,
|
||||||
Duration = 0.1f,
|
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))
|
MapRenderer.Instance.ROUnitMap.TryGetValue(info.DamageTarget.Id, out var unitRenderer))
|
||||||
{
|
{
|
||||||
unitRenderer.RenderUpdateUnitImage();
|
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))
|
MapRenderer.Instance.ROUnitMap.TryGetValue(target.Id, out var unitRenderer))
|
||||||
{
|
{
|
||||||
unitRenderer.RenderUpdateUnitImage();
|
unitRenderer.RenderUpdateUnitImage();
|
||||||
|
around.Renderer(mapData)?.PlayVFXInSight(new GridVFXParams(GridVFXType.KomeijiFear));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ReturnAroundBuf();
|
ReturnAroundBuf();
|
||||||
|
|||||||
@ -10,6 +10,7 @@ using System;
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using MemoryPack;
|
using MemoryPack;
|
||||||
|
using TH1Renderer;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
namespace Logic.Skill
|
namespace Logic.Skill
|
||||||
@ -45,6 +46,8 @@ namespace Logic.Skill
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
target.AddOrOverrideSkill(SkillType.KomeijiFear, mapData, self.Id);
|
target.AddOrOverrideSkill(SkillType.KomeijiFear, mapData, self.Id);
|
||||||
|
// 播放恐惧VFX
|
||||||
|
around.Renderer(mapData)?.PlayVFXInSight(new GridVFXParams(GridVFXType.KomeijiFear));
|
||||||
}
|
}
|
||||||
ReturnAroundBuf();
|
ReturnAroundBuf();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -132,6 +132,8 @@ namespace Logic.Skill
|
|||||||
if (canSpread)
|
if (canSpread)
|
||||||
{
|
{
|
||||||
target.AddOrOverrideSkill(SkillType.KomeijiFear, map, self.Id);
|
target.AddOrOverrideSkill(SkillType.KomeijiFear, map, self.Id);
|
||||||
|
// 播放恐惧VFX
|
||||||
|
aroundRenderer?.PlayVFXInSight(new GridVFXParams(GridVFXType.KomeijiFear));
|
||||||
}
|
}
|
||||||
unitsToRefresh.Add(target.Id);
|
unitsToRefresh.Add(target.Id);
|
||||||
}
|
}
|
||||||
@ -189,6 +191,9 @@ namespace Logic.Skill
|
|||||||
if (target.Id != self.Id && !target.GetSkill(SkillType.KomeijiFearImmune, out _))
|
if (target.Id != self.Id && !target.GetSkill(SkillType.KomeijiFearImmune, out _))
|
||||||
{
|
{
|
||||||
target.AddOrOverrideSkill(SkillType.KomeijiFear, map, self.Id);
|
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);
|
unitsToRefresh.Add(target.Id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -56,9 +56,12 @@ namespace Logic.Skill
|
|||||||
if (isMainMap && MapRenderer.Instance != null &&
|
if (isMainMap && MapRenderer.Instance != null &&
|
||||||
MapRenderer.Instance.ROUnitMap.TryGetValue(unit.Id, out var unitRenderer))
|
MapRenderer.Instance.ROUnitMap.TryGetValue(unit.Id, out var unitRenderer))
|
||||||
{
|
{
|
||||||
|
var gridRenderer = grid.Renderer(mapData);
|
||||||
visualSteps.Add(new SkillVisualStep
|
visualSteps.Add(new SkillVisualStep
|
||||||
{
|
{
|
||||||
UnitRenderer = unitRenderer,
|
UnitRenderer = unitRenderer,
|
||||||
|
GridRenderer = gridRenderer,
|
||||||
|
VFXList = new List<GridVFXParams> { new GridVFXParams(GridVFXType.KomeijiFear) },
|
||||||
RefreshUnit = true,
|
RefreshUnit = true,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@ -54,11 +54,16 @@ namespace Logic.Skill
|
|||||||
if (MapRenderer.Instance != null &&
|
if (MapRenderer.Instance != null &&
|
||||||
MapRenderer.Instance.ROUnitMap.TryGetValue(info.DamageTarget.Id, out var unitRenderer))
|
MapRenderer.Instance.ROUnitMap.TryGetValue(info.DamageTarget.Id, out var unitRenderer))
|
||||||
{
|
{
|
||||||
|
var targetGrid = info.DamageTarget.Grid(mapData);
|
||||||
scope.Add(new FragmentStep
|
scope.Add(new FragmentStep
|
||||||
{
|
{
|
||||||
Phase = phase,
|
Phase = phase,
|
||||||
Duration = 0.1f,
|
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))
|
MapRenderer.Instance.ROUnitMap.TryGetValue(info.DamageTarget.Id, out var unitRenderer))
|
||||||
{
|
{
|
||||||
unitRenderer.RenderUpdateUnitImage();
|
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 &&
|
if (MapRenderer.Instance != null &&
|
||||||
MapRenderer.Instance.ROUnitMap.TryGetValue(info.DamageOrigin.Id, out var unitRenderer))
|
MapRenderer.Instance.ROUnitMap.TryGetValue(info.DamageOrigin.Id, out var unitRenderer))
|
||||||
{
|
{
|
||||||
|
var targetGrid = info.DamageOrigin.Grid(mapData);
|
||||||
scope.Add(new FragmentStep
|
scope.Add(new FragmentStep
|
||||||
{
|
{
|
||||||
Phase = phase,
|
Phase = phase,
|
||||||
Duration = 0.1f,
|
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))
|
MapRenderer.Instance.ROUnitMap.TryGetValue(info.DamageOrigin.Id, out var unitRenderer))
|
||||||
{
|
{
|
||||||
unitRenderer.RenderUpdateUnitImage();
|
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