(Feat) Fix Fade Loading
This commit is contained in:
@@ -20,6 +20,16 @@ DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnSessionError, FText, Reason);
|
||||
/** Fin d'une recherche. SessionCount vaut 0 si personne n'heberge. */
|
||||
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnSessionSearchFinished, bool, bWasSuccessful, int32, SessionCount);
|
||||
|
||||
/**
|
||||
* La connexion a abouti, le voyage part dans un instant.
|
||||
*
|
||||
* Existe uniquement pour laisser le temps d'un fondu : le sous-systeme sait ou
|
||||
* aller, mais le voile appartient au PlayerController -- et une invitation peut
|
||||
* etre acceptee depuis le menu comme en pleine partie, donc depuis deux
|
||||
* controllers differents. Chacun s'abonne et fond a sa maniere.
|
||||
*/
|
||||
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnSessionTravelPending);
|
||||
|
||||
/**
|
||||
* Hebergement et connexion : creer une partie, la trouver, la rejoindre.
|
||||
*
|
||||
@@ -135,6 +145,22 @@ public:
|
||||
UPROPERTY(BlueprintAssignable, Category = "Session")
|
||||
FOnSessionSearchFinished OnSearchFinished;
|
||||
|
||||
UPROPERTY(BlueprintAssignable, Category = "Session")
|
||||
FOnSessionTravelPending OnTravelPending;
|
||||
|
||||
/**
|
||||
* Duree laissee au fondu avant que le voyage parte.
|
||||
*
|
||||
* C'est LE sous-systeme qui la porte et non chaque controller : les deux
|
||||
* doivent fondre exactement le temps qu'il attend, sinon l'ecran voyage
|
||||
* avant d'etre noir. Une seule valeur, lue par tous.
|
||||
*
|
||||
* Pas de UPROPERTY editable : un GameInstanceSubsystem n'a aucun asset ou
|
||||
* la regler. Si elle doit bouger un jour, ce sera ici.
|
||||
*/
|
||||
UFUNCTION(BlueprintPure, Category = "Session")
|
||||
float GetTravelFadeDuration() const { return TravelFadeDuration; }
|
||||
|
||||
private:
|
||||
void HandleCreateSessionComplete(FName SessionName, bool bWasSuccessful);
|
||||
void HandleFindSessionsComplete(bool bWasSuccessful);
|
||||
@@ -173,6 +199,16 @@ private:
|
||||
/** Coupe proprement un delegue encore branche. Idempotent. */
|
||||
void ClearPendingDelegates();
|
||||
|
||||
/** Le fondu a eu son temps : on voyage pour de bon. */
|
||||
void CommitPendingTravel();
|
||||
|
||||
/** Adresse resolue de l'hote, en attente du fondu. */
|
||||
FString PendingTravelURL;
|
||||
|
||||
FTimerHandle TravelTimer;
|
||||
|
||||
float TravelFadeDuration = 1.f;
|
||||
|
||||
IOnlineSessionPtr SessionInterface;
|
||||
|
||||
TSharedPtr<FOnlineSessionSearch> SearchSettings;
|
||||
|
||||
Reference in New Issue
Block a user