public void ReceiveCriticalEvent(CriticalDamageEvent evt, SingleNode<CriticalEffectComponent> node)
 {
     CriticalEffectEvent eventInstance = new CriticalEffectEvent {
         EffectPrefab = node.component.EffectAsset,
         LocalPosition = evt.LocalPosition
     };
     base.ScheduleEvent(eventInstance, evt.Target);
 }
 public void CreateEffect(CriticalEffectEvent evt, SingleNode<TankVisualRootComponent> tank, [JoinByTank] TankIncarnationWithoutCriticalEffectNode tankIncarnation)
 {
     GetInstanceFromPoolEvent eventInstance = new GetInstanceFromPoolEvent {
         Prefab = evt.EffectPrefab,
         AutoRecycleTime = evt.EffectPrefab.GetComponent<ParticleSystem>().duration
     };
     base.ScheduleEvent(eventInstance, tank);
     Transform instance = eventInstance.Instance;
     instance.parent = tank.component.transform;
     instance.localPosition = evt.LocalPosition;
     instance.gameObject.SetActive(true);
 }