示例#1
0
 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);
     }
 }
示例#2
0
        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>();
            }
        }
示例#3
0
 public void UpdateExistenceBeforeHit(SendHitToServerEvent e, CheckingNode weapon, [JoinSelf] SingleNode <ShootableComponent> node)
 {
     this.UpdateHitExistence(e.TargetingData, weapon);
 }
示例#4
0
 public void UpdateChecking(StreamHitResultEvent e, CheckingNode weapon, [JoinSelf] SingleNode <ShootableComponent> node)
 {
     this.UpdateHitExistence(e.TargetingData, weapon);
 }