Main menu to in game flow
This commit is contained in:
parent
1123ba8ff7
commit
707804bf54
BIN
GravityStomp/Content/Characters/BP_GSCharacter.uasset
(Stored with Git LFS)
BIN
GravityStomp/Content/Characters/BP_GSCharacter.uasset
(Stored with Git LFS)
Binary file not shown.
BIN
GravityStomp/Content/Core/BP_GSDefaultGameMode.uasset
(Stored with Git LFS)
BIN
GravityStomp/Content/Core/BP_GSDefaultGameMode.uasset
(Stored with Git LFS)
Binary file not shown.
BIN
GravityStomp/Content/Core/BP_GSGameState.uasset
(Stored with Git LFS)
Normal file
BIN
GravityStomp/Content/Core/BP_GSGameState.uasset
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
GravityStomp/Content/Maps/Debug/Test.umap
(Stored with Git LFS)
BIN
GravityStomp/Content/Maps/Debug/Test.umap
(Stored with Git LFS)
Binary file not shown.
BIN
GravityStomp/Content/UI/MainMenu/Blueprints/BP_MainMenuGameMode.uasset
(Stored with Git LFS)
BIN
GravityStomp/Content/UI/MainMenu/Blueprints/BP_MainMenuGameMode.uasset
(Stored with Git LFS)
Binary file not shown.
BIN
GravityStomp/Content/UI/MainMenu/Blueprints/BP_MainMenuPlayerController.uasset
(Stored with Git LFS)
BIN
GravityStomp/Content/UI/MainMenu/Blueprints/BP_MainMenuPlayerController.uasset
(Stored with Git LFS)
Binary file not shown.
BIN
GravityStomp/Content/UI/MainMenu/Widgets/WBP_MainMenu.uasset
(Stored with Git LFS)
BIN
GravityStomp/Content/UI/MainMenu/Widgets/WBP_MainMenu.uasset
(Stored with Git LFS)
Binary file not shown.
BIN
GravityStomp/Content/UI/MainMenu/Widgets/WBP_PlayerLobby.uasset
(Stored with Git LFS)
BIN
GravityStomp/Content/UI/MainMenu/Widgets/WBP_PlayerLobby.uasset
(Stored with Git LFS)
Binary file not shown.
BIN
GravityStomp/Content/UI/MainMenu/Widgets/WBP_PlayerLobbySubMenu.uasset
(Stored with Git LFS)
BIN
GravityStomp/Content/UI/MainMenu/Widgets/WBP_PlayerLobbySubMenu.uasset
(Stored with Git LFS)
Binary file not shown.
@ -39,19 +39,6 @@ AGSCharacter::AGSCharacter(const FObjectInitializer& ObjectInitializer)
|
|||||||
GetCharacterMovement()->MinAnalogWalkSpeed = 20.f;
|
GetCharacterMovement()->MinAnalogWalkSpeed = 20.f;
|
||||||
GetCharacterMovement()->BrakingDecelerationWalking = 2000.f;
|
GetCharacterMovement()->BrakingDecelerationWalking = 2000.f;
|
||||||
|
|
||||||
// Create a camera boom (pulls in towards the player if there is a collision)
|
|
||||||
CameraBoom = CreateDefaultSubobject<USpringArmComponent>(TEXT("CameraBoom"));
|
|
||||||
CameraBoom->SetupAttachment(RootComponent);
|
|
||||||
CameraBoom->TargetArmLength = 400.0f; // The camera follows at this distance behind the character
|
|
||||||
CameraBoom->bUsePawnControlRotation = false; // Rotate the arm based on the controller
|
|
||||||
|
|
||||||
CameraBoom->SetWorldRotation(FVector::ForwardVector.Rotation());
|
|
||||||
|
|
||||||
// Create a follow camera
|
|
||||||
FollowCamera = CreateDefaultSubobject<UCameraComponent>(TEXT("FollowCamera"));
|
|
||||||
FollowCamera->SetupAttachment(CameraBoom, USpringArmComponent::SocketName); // Attach the camera to the end of the boom and let the boom adjust to match the controller orientation
|
|
||||||
FollowCamera->bUsePawnControlRotation = false; // Camera does not rotate relative to arm
|
|
||||||
|
|
||||||
// Note: The skeletal mesh and anim blueprint references on the Mesh component (inherited from Character)
|
// Note: The skeletal mesh and anim blueprint references on the Mesh component (inherited from Character)
|
||||||
// are set in the derived blueprint asset named ThirdPersonCharacter (to avoid direct content references in C++)
|
// are set in the derived blueprint asset named ThirdPersonCharacter (to avoid direct content references in C++)
|
||||||
}
|
}
|
||||||
@ -126,3 +113,22 @@ void AGSCharacter::ChangeGravityDirection(const FInputActionValue& Value)
|
|||||||
|
|
||||||
GetCharacterMovement<UGSCharacterMovementComponent>()->SetCharacterUpDirection(NewCharacterUpDirection);
|
GetCharacterMovement<UGSCharacterMovementComponent>()->SetCharacterUpDirection(NewCharacterUpDirection);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AGSCharacter::PawnClientRestart()
|
||||||
|
{
|
||||||
|
Super::PawnClientRestart();
|
||||||
|
|
||||||
|
// Make sure that we have a valid PlayerController.
|
||||||
|
if (APlayerController* PC = Cast<APlayerController>(GetController()))
|
||||||
|
{
|
||||||
|
// Get the Enhanced Input Local Player Subsystem from the Local Player related to our Player Controller.
|
||||||
|
if (UEnhancedInputLocalPlayerSubsystem* Subsystem = ULocalPlayer::GetSubsystem<UEnhancedInputLocalPlayerSubsystem>(PC->GetLocalPlayer()))
|
||||||
|
{
|
||||||
|
// PawnClientRestart can run more than once in an Actor's lifetime, so start by clearing out any leftover mappings.
|
||||||
|
Subsystem->ClearAllMappings();
|
||||||
|
|
||||||
|
// Add each mapping context, along with their priority values. Higher values outprioritize lower values.
|
||||||
|
Subsystem->AddMappingContext(DefaultMappingContext, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -13,14 +13,6 @@ class AGSCharacter : public ACharacter
|
|||||||
{
|
{
|
||||||
GENERATED_BODY()
|
GENERATED_BODY()
|
||||||
|
|
||||||
/** Camera boom positioning the camera behind the character */
|
|
||||||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera, meta = (AllowPrivateAccess = "true"))
|
|
||||||
class USpringArmComponent* CameraBoom;
|
|
||||||
|
|
||||||
/** Follow camera */
|
|
||||||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera, meta = (AllowPrivateAccess = "true"))
|
|
||||||
class UCameraComponent* FollowCamera;
|
|
||||||
|
|
||||||
/** MappingContext */
|
/** MappingContext */
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Input, meta = (AllowPrivateAccess = "true"))
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Input, meta = (AllowPrivateAccess = "true"))
|
||||||
class UInputMappingContext* DefaultMappingContext;
|
class UInputMappingContext* DefaultMappingContext;
|
||||||
@ -45,17 +37,14 @@ protected:
|
|||||||
/** Called when the player changes the gravity direction */
|
/** Called when the player changes the gravity direction */
|
||||||
void ChangeGravityDirection(const FInputActionValue& Value);
|
void ChangeGravityDirection(const FInputActionValue& Value);
|
||||||
|
|
||||||
|
public:
|
||||||
|
virtual void PawnClientRestart() override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// APawn interface
|
// APawn interface
|
||||||
virtual void SetupPlayerInputComponent(class UInputComponent* PlayerInputComponent) override;
|
virtual void SetupPlayerInputComponent(class UInputComponent* PlayerInputComponent) override;
|
||||||
|
|
||||||
// To add mapping context
|
// To add mapping context
|
||||||
virtual void BeginPlay();
|
virtual void BeginPlay();
|
||||||
|
|
||||||
public:
|
|
||||||
/** Returns CameraBoom subobject **/
|
|
||||||
FORCEINLINE class USpringArmComponent* GetCameraBoom() const { return CameraBoom; }
|
|
||||||
/** Returns FollowCamera subobject **/
|
|
||||||
FORCEINLINE class UCameraComponent* GetFollowCamera() const { return FollowCamera; }
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -15,8 +15,7 @@ AGSGameModeBase::AGSGameModeBase()
|
|||||||
TimeBetweenRounds = 20.0f;
|
TimeBetweenRounds = 20.0f;
|
||||||
RoundTime = 600.0f;
|
RoundTime = 600.0f;
|
||||||
WarmupTime = 15.0f;
|
WarmupTime = 15.0f;
|
||||||
bWarmupEnabled = true;
|
bDelayedStart = true;
|
||||||
bDelayedStart = bWarmupEnabled;
|
|
||||||
|
|
||||||
PlayerControllerClass = AGSPlayerController::StaticClass();
|
PlayerControllerClass = AGSPlayerController::StaticClass();
|
||||||
PlayerStateClass = AGSPlayerState::StaticClass();
|
PlayerStateClass = AGSPlayerState::StaticClass();
|
||||||
@ -253,7 +252,7 @@ void AGSGameModeBase::HandleMatchIsWaitingToStart()
|
|||||||
AGSGameState* GS = GetGameState<AGSGameState>();
|
AGSGameState* GS = GetGameState<AGSGameState>();
|
||||||
if(GS && GS->GetRemainingTime() <= 0)
|
if(GS && GS->GetRemainingTime() <= 0)
|
||||||
{
|
{
|
||||||
if(bWarmupEnabled)
|
if(bDelayedStart)
|
||||||
{
|
{
|
||||||
GS->SetRemainingTime(WarmupTime);
|
GS->SetRemainingTime(WarmupTime);
|
||||||
}
|
}
|
||||||
|
@ -117,11 +117,7 @@ protected:
|
|||||||
|
|
||||||
// duration of the pre-match/warmup period, in seconds
|
// duration of the pre-match/warmup period, in seconds
|
||||||
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category=Settings, meta = (ClampMin = 0))
|
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category=Settings, meta = (ClampMin = 0))
|
||||||
float WarmupTime;;
|
float WarmupTime;
|
||||||
|
|
||||||
// whether or not there is a warmup or the round should immediately start
|
|
||||||
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category=Settings)
|
|
||||||
bool bWarmupEnabled;
|
|
||||||
|
|
||||||
FTimerHandle TimerHandle_DefaultTimer;
|
FTimerHandle TimerHandle_DefaultTimer;
|
||||||
};
|
};
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
|
|
||||||
void AGSPlayerController::Client_GameStarted_Implementation()
|
void AGSPlayerController::Client_GameStarted_Implementation()
|
||||||
{
|
{
|
||||||
|
FInputModeGameOnly GameOnly;
|
||||||
|
SetInputMode(GameOnly);
|
||||||
SetIgnoreMoveInput(false);
|
SetIgnoreMoveInput(false);
|
||||||
|
|
||||||
// enable all actions on pawn
|
// enable all actions on pawn
|
||||||
|
Loading…
Reference in New Issue
Block a user