using System.Collections.Generic; using CoreGame; using Entitas; namespace CoreGame.Render { public class RiseHurtSystem : ReactiveSystem { public RiseHurtSystem(Contexts contexts) : base(contexts.combat) { } protected override ICollector GetTrigger(IContext context) { return context.CreateCollector(CombatMatcher.JumpText); } protected override bool Filter(CombatEntity entity) { return true; } protected override void Execute(List entities) { var jumpText = entities[0].jumpText; while (jumpText != null && jumpText.hurtDatas.Count > 0) { var hurtData = jumpText.hurtDatas.Dequeue(); jumpText.ShowChangeHpJumpText(hurtData); SptPool.Free(ref hurtData); } } } }