ed7c7fd991
Boucle de jeu complète : récolte, inventaire, consommation, stats de survie, mort et respawn. Gameplay en C++, Blueprints réservés au câblage d'assets. Assets binaires (.uasset, .umap, textures, audio) suivis via Git LFS. Binaries/, Intermediate/, Saved/ et DerivedDataCache/ sont ignorés : régénérés au build, ils pèsent 3 Go pour 1,3 Go de contenu utile. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
56 lines
1.5 KiB
C++
56 lines
1.5 KiB
C++
// Fill out your copyright notice in the Description page of Project Settings.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "Blueprint/UserWidget.h"
|
|
#include "MainMenuWidget.generated.h"
|
|
|
|
class UButton;
|
|
|
|
/**
|
|
* Le menu principal : quelques boutons par-dessus la vue du monde.
|
|
*
|
|
* Classe Abstract comme les autres widgets du projet : on cree un
|
|
* WBP_MainMenu qui en herite, le C++ porte la logique et le Blueprint la mise
|
|
* en page.
|
|
*
|
|
* Le widget ne decide de rien, il appelle AMainMenuPlayerController. Le jour ou
|
|
* un bouton devra faire une action reseau, elle sera deja du bon cote : un
|
|
* widget n'existe que sur la machine du joueur local, le serveur ne le voit pas.
|
|
*/
|
|
UCLASS(Abstract)
|
|
class SURVIVAL_PROJET_API UMainMenuWidget : public UUserWidget
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
public:
|
|
virtual void NativeConstruct() override;
|
|
|
|
protected:
|
|
/** Lance la partie solo. Nomme exactement "PlayButton" dans le WBP. */
|
|
UPROPERTY(meta = (BindWidget))
|
|
TObjectPtr<UButton> PlayButton;
|
|
|
|
UPROPERTY(meta = (BindWidget))
|
|
TObjectPtr<UButton> QuitButton;
|
|
|
|
/**
|
|
* Coop a venir. BindWidgetOptional et non BindWidget : tu peux dessiner ton
|
|
* WBP_MainMenu sans eux aujourd'hui, le Blueprint compilera quand meme.
|
|
* S'ils existent, ils sont grises automatiquement.
|
|
*/
|
|
UPROPERTY(meta = (BindWidgetOptional))
|
|
TObjectPtr<UButton> HostButton;
|
|
|
|
UPROPERTY(meta = (BindWidgetOptional))
|
|
TObjectPtr<UButton> JoinButton;
|
|
|
|
private:
|
|
UFUNCTION()
|
|
void HandlePlayClicked();
|
|
|
|
UFUNCTION()
|
|
void HandleQuitClicked();
|
|
};
|