Cog Sample: Adding more gameplay

Cog Sample: Make Area a component instead of an actor
Cog Sample: Add Basic actor for Projectiles, Areas, etc...
Cog Sample: Start to add Projectile
Cog Sample: Start to add SpawnPrediction
This commit is contained in:
Arnaud Jamin
2023-10-26 12:33:50 -04:00
parent 07e9db10af
commit 42ca1afc6a
67 changed files with 2462 additions and 669 deletions
@@ -4,6 +4,8 @@
#include "Abilities/GameplayAbility.h"
#include "CogSampleGameplayAbility.generated.h"
class UCogSampleSpawnPredictionComponent;
UCLASS()
class UCogSampleGameplayAbility : public UGameplayAbility
{
@@ -17,7 +19,9 @@ public:
// UGameplayAbility overrides
//----------------------------------------------------------------------------------------------------------------------
virtual void PreActivate(const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo* ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo, FOnGameplayAbilityEnded::FDelegate* OnGameplayAbilityEndedDelegate, const FGameplayEventData* TriggerEventData) override;
virtual void ActivateAbility(const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo* ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo, const FGameplayEventData* TriggerEventData) override;
virtual void EndAbility(const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo* ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo, bool bReplicateEndAbility, bool bWasCancelled) override;
//----------------------------------------------------------------------------------------------------------------------
@@ -59,6 +63,16 @@ public:
UFUNCTION(BlueprintPure)
int32 GetIntValueAtAbilityLevel(const FScalableFloat& ScalableFloat) const;
//----------------------------------------------------------------------------------------------------------------------
// Predicated Actors
//----------------------------------------------------------------------------------------------------------------------
UFUNCTION(BlueprintCallable)
void SetupSpawnPrediction(AActor* PredictedSpawn, int32 InstanceIndex);
UFUNCTION(BlueprintCallable)
void SetupSpawnPredictionComponent(UCogSampleSpawnPredictionComponent* SpawnPrediction, int32 InstanceIndex);
private:
bool IsCostGameplayEffectIsZero(const UGameplayEffect* GameplayEffect, float Level, const FGameplayEffectContextHandle& EffectContext) const;