CameraMode, better settings, CustomGlobalInstance, another ports
This commit is contained in:
parent
0b93ede282
commit
b63299c50d
10
Config/DefaultEditorPerProjectUserSettings.ini
Normal file
10
Config/DefaultEditorPerProjectUserSettings.ini
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
[/Script/LiveCoding.LiveCodingSettings]
|
||||||
|
bEnabled=False
|
||||||
|
Startup=AutomaticButHidden
|
||||||
|
bEnableReinstancing=True
|
||||||
|
bAutomaticallyCompileNewClasses=True
|
||||||
|
bPreloadEngineModules=False
|
||||||
|
bPreloadEnginePluginModules=False
|
||||||
|
bPreloadProjectModules=True
|
||||||
|
bPreloadProjectPluginModules=True
|
||||||
|
|
@ -4,6 +4,8 @@
|
|||||||
GameDefaultMap=/Engine/Maps/Templates/OpenWorld
|
GameDefaultMap=/Engine/Maps/Templates/OpenWorld
|
||||||
EditorStartupMap=/Game/Levels/Test/L_Test.L_Test
|
EditorStartupMap=/Game/Levels/Test/L_Test.L_Test
|
||||||
bUseSplitscreen=False
|
bUseSplitscreen=False
|
||||||
|
GlobalDefaultGameMode=/Game/Blueprints/GameModes/BP_MainGameMode.BP_MainGameMode_C
|
||||||
|
GameInstanceClass=/Game/Blueprints/Other/BP_CustomGameInstance.BP_CustomGameInstance_C
|
||||||
|
|
||||||
[/Script/WindowsTargetPlatform.WindowsTargetSettings]
|
[/Script/WindowsTargetPlatform.WindowsTargetSettings]
|
||||||
DefaultGraphicsRHI=DefaultGraphicsRHI_DX12
|
DefaultGraphicsRHI=DefaultGraphicsRHI_DX12
|
||||||
@ -55,6 +57,7 @@ CommandletClass=Class'/Script/UnrealEd.WorldPartitionConvertCommandlet'
|
|||||||
+ActiveGameNameRedirects=(OldGameName="TP_Blank",NewGameName="/Script/Lost_Edge")
|
+ActiveGameNameRedirects=(OldGameName="TP_Blank",NewGameName="/Script/Lost_Edge")
|
||||||
+ActiveGameNameRedirects=(OldGameName="/Script/TP_Blank",NewGameName="/Script/Lost_Edge")
|
+ActiveGameNameRedirects=(OldGameName="/Script/TP_Blank",NewGameName="/Script/Lost_Edge")
|
||||||
+ActiveClassRedirects=(OldClassName="TP_BlankGameModeBase",NewClassName="Lost_EdgeGameModeBase")
|
+ActiveClassRedirects=(OldClassName="TP_BlankGameModeBase",NewClassName="Lost_EdgeGameModeBase")
|
||||||
|
GameUserSettingsClassName=/Script/Lost_Edge.CustomGameUserSettings
|
||||||
|
|
||||||
[/Script/AndroidFileServerEditor.AndroidFileServerRuntimeSettings]
|
[/Script/AndroidFileServerEditor.AndroidFileServerRuntimeSettings]
|
||||||
bEnablePlugin=True
|
bEnablePlugin=True
|
||||||
|
35
Config/DefaultGameUserSettings.ini
Normal file
35
Config/DefaultGameUserSettings.ini
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
[/Script/Lost_Edge.CustomGameUserSettings]
|
||||||
|
bUseMotionBlur=False
|
||||||
|
bShowFps=False
|
||||||
|
bMouseInverted=False
|
||||||
|
fMouseSensetivity=1.000000
|
||||||
|
bUseVSync=False
|
||||||
|
bUseDynamicResolution=False
|
||||||
|
ResolutionSizeX=1920
|
||||||
|
ResolutionSizeY=1080
|
||||||
|
LastUserConfirmedResolutionSizeX=1920
|
||||||
|
LastUserConfirmedResolutionSizeY=1080
|
||||||
|
WindowPosX=-1
|
||||||
|
WindowPosY=-1
|
||||||
|
FullscreenMode=1
|
||||||
|
LastConfirmedFullscreenMode=1
|
||||||
|
PreferredFullscreenMode=1
|
||||||
|
Version=5
|
||||||
|
AudioQualityLevel=0
|
||||||
|
LastConfirmedAudioQualityLevel=0
|
||||||
|
FrameRateLimit=0.000000
|
||||||
|
DesiredScreenWidth=1280
|
||||||
|
DesiredScreenHeight=720
|
||||||
|
LastUserConfirmedDesiredScreenWidth=1280
|
||||||
|
LastUserConfirmedDesiredScreenHeight=720
|
||||||
|
LastRecommendedScreenWidth=-1.000000
|
||||||
|
LastRecommendedScreenHeight=-1.000000
|
||||||
|
LastCPUBenchmarkResult=-1.000000
|
||||||
|
LastGPUBenchmarkResult=-1.000000
|
||||||
|
LastGPUBenchmarkMultiplier=1.000000
|
||||||
|
bUseHDRDisplayOutput=False
|
||||||
|
HDRDisplayOutputNits=1000
|
||||||
|
|
||||||
|
[/Script/Engine.GameUserSettings]
|
||||||
|
bUseDesiredScreenHeight=False
|
||||||
|
|
@ -67,6 +67,7 @@ bCaptureMouseOnLaunch=True
|
|||||||
bEnableLegacyInputScales=True
|
bEnableLegacyInputScales=True
|
||||||
bEnableMotionControls=True
|
bEnableMotionControls=True
|
||||||
bFilterInputByPlatformUser=False
|
bFilterInputByPlatformUser=False
|
||||||
|
bEnableInputDeviceSubsystem=True
|
||||||
bShouldFlushPressedKeysOnViewportFocusLost=True
|
bShouldFlushPressedKeysOnViewportFocusLost=True
|
||||||
bEnableDynamicComponentInputBinding=True
|
bEnableDynamicComponentInputBinding=True
|
||||||
bAlwaysShowTouchInterface=False
|
bAlwaysShowTouchInterface=False
|
||||||
@ -77,21 +78,6 @@ DefaultViewportMouseCaptureMode=CapturePermanently_IncludingInitialMouseDown
|
|||||||
DefaultViewportMouseLockMode=LockOnCapture
|
DefaultViewportMouseLockMode=LockOnCapture
|
||||||
FOVScale=0.011110
|
FOVScale=0.011110
|
||||||
DoubleClickTime=0.200000
|
DoubleClickTime=0.200000
|
||||||
+ActionMappings=(ActionName="Pause",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Escape)
|
|
||||||
+ActionMappings=(ActionName="Pause",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=P)
|
|
||||||
+ActionMappings=(ActionName="Interact",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=E)
|
|
||||||
+ActionMappings=(ActionName="SkipAny",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=SpaceBar)
|
|
||||||
+ActionMappings=(ActionName="Run",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=LeftShift)
|
|
||||||
+ActionMappings=(ActionName="Jump",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=SpaceBar)
|
|
||||||
+ActionMappings=(ActionName="ChangeCamera",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=V)
|
|
||||||
+ActionMappings=(ActionName="Crouch",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=LeftControl)
|
|
||||||
+ActionMappings=(ActionName="Crouch",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=C)
|
|
||||||
+AxisMappings=(AxisName="RotateX",Scale=1.000000,Key=MouseX)
|
|
||||||
+AxisMappings=(AxisName="RotateY",Scale=-1.000000,Key=MouseY)
|
|
||||||
+AxisMappings=(AxisName="MoveFB",Scale=1.000000,Key=W)
|
|
||||||
+AxisMappings=(AxisName="MoveLR",Scale=1.000000,Key=A)
|
|
||||||
+AxisMappings=(AxisName="MoveFB",Scale=-1.000000,Key=S)
|
|
||||||
+AxisMappings=(AxisName="MoveLR",Scale=-1.000000,Key=D)
|
|
||||||
DefaultPlayerInputClass=/Script/EnhancedInput.EnhancedPlayerInput
|
DefaultPlayerInputClass=/Script/EnhancedInput.EnhancedPlayerInput
|
||||||
DefaultInputComponentClass=/Script/EnhancedInput.EnhancedInputComponent
|
DefaultInputComponentClass=/Script/EnhancedInput.EnhancedInputComponent
|
||||||
DefaultTouchInterface=/Engine/MobileResources/HUD/DefaultVirtualJoysticks.DefaultVirtualJoysticks
|
DefaultTouchInterface=/Engine/MobileResources/HUD/DefaultVirtualJoysticks.DefaultVirtualJoysticks
|
||||||
@ -99,3 +85,15 @@ DefaultTouchInterface=/Engine/MobileResources/HUD/DefaultVirtualJoysticks.Defaul
|
|||||||
+ConsoleKeys=Tilde
|
+ConsoleKeys=Tilde
|
||||||
+ConsoleKeys=Caret
|
+ConsoleKeys=Caret
|
||||||
|
|
||||||
|
[/Script/EnhancedInput.EnhancedInputDeveloperSettings]
|
||||||
|
UserSettingsClass=/Script/EnhancedInput.EnhancedInputUserSettings
|
||||||
|
DefaultPlayerMappableKeyProfileClass=/Script/EnhancedInput.EnhancedPlayerMappableKeyProfile
|
||||||
|
DefaultWorldInputClass=/Script/EnhancedInput.EnhancedPlayerInput
|
||||||
|
bSendTriggeredEventsWhenInputIsFlushed=True
|
||||||
|
bEnableUserSettings=False
|
||||||
|
EnhancedInput.EnableDefaultMappingContexts=True
|
||||||
|
EnhancedInput.OnlyTriggerLastActionInChord=True
|
||||||
|
bLogOnDeprecatedConfigUsed=True
|
||||||
|
bEnableWorldSubsystem=False
|
||||||
|
EnhancedInput.bShouldLogAllWorldSubsystemInputs=False
|
||||||
|
|
||||||
|
BIN
Content/Blueprints/Characters/BP_CameraMode.uasset
Normal file
BIN
Content/Blueprints/Characters/BP_CameraMode.uasset
Normal file
Binary file not shown.
BIN
Content/Blueprints/Other/BP_CustomGameInstance.uasset
Normal file
BIN
Content/Blueprints/Other/BP_CustomGameInstance.uasset
Normal file
Binary file not shown.
BIN
Content/Fonts/FF_good_timing_bd_Raymond_Larabie_Font.uasset
(Stored with Git LFS)
Normal file
BIN
Content/Fonts/FF_good_timing_bd_Raymond_Larabie_Font.uasset
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Content/Fonts/FontFaces/FF_bowhouse_bold_Takuminokami.uasset
(Stored with Git LFS)
Normal file
BIN
Content/Fonts/FontFaces/FF_bowhouse_bold_Takuminokami.uasset
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Content/Fonts/FontFaces/FF_bowhouse_regular_Takuminokami.uasset
(Stored with Git LFS)
Normal file
BIN
Content/Fonts/FontFaces/FF_bowhouse_regular_Takuminokami.uasset
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Content/Fonts/FontFaces/FF_good_times_rg_Raymond_Larabie.uasset
(Stored with Git LFS)
Normal file
BIN
Content/Fonts/FontFaces/FF_good_times_rg_Raymond_Larabie.uasset
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Content/Fonts/FontFaces/FF_good_timing_bd_Raymond_Larabie.uasset
(Stored with Git LFS)
Normal file
BIN
Content/Fonts/FontFaces/FF_good_timing_bd_Raymond_Larabie.uasset
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Content/Fonts/FontFaces/FF_good_timing_bd_Raymond_Larabie_original.uasset
(Stored with Git LFS)
Normal file
BIN
Content/Fonts/FontFaces/FF_good_timing_bd_Raymond_Larabie_original.uasset
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Content/Fonts/FontFaces/FF_primer_print_Raymond_Larabie.uasset
(Stored with Git LFS)
Normal file
BIN
Content/Fonts/FontFaces/FF_primer_print_Raymond_Larabie.uasset
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Content/Fonts/FontFaces/FF_primer_print_bold_Raymond_Larabie.uasset
(Stored with Git LFS)
Normal file
BIN
Content/Fonts/FontFaces/FF_primer_print_bold_Raymond_Larabie.uasset
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Content/Fonts/Font_bowhouse_bold_Takuminokami_Font.uasset
(Stored with Git LFS)
Normal file
BIN
Content/Fonts/Font_bowhouse_bold_Takuminokami_Font.uasset
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Content/Fonts/Font_bowhouse_regular_Takuminokami_Font.uasset
(Stored with Git LFS)
Normal file
BIN
Content/Fonts/Font_bowhouse_regular_Takuminokami_Font.uasset
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Content/Fonts/Font_good_times_rg_Raymond_Larabie_Font.uasset
(Stored with Git LFS)
Normal file
BIN
Content/Fonts/Font_good_times_rg_Raymond_Larabie_Font.uasset
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Content/Fonts/Font_good_timing_bd_Raymond_Larabie_Font_original.uasset
(Stored with Git LFS)
Normal file
BIN
Content/Fonts/Font_good_timing_bd_Raymond_Larabie_Font_original.uasset
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Content/Fonts/Font_primer_print_Raymond_Larabie_Font.uasset
(Stored with Git LFS)
Normal file
BIN
Content/Fonts/Font_primer_print_Raymond_Larabie_Font.uasset
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Content/Fonts/Font_primer_print_bold_Raymond_Larabie_Font.uasset
(Stored with Git LFS)
Normal file
BIN
Content/Fonts/Font_primer_print_bold_Raymond_Larabie_Font.uasset
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Content/Input/Actions/IA_FlyUpDown.uasset
Normal file
BIN
Content/Input/Actions/IA_FlyUpDown.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Actions/IA_Interact.uasset
Normal file
BIN
Content/Input/Actions/IA_Interact.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Actions/IA_Jump.uasset
Normal file
BIN
Content/Input/Actions/IA_Jump.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Actions/IA_Look.uasset
Normal file
BIN
Content/Input/Actions/IA_Look.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Actions/IA_Move.uasset
Normal file
BIN
Content/Input/Actions/IA_Move.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Actions/IA_Run.uasset
Normal file
BIN
Content/Input/Actions/IA_Run.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Actions/IA_TurnCameraMode.uasset
Normal file
BIN
Content/Input/Actions/IA_TurnCameraMode.uasset
Normal file
Binary file not shown.
BIN
Content/Input/IMC_CameraMode.uasset
Normal file
BIN
Content/Input/IMC_CameraMode.uasset
Normal file
Binary file not shown.
BIN
Content/Input/IMC_Player.uasset
Normal file
BIN
Content/Input/IMC_Player.uasset
Normal file
Binary file not shown.
BIN
Content/Models/GrayBoxes/Materials/M_Gray.uasset
(Stored with Git LFS)
Normal file
BIN
Content/Models/GrayBoxes/Materials/M_Gray.uasset
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -1,13 +1,16 @@
|
|||||||
{
|
{
|
||||||
"FileVersion": 3,
|
"FileVersion": 3,
|
||||||
"EngineAssociation": "5.3",
|
"EngineAssociation": "{1596D39D-4A14-8FE8-BC5C-21A6B54321BE}",
|
||||||
"Category": "",
|
"Category": "",
|
||||||
"Description": "",
|
"Description": "",
|
||||||
"Modules": [
|
"Modules": [
|
||||||
{
|
{
|
||||||
"Name": "Lost_Edge",
|
"Name": "Lost_Edge",
|
||||||
"Type": "Runtime",
|
"Type": "Runtime",
|
||||||
"LoadingPhase": "Default"
|
"LoadingPhase": "Default",
|
||||||
|
"AdditionalDependencies": [
|
||||||
|
"Engine"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"Plugins": [
|
"Plugins": [
|
||||||
|
@ -3,11 +3,13 @@
|
|||||||
|
|
||||||
#include "APlayerBase.h"
|
#include "APlayerBase.h"
|
||||||
|
|
||||||
|
#include "Camera/CameraComponent.h"
|
||||||
#include "CustomGameUserSettings.h"
|
#include "CustomGameUserSettings.h"
|
||||||
#include "EnhancedInputSubsystems.h"
|
#include "EnhancedInputSubsystems.h"
|
||||||
#include "GameFramework/CharacterMovementComponent.h"
|
#include "GameFramework/CharacterMovementComponent.h"
|
||||||
#include "Kismet/GameplayStatics.h"
|
#include "Kismet/GameplayStatics.h"
|
||||||
#include "Kismet/KismetMathLibrary.h"
|
#include "Kismet/KismetMathLibrary.h"
|
||||||
|
#include "MainGameModeBase.h"
|
||||||
|
|
||||||
APlayerBase::APlayerBase()
|
APlayerBase::APlayerBase()
|
||||||
{
|
{
|
||||||
@ -34,12 +36,6 @@ void APlayerBase::BeginPlay()
|
|||||||
camera->PostProcessSettings.MotionBlurAmount = gameSettings->bUseMotionBlur ? 1.0f : 0.0f;
|
camera->PostProcessSettings.MotionBlurAmount = gameSettings->bUseMotionBlur ? 1.0f : 0.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(gameSettings->bShowFps)
|
|
||||||
world->Exec(world, TEXT("show stats"));
|
|
||||||
|
|
||||||
mouseInvert = gameSettings->bMouseInverted;
|
|
||||||
mouseSensetivity = gameSettings->GetMouseSensetivity();
|
|
||||||
|
|
||||||
if(inputMapping)
|
if(inputMapping)
|
||||||
{
|
{
|
||||||
if(auto player = Cast<APlayerController>(GetController()))
|
if(auto player = Cast<APlayerController>(GetController()))
|
||||||
@ -47,7 +43,7 @@ void APlayerBase::BeginPlay()
|
|||||||
if(auto inputSubsystem = ULocalPlayer::GetSubsystem<UEnhancedInputLocalPlayerSubsystem>(player->GetLocalPlayer()))
|
if(auto inputSubsystem = ULocalPlayer::GetSubsystem<UEnhancedInputLocalPlayerSubsystem>(player->GetLocalPlayer()))
|
||||||
{
|
{
|
||||||
inputSubsystem->ClearAllMappings();
|
inputSubsystem->ClearAllMappings();
|
||||||
inputSubsystem->AddMappingContext(inputMapping, 0);
|
inputSubsystem->AddMappingContext(inputMapping.LoadSynchronous(), 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -65,7 +61,17 @@ void APlayerBase::Tick(float DeltaTime)
|
|||||||
void APlayerBase::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent)
|
void APlayerBase::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent)
|
||||||
{
|
{
|
||||||
Super::SetupPlayerInputComponent(PlayerInputComponent);
|
Super::SetupPlayerInputComponent(PlayerInputComponent);
|
||||||
|
}
|
||||||
|
|
||||||
|
void APlayerBase::SwitchToCameraPawn()
|
||||||
|
{
|
||||||
|
if(auto gamemode_base = UGameplayStatics::GetGameMode(GetWorld()))
|
||||||
|
{
|
||||||
|
if(auto gamemode = Cast<AMainGameModeBase>(gamemode_base))
|
||||||
|
{
|
||||||
|
gamemode->SwitchCameraMode();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void APlayerBase::MoveCamera(FVector2D value)
|
void APlayerBase::MoveCamera(FVector2D value)
|
||||||
@ -73,11 +79,6 @@ void APlayerBase::MoveCamera(FVector2D value)
|
|||||||
if(cameraLocked)
|
if(cameraLocked)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if(mouseInvert)
|
|
||||||
value.Y *= -1;
|
|
||||||
|
|
||||||
value *= mouseSensetivity;
|
|
||||||
|
|
||||||
AddControllerYawInput(value.X);
|
AddControllerYawInput(value.X);
|
||||||
AddControllerPitchInput(value.Y);
|
AddControllerPitchInput(value.Y);
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "Camera/CameraComponent.h"
|
|
||||||
#include "CoreMinimal.h"
|
#include "CoreMinimal.h"
|
||||||
#include "GameFramework/Character.h"
|
#include "GameFramework/Character.h"
|
||||||
#include "InputMappingContext.h"
|
#include "InputMappingContext.h"
|
||||||
@ -18,12 +17,14 @@ public:
|
|||||||
APlayerBase();
|
APlayerBase();
|
||||||
|
|
||||||
virtual void Tick(float DeltaTime) override;
|
virtual void Tick(float DeltaTime) override;
|
||||||
|
|
||||||
virtual void SetupPlayerInputComponent(class UInputComponent* PlayerInputComponent) override;
|
virtual void SetupPlayerInputComponent(class UInputComponent* PlayerInputComponent) override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void BeginPlay() override;
|
virtual void BeginPlay() override;
|
||||||
|
|
||||||
|
UFUNCTION(BlueprintCallable, Category = CameraMode)
|
||||||
|
void SwitchToCameraPawn();
|
||||||
|
|
||||||
UFUNCTION(BlueprintCallable, Category = Character)
|
UFUNCTION(BlueprintCallable, Category = Character)
|
||||||
void MoveCamera(FVector2D value);
|
void MoveCamera(FVector2D value);
|
||||||
UFUNCTION(BlueprintCallable, Category = Character)
|
UFUNCTION(BlueprintCallable, Category = Character)
|
||||||
@ -33,7 +34,7 @@ protected:
|
|||||||
void SwitchRun(bool run);
|
void SwitchRun(bool run);
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly)
|
UPROPERTY(EditDefaultsOnly)
|
||||||
UInputMappingContext* inputMapping;
|
TSoftObjectPtr<UInputMappingContext> inputMapping;
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly)
|
UPROPERTY(EditDefaultsOnly)
|
||||||
float moveSpeed = 200;
|
float moveSpeed = 200;
|
||||||
@ -55,9 +56,6 @@ protected:
|
|||||||
// not visible :(
|
// not visible :(
|
||||||
//UPROPERTY(EditDefaultsOnly)
|
//UPROPERTY(EditDefaultsOnly)
|
||||||
//UCameraComponent* camera;
|
//UCameraComponent* camera;
|
||||||
|
|
||||||
bool mouseInvert = false;
|
|
||||||
float mouseSensetivity = 1.0f;
|
|
||||||
UPROPERTY(EditAnywhere)
|
UPROPERTY(EditAnywhere)
|
||||||
bool cameraLocked = false;
|
bool cameraLocked = false;
|
||||||
|
|
||||||
|
85
Source/Lost_Edge/Private/CameraModeBase.cpp
Normal file
85
Source/Lost_Edge/Private/CameraModeBase.cpp
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
// Oleg Petruny proprietary.
|
||||||
|
|
||||||
|
|
||||||
|
#include "CameraModeBase.h"
|
||||||
|
|
||||||
|
#include "Camera/CameraComponent.h"
|
||||||
|
#include "CustomGameUserSettings.h"
|
||||||
|
#include "EnhancedInputSubsystems.h"
|
||||||
|
#include "GameFramework/Character.h"
|
||||||
|
#include "GameFramework/PawnMovementComponent.h"
|
||||||
|
#include "Kismet/GameplayStatics.h"
|
||||||
|
#include "MainGameModeBase.h"
|
||||||
|
|
||||||
|
ACameraModeBase::ACameraModeBase()
|
||||||
|
{
|
||||||
|
PrimaryActorTick.bCanEverTick = true;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void ACameraModeBase::BeginPlay()
|
||||||
|
{
|
||||||
|
Super::BeginPlay();
|
||||||
|
|
||||||
|
auto world = GetWorld();
|
||||||
|
|
||||||
|
//GetMovementComponent()->speed
|
||||||
|
// GetCharacterMovement()->MaxWalkSpeed = moveSpeed;
|
||||||
|
|
||||||
|
auto gameSettings = UCustomGameUserSettings::GetCustomGameUserSettings();
|
||||||
|
|
||||||
|
if(auto camera = FindComponentByClass<UCameraComponent>())
|
||||||
|
{
|
||||||
|
camera->PostProcessSettings.MotionBlurAmount = gameSettings->bUseMotionBlur ? 1.0f : 0.0f;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(inputMapping)
|
||||||
|
{
|
||||||
|
if(auto player = Cast<APlayerController>(GetController()))
|
||||||
|
{
|
||||||
|
if(auto inputSubsystem = ULocalPlayer::GetSubsystem<UEnhancedInputLocalPlayerSubsystem>(player->GetLocalPlayer()))
|
||||||
|
{
|
||||||
|
inputSubsystem->ClearAllMappings();
|
||||||
|
inputSubsystem->AddMappingContext(inputMapping.LoadSynchronous(), 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void ACameraModeBase::Tick(float DeltaTime)
|
||||||
|
{
|
||||||
|
Super::Tick(DeltaTime);
|
||||||
|
|
||||||
|
// stabilize move speed by fps
|
||||||
|
AddActorLocalOffset(ConsumeMovementInputVector() * DeltaTime);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ACameraModeBase::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent)
|
||||||
|
{
|
||||||
|
Super::SetupPlayerInputComponent(PlayerInputComponent);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ACameraModeBase::SwitchToPlayerPawn()
|
||||||
|
{
|
||||||
|
if(auto gamemode_base = UGameplayStatics::GetGameMode(GetWorld()))
|
||||||
|
{
|
||||||
|
if(auto gamemode = Cast<AMainGameModeBase>(gamemode_base))
|
||||||
|
{
|
||||||
|
gamemode->SwitchCameraMode();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ACameraModeBase::ElevatePawn(float value)
|
||||||
|
{
|
||||||
|
AddMovementInput(FVector::UpVector, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ACameraModeBase::SwitchRun(bool run)
|
||||||
|
{
|
||||||
|
//if(run)
|
||||||
|
// GetMovement()->MaxWalkSpeed = moveSpeed * runSpeedMultiplier;
|
||||||
|
//else
|
||||||
|
// GetCharacterMovement()->MaxWalkSpeed = moveSpeed;
|
||||||
|
}
|
43
Source/Lost_Edge/Private/CameraModeBase.h
Normal file
43
Source/Lost_Edge/Private/CameraModeBase.h
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
// Oleg Petruny proprietary.
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "CoreMinimal.h"
|
||||||
|
#include "GameFramework/SpectatorPawn.h"
|
||||||
|
#include "InputMappingContext.h"
|
||||||
|
|
||||||
|
#include "CameraModeBase.generated.h"
|
||||||
|
|
||||||
|
UCLASS()
|
||||||
|
class ACameraModeBase : public ASpectatorPawn
|
||||||
|
{
|
||||||
|
GENERATED_BODY()
|
||||||
|
|
||||||
|
public:
|
||||||
|
ACameraModeBase();
|
||||||
|
|
||||||
|
virtual void Tick(float DeltaTime) override;
|
||||||
|
virtual void SetupPlayerInputComponent(class UInputComponent* PlayerInputComponent) override;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void BeginPlay() override;
|
||||||
|
|
||||||
|
UFUNCTION(BlueprintCallable, Category = CameraMode)
|
||||||
|
void SwitchToPlayerPawn();
|
||||||
|
|
||||||
|
UFUNCTION(BlueprintCallable, Category = Pawn)
|
||||||
|
void ElevatePawn(float value);
|
||||||
|
UFUNCTION(BlueprintCallable, Category = Pawn)
|
||||||
|
void SwitchRun(bool run);
|
||||||
|
|
||||||
|
UPROPERTY(EditDefaultsOnly)
|
||||||
|
TSoftObjectPtr<UInputMappingContext> inputMapping;
|
||||||
|
|
||||||
|
UPROPERTY(EditDefaultsOnly)
|
||||||
|
float moveSpeed = 200;
|
||||||
|
UPROPERTY(EditDefaultsOnly)
|
||||||
|
float runSpeedMultiplier = 4;
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
};
|
43
Source/Lost_Edge/Private/CustomGameInstanceBase.cpp
Normal file
43
Source/Lost_Edge/Private/CustomGameInstanceBase.cpp
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
// Oleg Petruny proprietary.
|
||||||
|
|
||||||
|
|
||||||
|
#include "CustomGameInstanceBase.h"
|
||||||
|
|
||||||
|
#include "CustomGameUserSettings.h"
|
||||||
|
#include "EnhancedInputLibrary.h"
|
||||||
|
|
||||||
|
void UCustomGameInstanceBase::Init()
|
||||||
|
{
|
||||||
|
//Super::Init();
|
||||||
|
|
||||||
|
ApplyMouseSettings();
|
||||||
|
}
|
||||||
|
|
||||||
|
void UCustomGameInstanceBase::ApplyMouseSettings()
|
||||||
|
{
|
||||||
|
if(auto gameSettings = UCustomGameUserSettings::GetCustomGameUserSettings())
|
||||||
|
{
|
||||||
|
for(auto context_it = defaultInputContexts.begin(); context_it != defaultInputContexts.end(); ++context_it)
|
||||||
|
{
|
||||||
|
auto& mappings = (*context_it).LoadSynchronous()->GetMappings();
|
||||||
|
for(auto mapping_it = mappings.begin(); mapping_it != mappings.end(); ++mapping_it)
|
||||||
|
{
|
||||||
|
if((*mapping_it).Key == EKeys::Mouse2D)
|
||||||
|
{
|
||||||
|
for(auto modifiers_it = (*mapping_it).Modifiers.begin(); modifiers_it != (*mapping_it).Modifiers.end(); ++modifiers_it)
|
||||||
|
{
|
||||||
|
if(auto negate_modifier = Cast<UInputModifierNegate>(*modifiers_it))
|
||||||
|
{
|
||||||
|
negate_modifier->bY = !gameSettings->bMouseInverted;
|
||||||
|
}
|
||||||
|
if(auto scalar_modifier = Cast<UInputModifierScalar>(*modifiers_it))
|
||||||
|
{
|
||||||
|
scalar_modifier->Scalar = FVector{ gameSettings->GetMouseSensetivity() };
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
UEnhancedInputLibrary::RequestRebuildControlMappingsUsingContext((*context_it).LoadSynchronous());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
25
Source/Lost_Edge/Private/CustomGameInstanceBase.h
Normal file
25
Source/Lost_Edge/Private/CustomGameInstanceBase.h
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
// Oleg Petruny proprietary.
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "CoreMinimal.h"
|
||||||
|
#include "Engine/GameInstance.h"
|
||||||
|
#include "InputMappingContext.h"
|
||||||
|
|
||||||
|
#include "CustomGameInstanceBase.generated.h"
|
||||||
|
|
||||||
|
UCLASS()
|
||||||
|
class UCustomGameInstanceBase : public UGameInstance
|
||||||
|
{
|
||||||
|
GENERATED_BODY()
|
||||||
|
|
||||||
|
public:
|
||||||
|
virtual void Init() override;
|
||||||
|
|
||||||
|
UFUNCTION(BlueprintCallable, Category = Settings)
|
||||||
|
void ApplyMouseSettings();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
UPROPERTY(EditDefaultsOnly)
|
||||||
|
TArray<TSoftObjectPtr<UInputMappingContext>> defaultInputContexts;
|
||||||
|
};
|
@ -1,7 +1,11 @@
|
|||||||
// Oleg Petruny proprietary.
|
// Oleg Petruny proprietary.
|
||||||
|
|
||||||
|
|
||||||
#include "CustomGameUserSettings.h"
|
#include "CustomGameUserSettings.h"
|
||||||
|
|
||||||
|
#include "CustomGameInstanceBase.h"
|
||||||
|
#include "Kismet/GameplayStatics.h"
|
||||||
|
|
||||||
UCustomGameUserSettings::UCustomGameUserSettings(const FObjectInitializer& ObjectInitializer) :Super(ObjectInitializer)
|
UCustomGameUserSettings::UCustomGameUserSettings(const FObjectInitializer& ObjectInitializer) :Super(ObjectInitializer)
|
||||||
{
|
{
|
||||||
bUseMotionBlur = false;
|
bUseMotionBlur = false;
|
||||||
|
@ -7,9 +7,6 @@
|
|||||||
|
|
||||||
#include "CustomGameUserSettings.generated.h"
|
#include "CustomGameUserSettings.generated.h"
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
UCLASS()
|
UCLASS()
|
||||||
class UCustomGameUserSettings : public UGameUserSettings
|
class UCustomGameUserSettings : public UGameUserSettings
|
||||||
{
|
{
|
||||||
@ -28,17 +25,17 @@ public:
|
|||||||
UFUNCTION(BlueprintCallable, Category = Settings)
|
UFUNCTION(BlueprintCallable, Category = Settings)
|
||||||
float GetMouseSensetivity() const;
|
float GetMouseSensetivity() const;
|
||||||
|
|
||||||
UPROPERTY(config)
|
UPROPERTY(Config, BlueprintReadWrite)
|
||||||
bool bUseMotionBlur;
|
bool bUseMotionBlur;
|
||||||
|
|
||||||
UPROPERTY(config)
|
UPROPERTY(Config, BlueprintReadWrite)
|
||||||
bool bShowFps;
|
bool bShowFps;
|
||||||
|
|
||||||
UPROPERTY(config)
|
UPROPERTY(Config, BlueprintReadWrite)
|
||||||
bool bMouseInverted;
|
bool bMouseInverted;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
UPROPERTY(config)
|
UPROPERTY(Config)
|
||||||
float fMouseSensetivity;
|
float fMouseSensetivity;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
41
Source/Lost_Edge/Private/MainGameModeBase.cpp
Normal file
41
Source/Lost_Edge/Private/MainGameModeBase.cpp
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
// Oleg Petruny proprietary.
|
||||||
|
|
||||||
|
|
||||||
|
#include "MainGameModeBase.h"
|
||||||
|
|
||||||
|
#include "Engine/World.h"
|
||||||
|
#include "GameFramework/SpectatorPawn.h"
|
||||||
|
#include "Kismet/GameplayStatics.h"
|
||||||
|
|
||||||
|
void AMainGameModeBase::SwitchCameraMode()
|
||||||
|
{
|
||||||
|
if(!_player_pawn)
|
||||||
|
{
|
||||||
|
if(auto controller = UGameplayStatics::GetPlayerController(GetWorld(), 0))
|
||||||
|
{
|
||||||
|
if(auto pawn = controller->GetPawn())
|
||||||
|
{
|
||||||
|
auto spawnLoc = pawn->GetActorLocation();
|
||||||
|
auto spawnRot = pawn->GetActorRotation();
|
||||||
|
if(auto cameraPawn = GetWorld()->SpawnActor<APawn>(SpectatorClass, spawnLoc, spawnRot))
|
||||||
|
{
|
||||||
|
_player_pawn = pawn;
|
||||||
|
controller->Possess(cameraPawn);
|
||||||
|
cameraPawn->BeginPlay();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(auto controller = UGameplayStatics::GetPlayerController(GetWorld(), 0))
|
||||||
|
{
|
||||||
|
if(auto pawn = controller->GetPawn())
|
||||||
|
{
|
||||||
|
controller->Possess(_player_pawn);
|
||||||
|
pawn->Destroy();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
23
Source/Lost_Edge/Private/MainGameModeBase.h
Normal file
23
Source/Lost_Edge/Private/MainGameModeBase.h
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
// Oleg Petruny proprietary.
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "CoreMinimal.h"
|
||||||
|
#include "GameFramework/GameModeBase.h"
|
||||||
|
#include "GameFramework/Pawn.h"
|
||||||
|
|
||||||
|
#include "MainGameModeBase.generated.h"
|
||||||
|
|
||||||
|
UCLASS()
|
||||||
|
class AMainGameModeBase : public AGameModeBase
|
||||||
|
{
|
||||||
|
GENERATED_BODY()
|
||||||
|
|
||||||
|
public:
|
||||||
|
void SwitchCameraMode();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
private:
|
||||||
|
APawn* _player_pawn = nullptr;
|
||||||
|
};
|
Loading…
Reference in New Issue
Block a user