(Feat) Add footsteps
This commit is contained in:
@@ -6,7 +6,9 @@
|
||||
#include "GameFramework/PlayerController.h"
|
||||
#include "MainMenuPlayerController.generated.h"
|
||||
|
||||
class ACharacterPreviewActor;
|
||||
class AMenuCameraSpot;
|
||||
class UCharacterCustomizationWidget;
|
||||
class UConfirmDialogWidget;
|
||||
class UMainMenuWidget;
|
||||
class UScreenFadeComponent;
|
||||
@@ -27,7 +29,17 @@ enum class EMenuPendingAction : uint8
|
||||
* n'est donc chargee qu'a la reponse du service en ligne -- ou tout de suite
|
||||
* si celui-ci refuse, puisqu'un echec reseau ne doit pas empecher de jouer.
|
||||
*/
|
||||
StartGame
|
||||
StartGame,
|
||||
|
||||
/**
|
||||
* On ne quitte PAS la map : le mannequin est pose dans MenuScene, on ne fait
|
||||
* que porter la vue sur lui. Le fondu sert a masquer la bascule -- un
|
||||
* travelling depuis l'angle de menu traverserait le decor.
|
||||
*/
|
||||
OpenCustomization,
|
||||
|
||||
/** Retour du mannequin vers un angle de menu, meme mecanique en sens inverse. */
|
||||
CloseCustomization
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -102,6 +114,35 @@ protected:
|
||||
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Menu")
|
||||
TSubclassOf<USettingsMenuWidget> SettingsMenuClass;
|
||||
|
||||
/**
|
||||
* Ton WBP_CharacterCustomization. Laisse-le vide pour retrouver l'ancien
|
||||
* comportement -- Jouer lance directement la partie. Pratique pour tester
|
||||
* autre chose sans traverser l'ecran a chaque fois.
|
||||
*/
|
||||
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Menu|Customization")
|
||||
TSubclassOf<UCharacterCustomizationWidget> CustomizationMenuClass;
|
||||
|
||||
/**
|
||||
* Le mannequin pose dans MenuScene. Cherche par classe au BeginPlay plutot
|
||||
* qu'assigne ici : une reference d'acteur dans un CDO de controller ne
|
||||
* survit pas au chargement de la map.
|
||||
*/
|
||||
UPROPERTY(Transient, BlueprintReadOnly, Category = "Menu|Customization")
|
||||
TObjectPtr<ACharacterPreviewActor> CharacterPreview;
|
||||
|
||||
UPROPERTY(Transient, BlueprintReadOnly, Category = "Menu|Customization")
|
||||
TObjectPtr<UCharacterCustomizationWidget> CustomizationMenu;
|
||||
|
||||
/**
|
||||
* Duree de CHAQUE moitie du fondu entre le menu et l'ecran de customisation.
|
||||
* Le passage complet dure donc le double.
|
||||
*
|
||||
* Plus court que le fondu de depart vers la partie : on ne change pas de
|
||||
* map, il n'y a rien a charger, et une attente ici ne serait qu'une attente.
|
||||
*/
|
||||
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Menu|Customization", meta = (ClampMin = "0.05"))
|
||||
float CustomizationFadeDuration = 0.35f;
|
||||
|
||||
/** Fondu d'arrivee sur le menu, au lancement du jeu. */
|
||||
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Menu", meta = (ClampMin = "0.1"))
|
||||
float OpeningFadeDuration = 1.5f;
|
||||
@@ -146,6 +187,26 @@ private:
|
||||
UFUNCTION()
|
||||
void HandleSettingsCloseRequested();
|
||||
|
||||
/**
|
||||
* Ouvre l'ecran de customisation et pose la vue sur le mannequin.
|
||||
*
|
||||
* L'ordre compte : SetViewTarget d'abord, widget ensuite. L'inverse
|
||||
* afficherait la colonne par-dessus l'ancien cadrage pendant toute la duree
|
||||
* du blend.
|
||||
*/
|
||||
void OpenCustomization();
|
||||
|
||||
/** Le joueur a valide : on soumet l'apparence, puis on lance la partie. */
|
||||
UFUNCTION()
|
||||
void HandleCustomizationConfirmed();
|
||||
|
||||
/** Le joueur renonce : retour au menu, rien n'est ecrit. */
|
||||
UFUNCTION()
|
||||
void HandleCustomizationCancelled();
|
||||
|
||||
/** Referme l'ecran et rend la vue a l'angle de menu. */
|
||||
void CloseCustomization();
|
||||
|
||||
/**
|
||||
* La session n'a pas pu etre creee -- Steam eteint, hors ligne, service en
|
||||
* panne. On charge la map QUAND MEME.
|
||||
|
||||
Reference in New Issue
Block a user