Compare commits
2 Commits
021f30632a
...
3160d68a46
| Author | SHA1 | Date |
|---|---|---|
|
|
3160d68a46 | |
|
|
f2d8a1a14b |
|
|
@ -0,0 +1,24 @@
|
||||||
|
// Copyright
|
||||||
|
|
||||||
|
|
||||||
|
#include "Player/VRAbilitySystemPlayerState.h"
|
||||||
|
|
||||||
|
#include "AbilitySystemComponent.h"
|
||||||
|
#include "AbilitySystem/VRAbilitySystemComponent.h"
|
||||||
|
|
||||||
|
AVRAbilitySystemPlayerState::AVRAbilitySystemPlayerState(FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer)
|
||||||
|
{
|
||||||
|
VRAbilitySystemComponent = ObjectInitializer.CreateDefaultSubobject<UVRAbilitySystemComponent>(this, TEXT("Ability System Component"));
|
||||||
|
VRAbilitySystemComponent->SetIsReplicated(true);
|
||||||
|
VRAbilitySystemComponent->SetReplicationMode(EGameplayEffectReplicationMode::Mixed);
|
||||||
|
|
||||||
|
// Do attribute sets in derived classes
|
||||||
|
|
||||||
|
// If multiplayer, update at a relatively high frequency to update ASC appropriately
|
||||||
|
NetUpdateFrequency = 100.f; // This is the setting Lyra uses
|
||||||
|
}
|
||||||
|
|
||||||
|
UAbilitySystemComponent* AVRAbilitySystemPlayerState::GetAbilitySystemComponent() const
|
||||||
|
{
|
||||||
|
return CastChecked<UAbilitySystemComponent>(VRAbilitySystemComponent);
|
||||||
|
}
|
||||||
|
|
@ -60,8 +60,22 @@ void AVRPlayerController::OnPossess(APawn* InPawn)
|
||||||
UAbilitySystemGlobals::GetAbilitySystemComponentFromActor(GetPawn()));
|
UAbilitySystemGlobals::GetAbilitySystemComponentFromActor(GetPawn()));
|
||||||
}
|
}
|
||||||
|
|
||||||
UAbilitySystemComponent* AVRPlayerController::GetAbilitySystemComponent()
|
// UAbilitySystemComponent* AVRPlayerController::GetAbilitySystemComponent()
|
||||||
|
// {
|
||||||
|
// if (!CachedAbilitySystemComponent.IsValid())
|
||||||
|
// {
|
||||||
|
// CachedAbilitySystemComponent = Cast<UVRAbilitySystemComponent>(
|
||||||
|
// UAbilitySystemGlobals::GetAbilitySystemComponentFromActor(GetPawn()));
|
||||||
|
//
|
||||||
|
// if (!CachedAbilitySystemComponent.IsValid()) return nullptr;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// return CachedAbilitySystemComponent.Get();
|
||||||
|
// }
|
||||||
|
|
||||||
|
UVRAbilitySystemComponent* AVRPlayerController::GetVRAbilitySystemComponent()
|
||||||
{
|
{
|
||||||
|
// return Cast<UVRAbilitySystemComponent>(GetAbilitySystemComponent());
|
||||||
if (!CachedAbilitySystemComponent.IsValid())
|
if (!CachedAbilitySystemComponent.IsValid())
|
||||||
{
|
{
|
||||||
CachedAbilitySystemComponent = Cast<UVRAbilitySystemComponent>(
|
CachedAbilitySystemComponent = Cast<UVRAbilitySystemComponent>(
|
||||||
|
|
@ -73,11 +87,6 @@ UAbilitySystemComponent* AVRPlayerController::GetAbilitySystemComponent()
|
||||||
return CachedAbilitySystemComponent.Get();
|
return CachedAbilitySystemComponent.Get();
|
||||||
}
|
}
|
||||||
|
|
||||||
UVRAbilitySystemComponent* AVRPlayerController::GetVRAbilitySystemComponent()
|
|
||||||
{
|
|
||||||
return Cast<UVRAbilitySystemComponent>(GetAbilitySystemComponent());
|
|
||||||
}
|
|
||||||
|
|
||||||
void AVRPlayerController::Input_AbilityTagPressed(FGameplayTag InTag)
|
void AVRPlayerController::Input_AbilityTagPressed(FGameplayTag InTag)
|
||||||
{
|
{
|
||||||
if (!GetVRAbilitySystemComponent())
|
if (!GetVRAbilitySystemComponent())
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,32 @@
|
||||||
|
// Copyright
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "CoreMinimal.h"
|
||||||
|
#include "AbilitySystemInterface.h"
|
||||||
|
#include "GameFramework/PlayerState.h"
|
||||||
|
#include "VRAbilitySystemPlayerState.generated.h"
|
||||||
|
|
||||||
|
class UVRAbilitySystemComponent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
UCLASS()
|
||||||
|
class VRGAS_API AVRAbilitySystemPlayerState : public APlayerState, public IAbilitySystemInterface
|
||||||
|
{
|
||||||
|
GENERATED_BODY()
|
||||||
|
|
||||||
|
public:
|
||||||
|
// ReSharper disable once CppNonExplicitConvertingConstructor
|
||||||
|
AVRAbilitySystemPlayerState(FObjectInitializer& ObjectInitializer);
|
||||||
|
|
||||||
|
//~ Begin IAbilitySystemInterface
|
||||||
|
virtual UAbilitySystemComponent* GetAbilitySystemComponent() const override;
|
||||||
|
//~ End IAbilitySystemInterface
|
||||||
|
|
||||||
|
protected:
|
||||||
|
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "AbilitySystem")
|
||||||
|
UVRAbilitySystemComponent* VRAbilitySystemComponent;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
@ -25,7 +25,7 @@ public:
|
||||||
|
|
||||||
//~ Begin APlayerController Interface
|
//~ Begin APlayerController Interface
|
||||||
virtual void PostProcessInput(const float DeltaTime, const bool bGamePaused) override;
|
virtual void PostProcessInput(const float DeltaTime, const bool bGamePaused) override;
|
||||||
//~ End APlayerContoller Interface
|
//~ End APlayerController Interface
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// TODO: Implement controller
|
// TODO: Implement controller
|
||||||
|
|
@ -42,10 +42,10 @@ protected:
|
||||||
|
|
||||||
#pragma region GAS
|
#pragma region GAS
|
||||||
UPROPERTY()
|
UPROPERTY()
|
||||||
TWeakObjectPtr<UAbilitySystemComponent> CachedAbilitySystemComponent;
|
TWeakObjectPtr<UVRAbilitySystemComponent> CachedAbilitySystemComponent;
|
||||||
|
|
||||||
UFUNCTION(BlueprintPure, Category = "Ability System", meta = (HideSelfPin))
|
// UFUNCTION(BlueprintPure, Category = "AbilitySystem", meta = (HideSelfPin))
|
||||||
UAbilitySystemComponent* GetAbilitySystemComponent();
|
// UAbilitySystemComponent* GetAbilitySystemComponent();
|
||||||
|
|
||||||
UFUNCTION(BlueprintPure, Category = "AbilitySystem", meta = (HideSelfPin))
|
UFUNCTION(BlueprintPure, Category = "AbilitySystem", meta = (HideSelfPin))
|
||||||
UVRAbilitySystemComponent* GetVRAbilitySystemComponent();
|
UVRAbilitySystemComponent* GetVRAbilitySystemComponent();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue