Files
Unreal_EmberWild/Source/Survival_projet/Public/SurvivalGameInstance.h
T
Mathew ed7c7fd991 Import initial du projet Survival (UE 5.8)
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>
2026-07-28 11:29:07 +02:00

45 lines
1.5 KiB
C++

// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "Engine/GameInstance.h"
#include "SurvivalGameInstance.generated.h"
/**
* Le seul objet qui survit aux changements de map.
*
* C'est l'equivalent le plus proche d'un singleton DontDestroyOnLoad d'Unity :
* il naît au lancement du jeu et meurt a sa fermeture. Tout le reste --
* GameMode, GameState, PlayerController, pawns, widgets -- est detruit et
* recree a chaque OpenLevel.
*
* Y mettre : les reglages, la sauvegarde en cours, et plus tard l'hebergement
* et le rejoindre-une-partie. Surtout pas d'etat de gameplay, qui appartient au
* monde et doit disparaitre avec lui.
*/
UCLASS()
class SURVIVAL_PROJET_API USurvivalGameInstance : public UGameInstance
{
GENERATED_BODY()
public:
/** Nom de la derniere camera de menu utilisee. NAME_None au premier lancement. */
UFUNCTION(BlueprintPure, Category = "Menu")
FName GetLastMenuCameraName() const { return LastMenuCameraName; }
UFUNCTION(BlueprintCallable, Category = "Menu")
void SetLastMenuCameraName(FName SpotName) { LastMenuCameraName = SpotName; }
private:
/**
* Stocke un NOM et pas un index : les index changent des qu'on ajoute ou
* supprime une camera dans la map, et on retomberait sur autre chose.
*
* Ne sert qu'a eviter de retirer deux fois de suite le meme angle quand le
* joueur revient au menu -- d'ou le Transient, ca n'a pas a etre sauvegarde.
*/
UPROPERTY(Transient)
FName LastMenuCameraName = NAME_None;
};