Space Plunder
Loading...
Searching...
No Matches
MenuSystem.h
Go to the documentation of this file.
1// Fill out your copyright notice in the Description page of Project Settings.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "UObject/Interface.h"
7#include "OnlineSessionSettings.h"
8#include "Data/BaseData.h"
9#include "Data/MenuData.h"
10#include "MenuSystem.generated.h"
11
12UINTERFACE(MinimalAPI, NotBlueprintable)
13class UMenuSystem : public UInterface
14{
15 GENERATED_BODY()
16};
17
18class MENUSYSTEM_API IMenuSystem
19{
20 GENERATED_BODY()
21
22public:
23
24 virtual void Host(FOnlineSessionSettings HostSessionSettings) = 0;
25 virtual void SinglePlayer() = 0;
26 virtual void Character() = 0;
27 virtual void Options() = 0;
28
29 virtual void Join(uint32 Index) = 0;
30 virtual void JoinManualAddress(const FString& IpAddress) = 0;
31 virtual void Quit(APlayerController* Player) = 0;
32
33 UFUNCTION(BlueprintCallable, Category="Menu|Login")
34 virtual FString GetAuthToken() const = 0;
35
36 //- New 5.1 //
37 UFUNCTION(BlueprintCallable, Category="EOS")
38 virtual void LoginToEpicOnline(FString ID = "", FString Token = "", FString LoginType = "accountportal") = 0;
39 UFUNCTION(BlueprintCallable, Category="EOS")
40 virtual void Logout() const = 0;
41 UFUNCTION(BlueprintCallable, Category="EOS")
42 virtual void CreateEOSSession(FString SessionName,bool bIsDedicatedServer, bool bIsLAN, bool bIsPresence, int32 MaxNumPlayers) = 0;
43 UFUNCTION(BlueprintCallable, Category="EOS")
44 virtual void FindSessionAndJoin() = 0;
45 UFUNCTION(BlueprintCallable, Category="EOS")
46 virtual void DestroySession() = 0;
47 UFUNCTION(BlueprintCallable, Category="Menu")
48 virtual void LaunchInGameMenu(APlayerController* Player, const bool bOpen = true) = 0;
49 UFUNCTION(BlueprintCallable, Category="Menu")
50 virtual void LaunchOptionsMenu(APlayerController* Player, UUserWidget* CurrentWidget, const bool bOpen = true) = 0;
51 UFUNCTION(BlueprintCallable, Category="EOS")
52 virtual void SearchServers() = 0;
53
54
55 //? Maybe
56 UFUNCTION(BlueprintCallable, Category="EOS")
57 virtual void StartSession() = 0;
58
59 UFUNCTION(BlueprintCallable, Category="EOS")
60 virtual void StartCampaign(const bool bNewGame) const = 0;
61 UFUNCTION(BlueprintCallable, Category="EOS")
62 virtual void RestartLevel() const = 0;
63
64 UFUNCTION(BlueprintCallable, Category="EOS")
65 virtual void StartHorde() const {};
66
67
68 UFUNCTION(Exec, BlueprintCallable, Category="EOS")
69 virtual void LoadMenu() = 0;
70
71 UFUNCTION(BlueprintCallable, Category="EOS")
72 virtual void SetCurrentSaveSlot(const int32 NewSaveSlot) = 0;
73
74
75 //- Getters //
76 UFUNCTION(BlueprintCallable, Category="EOS")
77 virtual FString GetPlayerUserName() const = 0;
78 UFUNCTION(BlueprintCallable, Category="EOS")
79 virtual bool GetIsPlayerLoggedIn() const = 0;
80 UFUNCTION(BlueprintCallable, Category="EOS")
81 virtual FString GetCurrentSessionName() const = 0;
82
83 UFUNCTION(BlueprintCallable, Category="Menu System")
84 virtual bool GetIsOnlineGame() const = 0;
85 UFUNCTION(BlueprintCallable, Category="Menu System")
86 virtual bool GetIsPublicMatch() const = 0;
87 UFUNCTION(BlueprintCallable, Category="Menu System")
88 virtual EOnlineSubsystem GetOnlineSubsystem() const = 0;
89
90 UFUNCTION(BlueprintCallable, Category="Menu System")
91 virtual bool GetDebuggingMode() const = 0;
92
93 //@TODO Get SAve Info From Slot
94 UFUNCTION(BlueprintCallable, Category="EOS")
95 virtual FUserSaveGame GetSaveInfoFromSlot(const int32 Slot) = 0;
96
97 UFUNCTION(BlueprintCallable, Category="EOS")
98 virtual int32 GetCurrentSaveSlot() = 0;
99 UFUNCTION(BlueprintCallable, Category="EOS")
100 virtual TArray<int32> GetAllSaveSlots() = 0;
101
102 UFUNCTION(BlueprintCallable, Category="Player Profile")
103 virtual bool SaveOfflinePlayerProfile() = 0;
104 UFUNCTION(BlueprintCallable, Category="Player Profile")
105 virtual bool LoadOfflinePlayerProfile(FUserProfile& OfflineProfile) = 0;
106
107
108
109 UFUNCTION(BlueprintCallable, Category="Menu System")
110 virtual int32 GetMinNumberOfPlayersToStart() const = 0;
111 UFUNCTION(BlueprintCallable, Category="Menu System")
112 virtual void SetMinNumberOfPlayersToStart(const int32 Num) = 0;
113
114
115 // UFUNCTION(BlueprintCallable, Category="Menu System")
116 // virtual FUserProfile GetOnlinePlayerProfile() const = 0;
117 UFUNCTION(BlueprintCallable, Category="Menu System")
118 virtual FUserProfile GetOfflinePlayerProfile() const = 0;
119 UFUNCTION(BlueprintCallable, Category="Menu System")
120 virtual UDataTable* GetProfilePicturesDT() const = 0;
121
122};
EOnlineSubsystem
Definition MenuData.h:49
Definition MenuSystem.h:19
virtual void Host(FOnlineSessionSettings HostSessionSettings)=0
virtual void Options()=0
virtual void Character()=0
virtual void JoinManualAddress(const FString &IpAddress)=0
virtual void Quit(APlayerController *Player)=0
virtual void Join(uint32 Index)=0
virtual void SinglePlayer()=0
Definition MenuSystem.h:14
Definition BaseData.h:1239
Definition MenuData.h:69