Space Plunder
Loading...
Searching...
No Matches
CampaignGameMode.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 "OnlineGameMode.h"
8#include "Data/QuestData.h"
11#include "CampaignGameMode.generated.h"
12
16UCLASS()
17class CUSTOMALS_API ACampaignGameMode : public AOnlineGameMode, public IProceduralGM
18{
19 GENERATED_BODY()
20
21public:
22
24
25 virtual void BeginPlay() override;
26
27
28 UFUNCTION(BlueprintCallable, Category="Online GM|Players")
29 virtual void SpawnAICharacter();
30
31 virtual FRandomStream& GetRandomStream() override;
32
33protected:
34
35 //~ Quest Reporter Interface ~//
36 // virtual FPlayerQuestStatus GetPlayerQuestStatus() const override;
37
38 // virtual void AddObjectiveAmount(const FString& ObjectiveID, const int32 Amount) override;
39 // virtual void AddObjectivePenaltyAmount(const FString& ObjectiveID, const int32 Amount) override;
40 // virtual int32 RegisterQuestGoal(UActorComponent* QuestGoalComponentRef) override;
41 // // virtual void SetPlayerQuestStatus(const FPlayerQuestStatus& QuestStatus) override;
42 // virtual void QuestGoalFailed(UActorComponent* QuestGoalComponentRef) override;
43 // virtual void AddCredits(const int32 Amount) override;
44 // virtual bool AddQuest(AActor* Caller, const FString& QuestID, const int32 ReporterID) override;
45 // virtual void AddExperience(const int32 Amount) override;
46 // // virtual void QuestFailed(UActorComponent* QuestGoalComponentRef, const FString& QuestID) override;
47 //
48 //
49 // virtual void DebugFinishQuest(const struct FQuestInfo& QuestInfo, const EQuestStatus Outcome) override;
50 // virtual void DebugRemoveQuest(const struct FQuestInfo& QuestInfo) override;
51
52 //~ Quest Reporter Interface ~//
53
54 // virtual void PlayerDeath(FPlayerDeath& PlayerDeath) override;
55 // virtual void AIDeath(FPlayerDeath& PlayerDeath) override;
56
57 virtual void SpawnedPlayerDeath(FPlayerDeath& PlayerDeath, APawn* PawnThatDied) override;
58 virtual void SpawnedAIDeath(FPlayerDeath& PlayerDeath, APawn* PawnThatDied) override;
59
60 //~ Procedural Random Numbers ~//
61 void SetSeed();
62
63 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="Online GM|Players")
64 TArray<APlayerController*> AllLocalPlayerControllers;
65
66 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="Online GM|Quests")
67 FPlayerQuestStatus PlayerQuestStatus;
68
69 //@TODO Temp Lives Pool
70 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="Online GM|Players")
71 int32 LifePool = 2;
72
73 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Online GM|Random")
74 bool bUseRandomSeed = true;
75 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Online GM|Random", meta=(EditCondition="!bUseRandomSeed"))
76 int32 Seed = 0;
77
78private:
79
81 UPROPERTY(VisibleAnywhere, Category="Online GM|Random")
82 FRandomStream RandomStream;
83 UPROPERTY(VisibleAnywhere, Category="Online GM|Random")
84 bool bRandomSeedGenerated = false;
85 //@TODO Campaign Scoring
86
87};
UCLASS(Blueprintable, BlueprintType, ClassGroup=(BucciGames), meta=(BlueprintSpawnableComponent)) class CHATSYSTEM_API UChatSystemComponent
Definition ChatSystemComponent.h:13
Definition CampaignGameMode.h:18
Definition OnlineGameMode.h:21
Definition ProceduralGM.h:20
Definition BaseData.h:613
Definition QuestData.h:1117