public void Check(UpdateEvent e, CheckingNode weapon) { if (weapon.Entity.HasComponent <StreamHitComponent>() || ((weapon.streamHitChecking.LastCheckTime + weapon.streamHitConfig.LocalCheckPeriod) <= UnityTime.time)) { TargetingData targetingData = BattleCache.targetingData.GetInstance().Init(); base.ScheduleEvent(new TargetingEvent(targetingData), weapon.Entity); base.ScheduleEvent(new StreamHitResultEvent(targetingData), weapon.Entity); } }
private void UpdateHitExistence(TargetingData targetingData, CheckingNode weapon) { bool flag = weapon.Entity.HasComponent <StreamHitComponent>(); if (this.HasHit(targetingData, weapon.streamHitConfig)) { if (!flag) { this.AddStreamHit(weapon.Entity, targetingData, weapon.streamHitConfig, weapon.streamHitChecking); } } else if (flag) { weapon.Entity.RemoveComponent <StreamHitComponent>(); } }
public void UpdateExistenceBeforeHit(SendHitToServerEvent e, CheckingNode weapon, [JoinSelf] SingleNode <ShootableComponent> node) { this.UpdateHitExistence(e.TargetingData, weapon); }
public void UpdateChecking(StreamHitResultEvent e, CheckingNode weapon, [JoinSelf] SingleNode <ShootableComponent> node) { this.UpdateHitExistence(e.TargetingData, weapon); }