コード例 #1
0
 private void CreateSelfTargetHitHUDFeedback(ReadyWeaponNode enemyWeapon, RemoteTankNode remoteTank, SelfTankNode selfTank, BattleCameraNode camera, SingleNode <ScreensLayerComponent> canvasNode, bool isShaft)
 {
     if (CheckPossibilityForEffectInstancing(enemyWeapon))
     {
         SelfTargetHitEffectHUDData?nullable = this.GetDataForSelfTargetHitEffect(enemyWeapon, selfTank, camera, canvasNode, isShaft);
         if (nullable != null)
         {
             enemyWeapon.weaponSelfTargetHitFeedbackTimer.LastTime = Time.time;
             SelfTargetHitFeedbackHUDInstanceComponent component = Object.Instantiate <SelfTargetHitFeedbackHUDInstanceComponent>(selfTank.selfTargetHitFeedbackHUDConfig.EffectPrefab, canvasNode.component.transform);
             Entity entity = base.CreateEntity("SelfTargetHitHUDEffectInstance");
             remoteTank.tankGroup.Attach(entity);
             enemyWeapon.weaponSelfTargetHitFeedbackGroup.Attach(entity);
             component.Init(entity, nullable.Value);
         }
     }
 }
コード例 #2
0
 public void StopDoubleDamageEffect(NodeRemoveEvent e, DamageEffectNode effect, [JoinByTank] ReadyWeaponNode weapon)
 {
     weapon.doubleDamageEffect.Stop();
 }
コード例 #3
0
 public void PlayDoubleDamageEffect(NodeAddedEvent e, DamageEffectNode effect, [Context, JoinByTank] ReadyWeaponNode weapon)
 {
     weapon.doubleDamageEffect.Play();
 }
コード例 #4
0
 private SelfTargetHitEffectHUDData?GetDataForSelfTargetHitEffect(ReadyWeaponNode enemyWeapon, SelfTankNode selfTank, BattleCameraNode camera, SingleNode <ScreensLayerComponent> canvasNode, bool isShaft) =>
 this.GetDataForSelfTargetHitEffect(enemyWeapon.weaponVisualRoot.transform.position, selfTank, camera, canvasNode, isShaft);
コード例 #5
0
 public void DetachHUDEffectInstance(NodeRemoveEvent e, ReadyWeaponNode enemyWeapon, [JoinBy(typeof(WeaponSelfTargetHitFeedbackGroupComponent)), Combine] SingleNode <SelfTargetHitFeedbackHUDInstanceComponent> effect)
 {
     enemyWeapon.weaponSelfTargetHitFeedbackGroup.Detach(effect.Entity);
 }
コード例 #6
0
 private static bool CheckPossibilityForEffectInstancing(ReadyWeaponNode weapon) =>
 ((Time.time - weapon.weaponSelfTargetHitFeedbackTimer.LastTime) >= 0.5f) ? !weapon.cameraVisibleTrigger.IsVisibleAtRange(50f) : false;