Space Plunder
Loading...
Searching...
No Matches
MultiplayerGameState.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"
7#include "GameFramework/GameState.h"
8#include "GameMode/OnlineGameState.h"
9#include "Interfaces/AIData.h"
13#include "MultiplayerGameState.generated.h"
14
15struct FTeamScoreData;
16struct FPlayerDeath;
17
18UCLASS()
19class CUSTOMALS_API AMultiplayerGameState : public AOnlineGameState, public IMultiplayerGS, public IAIData
20{
21 GENERATED_BODY()
22
23public:
24
25 //- Multiplayer Score //
26 UFUNCTION(Client, Reliable, BlueprintCallable, Category = "Game State")
27 virtual void SetScore(const TArray<FTeamScoreData>& Scores);
28 // UFUNCTION(Client, Reliable, BlueprintCallable, Category = "Game State")
29 // void SetScoreGoal(const int32 Goal);
30 virtual const TArray<FTeamScoreData>& GetScores() const override {return TotalScores;};
31
32 // UFUNCTION(Client, Reliable, BlueprintCallable, Category="Game State")
33 // virtual void SetMultiplayerMode(const EMultiplayerMode Mode);
34 UFUNCTION(Client, Reliable, BlueprintCallable, Category="Game State")
35 virtual void SetRound(const int32 Num);
36 virtual int32 GetMultiplayerRound() override {return Round;};
37
38
39 virtual void UpdatePlayerStates() override;
40 // UFUNCTION(BlueprintImplementableEvent, Category = "Game State")
41 // void OnUpdatePlayerStates(const TArray<APlayerState*>& States);
42
43 // UPROPERTY(Replicated, VisibleAnywhere, BlueprintReadOnly, Category="Game State")
44 // TArray<APlayerState* > AllPlayerStates;
45
46 UFUNCTION(Client, Reliable, BlueprintCallable, Category = "Game State")
47 virtual void SetMultiplayerMatchState(const FMatchState State);
48
49 virtual FMatchState GetMultiplayerMatchState() const override{return MultiplayerMatchState;};
50
51 // UFUNCTION(Client, Reliable, BlueprintCallable, Category = "Game State")
52 // virtual void ClientMatchOver();
53 UFUNCTION(Client, Reliable, BlueprintCallable, Category = "Game State")
54 virtual void ClientRoundOver();
55
56 UFUNCTION(Client, Reliable, BlueprintCallable, Category = "Game State")
57 virtual void ClientAddDeathToKillFeed(FPlayerDeath PlayerDeath, bool bPlayerDeath);
58
59 UFUNCTION(BlueprintPure, Category="Game State")
60 virtual int32 GetGoalScore() const override {return GoalScore;};
61
62 // virtual UDataTable* GetWeaponDataTable() override;
63 // virtual UDataTable* GetDefaultWeaponPickupDataTable() override;
64 // virtual UDataTable* GetWeaponAttachmentDataTable() override;
65
66 virtual UDataTable* GetFactionRelationshipDataTable() override;
67
68protected:
69 // UPROPERTY(Replicated, VisibleAnywhere, BlueprintReadOnly, Category="Game State")
70 // int32 GoalScore = 0;
71 // UPROPERTY(Replicated, VisibleAnywhere, BlueprintReadOnly, Category="Game State")
72 // TArray<FTeamScoreData> TotalScores;
73 // UPROPERTY(Replicated, VisibleAnywhere, BlueprintReadOnly, Category="Game State")
74 // FMatchState MultiplayerMatchState;
75
76 // UPROPERTY(Replicated, VisibleAnywhere, BlueprintReadOnly, Category="Game State")
77 // EMultiplayerMode MultiplayerMode = EMultiplayerMode::Default;
78 UPROPERTY(Replicated, VisibleAnywhere, BlueprintReadOnly, Category="Game State")
79 int32 Round = 0;
80
81
82 // //@TODO Move to a function that gets it from the GameMode
83 // UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="Game State")
84 // UDataTable* WeaponDataTable;
85 // UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="Game State")
86 // UDataTable* DefaultWeaponPickupDataTable;
87 // UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="Game State")
88 // UDataTable* WeaponAttachmentDataTable;
89
90 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="Game State")
91 UDataTable* FactionRelationshipDataTable;
92
93};
UCLASS(Blueprintable, BlueprintType, ClassGroup=(BucciGames), meta=(BlueprintSpawnableComponent)) class CHATSYSTEM_API UChatSystemComponent
Definition ChatSystemComponent.h:13
Definition MultiplayerGameState.h:20
Definition OnlineGameState.h:23
Definition AIData.h:21
Definition MultiplayerGS.h:17
Definition BaseData.h:1077
Definition BaseData.h:613
Definition MultiplayerData.h:37