public void CheckIfVulcanHitSelfTank(UpdateEvent e, VulcanStreamHitNode vulcan, [JoinAll] CameraShakerNode cameraShaker, [JoinAll] SingleNode <GameCameraShakerSettingsComponent> settings) { if (this.ValidateShakeOnVulcanImpact(vulcan, cameraShaker, settings) && !vulcan.Entity.HasComponent <VulcanImpactCameraShakerInstanceComponent>()) { vulcan.Entity.AddComponent(new VulcanImpactCameraShakerInstanceComponent(vulcan.impactCameraShakerConfig.FadeOutTime)); } }
public void CheckIfVulcanHitSelfTank(NodeAddedEvent e, [Combine] VulcanStreamHitNode vulcan, CameraShakerNode cameraShaker, SingleNode <GameCameraShakerSettingsComponent> settings) { if (this.ValidateShakeOnVulcanImpact(vulcan, cameraShaker, settings)) { if (!vulcan.Entity.HasComponent <VulcanImpactCameraShakerInstanceComponent>()) { vulcan.Entity.AddComponent(new VulcanImpactCameraShakerInstanceComponent(vulcan.impactCameraShakerConfig.FadeOutTime)); } else { vulcan.Entity.GetComponent <VulcanImpactCameraShakerInstanceComponent>().Init(vulcan.impactCameraShakerConfig.FadeOutTime); } } }
private bool ValidateShakeOnVulcanImpact(VulcanStreamHitNode vulcan, CameraShakerNode cameraShaker, SingleNode <GameCameraShakerSettingsComponent> settings) { StreamHitComponent streamHit = vulcan.streamHit; return(settings.component.Enabled ? ((streamHit.TankHit != null) ? streamHit.TankHit.Entity.HasComponent <SelfTankComponent>() : false) : false); }