diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..0be4ba1 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,4 @@ +# These are supported funding model platforms + +patreon: carmineos +custom: https://www.paypal.me/carmineos diff --git a/VStancer.Client/Scripts/ClientPresetsScript.cs b/VStancer.Client/Scripts/ClientPresetsScript.cs index b16037c..ef2d138 100644 --- a/VStancer.Client/Scripts/ClientPresetsScript.cs +++ b/VStancer.Client/Scripts/ClientPresetsScript.cs @@ -47,10 +47,25 @@ private void OnDeletePresetInvoked(string presetKey) private void OnSavePresetInvoked(string presetKey) { + var wheelPreset = _mainScript.WheelScript?.GetWheelPreset(); + var wheelModPreset = _mainScript.WheelModScript?.GetWheelModPreset(); + + if(wheelPreset == null && wheelModPreset == null) + { + Screen.ShowNotification($"~r~ERROR~w~ Nothing to save, be sure your vehicle is edited!"); + return; + } + + if (wheelPreset == null) + Screen.ShowNotification($"~y~WARNING~w~ The preset doesn't contain any wheel data."); + + if (wheelModPreset == null) + Screen.ShowNotification($"~y~WARNING~w~ The preset doesn't contain any wheel mod data."); + VStancerPreset preset = new VStancerPreset { - WheelPreset = _mainScript.WheelScript?.GetWheelPreset(), - WheelModPreset = _mainScript.WheelModScript?.GetWheelModPreset() + WheelPreset = wheelPreset, + WheelModPreset = wheelModPreset, }; if (Presets.Save(presetKey, preset)) diff --git a/VStancer.Client/Scripts/WheelScript.cs b/VStancer.Client/Scripts/WheelScript.cs index 03ca5e4..56b8f4b 100644 --- a/VStancer.Client/Scripts/WheelScript.cs +++ b/VStancer.Client/Scripts/WheelScript.cs @@ -70,8 +70,8 @@ internal WheelScript(MainScript mainScript) } Tick += UpdateWorldVehiclesTask; - //Tick += TimedTask; Tick += UpdatePlayerVehicleTask; + //Tick += TimedTask; mainScript.PlayerVehicleHandleChanged += (sender, handle) => PlayerVehicleChanged(handle); PlayerVehicleChanged(_mainScript.PlayerVehicleHandle); @@ -129,21 +129,21 @@ private async Task UpdateWorldVehiclesTask() } } - private async Task TimedTask() - { - long currentTime = (GetGameTimer() - _lastTime); - - // Check if decorators needs to be updated - if (currentTime > _mainScript.Config.Timer) - { - //if (DataIsValid) - // UpdateVehicleDecorators(_playerVehicleHandle, WheelData); - - _lastTime = GetGameTimer(); - } - - await Task.FromResult(0); - } + //private async Task TimedTask() + //{ + // long currentTime = (GetGameTimer() - _lastTime); + // + // if (currentTime > _mainScript.Config.Timer) + // { + // // Check if decorators needs to be updated + // //if (DataIsValid) + // // UpdateVehicleDecorators(_playerVehicleHandle, WheelData); + // + // _lastTime = GetGameTimer(); + // } + // + // await Task.FromResult(0); + //} private async void OnWheelDataPropertyChanged(string propertyName, float value) { @@ -152,7 +152,6 @@ private async void OnWheelDataPropertyChanged(string propertyName, float value) switch(propertyName) { - // If false then this has been invoked by after a reset case nameof(WheelData.Reset): RemoveDecoratorsFromVehicle(_playerVehicleHandle); UpdateVehicleUsingWheelData(_playerVehicleHandle, WheelData); @@ -336,22 +335,20 @@ private void UpdateVehicleUsingWheelData(int vehicle, WheelData data) SetVehicleWheelXOffset(vehicle, index, nodes[index].PositionX); SetVehicleWheelYRotation(vehicle, index, nodes[index].RotationY); } - - UpdateVehicleDecorators(vehicle, data); } - private void UpdateVehicleDecorators(int vehicle, WheelData data) - { - VStancerUtilities.UpdateFloatDecorator(vehicle, DefaultFrontTrackWidthID, data.DefaultFrontTrackWidth, data.FrontTrackWidth); - VStancerUtilities.UpdateFloatDecorator(vehicle, DefaultFrontCamberID, data.DefaultFrontCamber, data.FrontCamber); - VStancerUtilities.UpdateFloatDecorator(vehicle, DefaultRearTrackWidthID, data.DefaultRearTrackWidth, data.RearTrackWidth); - VStancerUtilities.UpdateFloatDecorator(vehicle, DefaultRearCamberID, data.DefaultRearCamber, data.RearCamber); - - VStancerUtilities.UpdateFloatDecorator(vehicle, FrontTrackWidthID, data.FrontTrackWidth, data.DefaultFrontTrackWidth); - VStancerUtilities.UpdateFloatDecorator(vehicle, FrontCamberID, data.FrontCamber, data.DefaultFrontCamber); - VStancerUtilities.UpdateFloatDecorator(vehicle, RearTrackWidthID, data.RearTrackWidth, data.DefaultRearTrackWidth); - VStancerUtilities.UpdateFloatDecorator(vehicle, RearCamberID, data.RearCamber, data.DefaultRearCamber); - } + //private void UpdateVehicleDecorators(int vehicle, WheelData data) + //{ + // VStancerUtilities.UpdateFloatDecorator(vehicle, DefaultFrontTrackWidthID, data.DefaultFrontTrackWidth, data.FrontTrackWidth); + // VStancerUtilities.UpdateFloatDecorator(vehicle, DefaultFrontCamberID, data.DefaultFrontCamber, data.FrontCamber); + // VStancerUtilities.UpdateFloatDecorator(vehicle, DefaultRearTrackWidthID, data.DefaultRearTrackWidth, data.RearTrackWidth); + // VStancerUtilities.UpdateFloatDecorator(vehicle, DefaultRearCamberID, data.DefaultRearCamber, data.RearCamber); + // + // VStancerUtilities.UpdateFloatDecorator(vehicle, FrontTrackWidthID, data.FrontTrackWidth, data.DefaultFrontTrackWidth); + // VStancerUtilities.UpdateFloatDecorator(vehicle, FrontCamberID, data.FrontCamber, data.DefaultFrontCamber); + // VStancerUtilities.UpdateFloatDecorator(vehicle, RearTrackWidthID, data.RearTrackWidth, data.DefaultRearTrackWidth); + // VStancerUtilities.UpdateFloatDecorator(vehicle, RearCamberID, data.RearCamber, data.DefaultRearCamber); + //} private void RegisterDecorators() { diff --git a/VStancer.Client/UI/ClientPresetsMenu.cs b/VStancer.Client/UI/ClientPresetsMenu.cs index ff0ed0b..f138918 100644 --- a/VStancer.Client/UI/ClientPresetsMenu.cs +++ b/VStancer.Client/UI/ClientPresetsMenu.cs @@ -36,6 +36,10 @@ internal ClientPresetsMenu(ClientPresetsScript script, string name = Globals.Scr ButtonPressHandlers.Add(new ButtonPressHandler(Control.PhoneExtraOption, ControlPressCheckType.JUST_RELEASED, new Action(async (sender, control) => { string presetName = await _script.GetPresetNameFromUser("VSTANCER_ENTER_PRESET_NAME", ""); + + if (string.IsNullOrEmpty(presetName)) + return; + SavePresetEvent?.Invoke(this, presetName.Trim()); }), true)); diff --git a/appveyor.yml b/appveyor.yml index 729ee76..53cc83f 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,5 +1,5 @@ install: -- ps: $env:LAST_TAG = git describe --abbrev=0 --tags +- ps: $env:LAST_TAG = git describe --abbrev=0 --tags --exclude "*-dev" - ps: $env:TAG_NUMBER = $env:LAST_TAG.Substring($env:LAST_TAG.IndexOf('v') + 1) - ps: if ($env:APPVEYOR_REPO_TAG -ne $True){ $env:TAG_NUMBER = $env:TAG_NUMBER + "." + $env:APPVEYOR_BUILD_NUMBER } else { $env:TAG_NUMBER = $env:TAG_NUMBER + "." + 0 }