private void GunshotWoundInit() { _ecsWorld = new EcsWorld(); _mainConfig = EcsFilterSingle <MainConfig> .Create(_ecsWorld); _localeConfig = EcsFilterSingle <LocaleConfig> .Create(_ecsWorld); _gswWorld = EcsFilterSingle <GswWorld> .Create(_ecsWorld); _gswWorld.GswPeds = new Dictionary <Ped, int>(); try { TryToLoadConfigsFromXml(); _configLoaded = true; } catch (Exception e) { LoadDefaultConfigs(); _configLoaded = false; #if DEBUG UI.Notify(e.ToString()); #endif } try { TryToLoadLocalization(); _localizationLoaded = true; } catch (Exception e) { LoadDefaultLocalization(); _localizationReason = e.Message; _localizationLoaded = false; #if DEBUG UI.Notify(e.ToString()); #endif } _everyFrameSystems = new EcsSystems(_ecsWorld); _commonSystems = new MultiTickEcsSystems(_ecsWorld, MultiTickEcsSystems.RestrictionModes.MILLISECONDS, 10); if (_mainConfig.NpcConfig.AddingPedRange > MINIMAL_RANGE_FOR_WOUNDED_PEDS) { _commonSystems .Add(new NpcFindSystem()) .Add(new ConvertPedToNpcGswPedSystem()) .Add(new RemoveWoundedPedSystem()); } if (_mainConfig.PlayerConfig.WoundedPlayerEnabled) { _everyFrameSystems .Add(new PlayerSystem()) .Add(new SpecialAbilityLockSystem()); if (_mainConfig.PlayerConfig.MaximalSlowMo < 1f) { _everyFrameSystems .Add(new AdrenalineSystem()); } } _everyFrameSystems .Add(new InstantHealSystem()) .Add(new HelmetRequestSystem()) .Add(new RagdollSystem()) .Add(new SwitchAnimationSystem()) .Add(new DebugInfoSystem()) .Add(new CameraShakeSystem()) .Add(new FlashSystem()) .Add(new PainRecoverySystem()) .Add(new BleedingSystem()) .Add(new BandageSystem()) .Add(new SelfHealingSystem()); _commonSystems .Add(new ArmorSystem()) .AddHitDetectSystems() .AddDamageProcessingSystems() .AddWoundSystems() .AddPainStateSystems() .Add(new CheckSystem()) .Add(new NotificationSystem()); _everyFrameSystems.Initialize(); _commonSystems.Initialize(); Tick += OnTick; KeyUp += OnKeyUp; _isPaused = false; }
private void GunshotWoundInit() { Function.Call(Hash._SET_CAM_EFFECT, 0); _ecsWorld = new EcsWorld(); _mainConfig = EcsFilterSingle <MainConfig> .Create(_ecsWorld); _localeConfig = EcsFilterSingle <LocaleConfig> .Create(_ecsWorld); _gswWorld = EcsFilterSingle <GswWorld> .Create(_ecsWorld); _gswWorld.GswPeds = new Dictionary <Ped, int>(); (_configLoaded, _configReason) = MainConfig.TryToLoadFromXml(_mainConfig); (_localizationLoaded, _localizationReason) = LocaleConfig.TryToLoadLocalization(_localeConfig, _mainConfig.Language); _everyFrameSystems = new EcsSystems(_ecsWorld); _commonSystems = new MultiTickEcsSystems(_ecsWorld, MultiTickEcsSystems.RestrictionModes.MILLISECONDS, 10); if (_mainConfig.NpcConfig.AddingPedRange > MinimalRangeForWoundedPeds) { _commonSystems .Add(new NpcFindSystem()) .Add(new ConvertPedToNpcGswPedSystem()) .Add(new RemoveWoundedPedSystem()); } if (_mainConfig.PlayerConfig.WoundedPlayerEnabled) { _everyFrameSystems .Add(new PlayerSystem()) .Add(new SpecialAbilityLockSystem()); if (_mainConfig.PlayerConfig.MaximalSlowMo < 1f) { _everyFrameSystems.Add(new AdrenalineSystem()); } } _everyFrameSystems .Add(new InstantHealSystem()) .Add(new HelmetRequestSystem()) .Add(new RagdollSystem()) .Add(new MoveSetSwitchSystem()) .Add(new DebugInfoSystem()) .Add(new CameraShakeSystem()) .Add(new FlashSystem()) .Add(new PainRecoverySystem()) .Add(new BleedingSystem()) .Add(new BandageSystem()) .Add(new SelfHealingSystem()); _commonSystems .Add(new ArmorSystem()) .AddHitDetectSystems() .AddDamageProcessingSystems() .AddWoundSystems() .AddPainStateSystems() .Add(new CheckSystem()) .Add(new NotificationSystem()); _everyFrameSystems.Initialize(); _commonSystems.Initialize(); Tick += OnTick; KeyUp += OnKeyUp; _isPaused = false; }