diff --git a/Content/Legumix/Ennemy/DistantEnemy/BP_DistantEnemy.uasset b/Content/Legumix/Ennemy/DistantEnemy/BP_DistantEnemy.uasset index dce9aca..de963e5 100644 --- a/Content/Legumix/Ennemy/DistantEnemy/BP_DistantEnemy.uasset +++ b/Content/Legumix/Ennemy/DistantEnemy/BP_DistantEnemy.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ba2b4f7892a06fef6bc4a1bb6c2523b28b0e97bdc61ee71c582885fb9f967251 -size 98029 +oid sha256:6c97a9de840ea52b97e12c9ccf27a1a67ca7db38dab149d8bb3c0bec70402a30 +size 275 diff --git a/Content/Legumix/Ennemy/Range/BP_EQSOrigin.uasset b/Content/Legumix/Ennemy/Range/BP_EQSOrigin.uasset new file mode 100644 index 0000000..38f285f --- /dev/null +++ b/Content/Legumix/Ennemy/Range/BP_EQSOrigin.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e5d1177fb5cc400b575fbbdb76e2c10ae29241f47b0137b96bfd88b33460f9a +size 22068 diff --git a/Content/Legumix/Ennemy/Range/BT_RangeEnnemy.uasset b/Content/Legumix/Ennemy/Range/BT_RangeEnnemy.uasset index 09402da..635eedb 100644 --- a/Content/Legumix/Ennemy/Range/BT_RangeEnnemy.uasset +++ b/Content/Legumix/Ennemy/Range/BT_RangeEnnemy.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3f73c5e8c09fceaa8416980b2b5794e0a27e308c5b9de9d7782e647035a9b9e6 +oid sha256:27f9ba95cfca71840ebbbc94e90b01c5e27b58683eb469abf0b4bb4c88bcec3b size 9834 diff --git a/Content/Legumix/Ennemy/Range/EQC_DistantEnemy.uasset b/Content/Legumix/Ennemy/Range/EQC_DistantEnemy.uasset new file mode 100644 index 0000000..f0a8015 --- /dev/null +++ b/Content/Legumix/Ennemy/Range/EQC_DistantEnemy.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27627c3e68d8f037eab74f88d7a323ebffec892585bfea545314895e1579edb7 +size 50496 diff --git a/Content/Legumix/Ennemy/Range/EQC_EQSOrigin.uasset b/Content/Legumix/Ennemy/Range/EQC_EQSOrigin.uasset new file mode 100644 index 0000000..75d04dd --- /dev/null +++ b/Content/Legumix/Ennemy/Range/EQC_EQSOrigin.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e8b58fb54d786af2887660bd151b9cf54a9aa40415ea44892de1626582a83285 +size 26356 diff --git a/Content/Legumix/Ennemy/Range/EQS_RangeEnnemy.uasset b/Content/Legumix/Ennemy/Range/EQS_RangeEnnemy.uasset index 9443301..05c648e 100644 --- a/Content/Legumix/Ennemy/Range/EQS_RangeEnnemy.uasset +++ b/Content/Legumix/Ennemy/Range/EQS_RangeEnnemy.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e093a1fd027e4afd92bed0db312159c3d00fb205a3d8fc708b79c01b6c941cf4 -size 20722 +oid sha256:6b8e531aea4ed9bb40efdd6c0c8307d192a0aae0a750f7eb3310b3ec87e89bf3 +size 25492 diff --git a/Content/Legumix/MainMenu/UI/WBP_Settings.uasset b/Content/Legumix/MainMenu/UI/WBP_Settings.uasset index 96aa60e..9f91ccf 100644 --- a/Content/Legumix/MainMenu/UI/WBP_Settings.uasset +++ b/Content/Legumix/MainMenu/UI/WBP_Settings.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d925228969cf52467917a4bdfd8d2c81e51bb9243017a0ad357c8aa90dde7333 -size 402552 +oid sha256:7dbe56be300f2c1082c193b7c7b87fb83a1e728f7411462cb8af64a856a7ae35 +size 398079 diff --git a/Source/LegumeMix/Private/Player/LMPlayer.cpp b/Source/LegumeMix/Private/Player/LMPlayer.cpp index 7260d44..e0d5f65 100644 --- a/Source/LegumeMix/Private/Player/LMPlayer.cpp +++ b/Source/LegumeMix/Private/Player/LMPlayer.cpp @@ -4,6 +4,7 @@ #include "Player/LMPlayer.h" #include "KismetTraceUtils.h" +#include "LMUserSettings.h" #include "LMUtils.h" #include "Camera/CameraComponent.h" #include "Ammo/LMAmmo.h" @@ -31,6 +32,8 @@ void ALMPlayer::BeginPlay() Super::BeginPlay(); WeaponManager->WeaponFired.AddUniqueDynamic(this, &ALMPlayer::WeaponFired); WeaponManager->WeaponSwitched.AddUniqueDynamic(this, &ALMPlayer::WeaponSwitched); + + GetCamera()->SetFieldOfView(ULMUserSettings::GetLegumixUserSettings()->FieldOfView); } bool ALMPlayer::PickUpAmmo(ALMAmmo* Ammo) diff --git a/Source/LegumeMix/Private/Player/LMPlayerController.cpp b/Source/LegumeMix/Private/Player/LMPlayerController.cpp index 47a8bba..277cccd 100644 --- a/Source/LegumeMix/Private/Player/LMPlayerController.cpp +++ b/Source/LegumeMix/Private/Player/LMPlayerController.cpp @@ -4,6 +4,7 @@ #include "Player/LMPlayerController.h" #include "EnhancedInputSubsystems.h" #include "EnhancedInputComponent.h" +#include "LMUserSettings.h" #include "GameFramework/Character.h" #include "Player/LMPlayer.h" #include "Weapon/LMWeaponManager.h" @@ -45,8 +46,11 @@ void ALMPlayerController::Jump(const FInputActionValue& InputValue) void ALMPlayerController::Look(const FInputActionValue& InputValue) { const FVector2d VectorDirection = InputValue.Get(); - AddYawInput(VectorDirection.X); - AddPitchInput(VectorDirection.Y); + + const float Sensitivity = ULMUserSettings::GetLegumixUserSettings()->MouseSensitivity; + + AddYawInput(VectorDirection.X * Sensitivity); + AddPitchInput(VectorDirection.Y * Sensitivity); } void ALMPlayerController::Fire(const FInputActionValue& InputValue) diff --git a/Source/LegumeMix/Public/LMSettings.h b/Source/LegumeMix/Public/LMSettings.h new file mode 100644 index 0000000..2126ab4 --- /dev/null +++ b/Source/LegumeMix/Public/LMSettings.h @@ -0,0 +1,22 @@ +#pragma once + +#include "LMSettings.generated.h" + +USTRUCT(BlueprintType) +struct FLMSettings +{ + GENERATED_BODY() + + UPROPERTY(Config, VisibleAnywhere, BlueprintReadOnly, Category = "Legumix|Audio", meta = (UIMin = 0, ClampMin = 0, UIMax = 10, ClampMax = 10)) + int MasterAudio = 1.f; + UPROPERTY(Config, VisibleAnywhere, BlueprintReadOnly, Category = "Legumix|Audio", meta = (UIMin = 0, ClampMin = 0, UIMax = 10, ClampMax = 10)) + int MusicAudio = 1.f; + UPROPERTY(Config, VisibleAnywhere, BlueprintReadOnly, Category = "Legumix|Audio", meta = (UIMin = 0, ClampMin = 0, UIMax = 10, ClampMax = 10)) + int FxAudio = 1.f; + + UPROPERTY(Config, VisibleAnywhere, BlueprintReadOnly, Category = "Legumix|Controls", meta = (UIMin = 0, ClampMin = 0, UIMax = 10, ClampMax = 10)) + float MouseSensitivity = 1.f; + + UPROPERTY(Config, VisibleAnywhere, BlueprintReadOnly, Category= "Legumix|Gameplay", meta = (UIMin = 60, ClampMin = 60, UIMax = 90, ClampMax = 90)) + float FieldOfView = 80.f; +}; diff --git a/Source/LegumeMix/Public/LMUserSettings.h b/Source/LegumeMix/Public/LMUserSettings.h index 83605fb..300fa87 100644 --- a/Source/LegumeMix/Public/LMUserSettings.h +++ b/Source/LegumeMix/Public/LMUserSettings.h @@ -3,9 +3,12 @@ #pragma once #include "CoreMinimal.h" +#include "LMSettings.h" #include "GameFramework/GameUserSettings.h" #include "LMUserSettings.generated.h" +DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnSettingsChangedSignature, FLMSettings, setting); + /** * */ @@ -18,6 +21,9 @@ public: UFUNCTION(BlueprintCallable, BlueprintPure, Category = "Legumix", meta = (Keywords = "Game User Settings, Settings, User Settings")) static ULMUserSettings* GetLegumixUserSettings(); + UPROPERTY(BlueprintCallable, BlueprintAssignable, category = "Legumix") + FOnSettingsChangedSignature OnSettingsChanged; + public: UPROPERTY(Config, EditAnywhere, BlueprintReadWrite, Category = "Legumix|Audio", meta = (UIMin = 0, ClampMin = 0, UIMax = 10, ClampMax = 10)) int MasterAudio = 1.f;