Space Plunder
Loading...
Searching...
No Matches
MultiplayerHordeGameMode.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 "Data/AIDataTypes.h"
8#include "MultiplayerHordeGameMode.generated.h"
9
10
11UCLASS()
13{
14 GENERATED_BODY()
15
16public:
17
19
20 UFUNCTION(BlueprintCallable, Category="Horde")
21 virtual void CreateAISpawner();
22 UFUNCTION(BlueprintImplementableEvent, Category="Horde")
23 void OnCreateAISpawner();
24
25
26protected:
27
28 virtual void BeginPlay() override;
29
30
31
32 //- First Wave of Enemies, and Base for Each coming round //
33 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Horde|Score")
34 int32 InitialEnemies = 10;
35 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="Horde|Score")
36 int32 EnemiesKilledThisRound = 0;
37 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="Horde|Score")
38 int32 TotalEnemiesKilled = 0;
39
40 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Horde|Score")
41 float EnemySpawnGrowthRate = 1.0f;
42
43 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="Horde|Score")
44 int32 EnemiesThisRound = 0;
45 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="Horde|Score")
46 int32 EnemiesLeftTillNextRound = 0;
47
48 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="Horde|AI")
49 FAISpawnLocationData SpawnLocationData;
50
51 virtual void StartMatch() override;
52 virtual void MatchCountdown() override;
53 virtual void StartRound() override;
54 virtual void EndRound() override;
55
56 virtual void SpawnedPlayerDeath(FPlayerDeath& PlayerDeath, APawn* PawnThatDied) override;
57 virtual void SpawnedAIDeath(FPlayerDeath& PlayerDeath, APawn* PawnThatDied) override;
58
59 // virtual void PlayerDeath(FPlayerDeath& PlayerDeath) override;
60 // virtual void AIDeath(FPlayerDeath& PlayerDeath) override;
61
62 void EnemyKilled();
63
64
65 UPROPERTY(VisibleAnywhere, Category="Horde|AI")
66 TArray<class AAISpawnLocation*> AISpawnLocations;
67
68 UFUNCTION()
69 void AISpawned(const AActor* Actor, AAISpawnLocation* Spawner);
70 UFUNCTION(BlueprintImplementableEvent, Category="Horde")
71 void OnAISpawned(const AActor* Actor, AAISpawnLocation* Spawner);
72
73private:
74 UFUNCTION()
75 void OnSpawnerFinishedSpawning(AAISpawnLocation* Spawner);
76
77 UPROPERTY(EditDefaultsOnly, Category="Horde|AI")
78 TSubclassOf<class AAISpawnLocation> AISpawnLocationClass;
79
80 int32 GetEnemiesPerRound() const;
81
82
83};
UCLASS(Blueprintable, BlueprintType, ClassGroup=(BucciGames), meta=(BlueprintSpawnableComponent)) class CHATSYSTEM_API UChatSystemComponent
Definition ChatSystemComponent.h:13
Definition AISpawnLocation.h:17
Definition MultiplayerGameMode.h:17
Definition MultiplayerHordeGameMode.h:13
Definition AIDataTypes.h:711
Definition BaseData.h:613