13
Elistria_Calling/.vsconfig
Normal file
13
Elistria_Calling/.vsconfig
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"version": "1.0",
|
||||
"components": [
|
||||
"Microsoft.Net.Component.4.6.2.TargetingPack",
|
||||
"Microsoft.VisualStudio.Component.VC.14.38.17.8.x86.x64",
|
||||
"Microsoft.VisualStudio.Component.VC.Tools.x86.x64",
|
||||
"Microsoft.VisualStudio.Component.Windows10SDK.22621",
|
||||
"Microsoft.VisualStudio.Workload.CoreEditor",
|
||||
"Microsoft.VisualStudio.Workload.ManagedDesktop",
|
||||
"Microsoft.VisualStudio.Workload.NativeDesktop",
|
||||
"Microsoft.VisualStudio.Workload.NativeGame"
|
||||
]
|
||||
}
|
||||
@@ -1,2 +1,9 @@
|
||||
[ContentBrowser]
|
||||
ContentBrowserTab1.SelectedPaths=/Game/ThirdPersonBP
|
||||
|
||||
[/Script/GameplayDebugger.GameplayDebuggerUserSettings]
|
||||
bEnableGameplayDebuggerInEditor=True
|
||||
MaxViewDistance=25000.000000
|
||||
MaxViewAngle=45.000000
|
||||
FontSize=10
|
||||
|
||||
|
||||
@@ -164,3 +164,6 @@ ClientSettings=(DisplayName="",AvatarColor=(R=1.000000,G=1.000000,B=1.000000,A=1
|
||||
SourceControlSettings=(ValidationMode=Soft)
|
||||
EndpointSettings=(bEnableLogging=False,PurgeProcessedMessageDelaySeconds=30,RemoteEndpointTimeoutSeconds=60)
|
||||
|
||||
|
||||
[CoreRedirects]
|
||||
+ClassRedirects=(OldName="/Script/Elistria_Calling.MagickPlayerState",NewName="/Script/Elistria_Calling.MagickPlayerState")
|
||||
38
Elistria_Calling/Config/Tags/Spells.ini
Normal file
38
Elistria_Calling/Config/Tags/Spells.ini
Normal file
@@ -0,0 +1,38 @@
|
||||
[/Script/GameplayTags.GameplayTagsList]
|
||||
GameplayTagList=(Tag="Spell.Chaos.Air.BuffetingWinds",DevComment="")
|
||||
GameplayTagList=(Tag="Spell.Chaos.Air.GaleThrust",DevComment="")
|
||||
GameplayTagList=(Tag="Spell.Chaos.Air.Suffocate",DevComment="")
|
||||
GameplayTagList=(Tag="Spell.Chaos.Lightning.FieldOfLightning",DevComment="")
|
||||
GameplayTagList=(Tag="Spell.Chaos.Lightning.Squall",DevComment="")
|
||||
GameplayTagList=(Tag="Spell.Chaos.Lightning.ThunderStrikes",DevComment="")
|
||||
GameplayTagList=(Tag="Spell.Chaos.Water.CleansingWave",DevComment="")
|
||||
GameplayTagList=(Tag="Spell.Chaos.Water.CurrentBash",DevComment="")
|
||||
GameplayTagList=(Tag="Spell.Chaos.Water.Tsunami",DevComment="")
|
||||
GameplayTagList=(Tag="Spell.Death.Darkness.Oblivion",DevComment="")
|
||||
GameplayTagList=(Tag="Spell.Death.Darkness.StolenSight",DevComment="")
|
||||
GameplayTagList=(Tag="Spell.Death.Darkness.TurnToShadow",DevComment="")
|
||||
GameplayTagList=(Tag="Spell.Death.Ice.FallenFrost",DevComment="")
|
||||
GameplayTagList=(Tag="Spell.Death.Ice.PillarsOfIce",DevComment="")
|
||||
GameplayTagList=(Tag="Spell.Death.Ice.Winter",DevComment="")
|
||||
GameplayTagList=(Tag="Spell.Death.Necromancy.Apocalypse",DevComment="")
|
||||
GameplayTagList=(Tag="Spell.Death.Necromancy.RaiseTheDead",DevComment="")
|
||||
GameplayTagList=(Tag="Spell.Death.Necromancy.VitalityDrain",DevComment="")
|
||||
GameplayTagList=(Tag="Spell.Life.Blood.Annihilate",DevComment="")
|
||||
GameplayTagList=(Tag="Spell.Life.Blood.BleedingWounds",DevComment="")
|
||||
GameplayTagList=(Tag="Spell.Life.Blood.BloodCage",DevComment="")
|
||||
GameplayTagList=(Tag="Spell.Life.Earth.Entomb",DevComment="")
|
||||
GameplayTagList=(Tag="Spell.Life.Earth.SplitTheEarth",DevComment="")
|
||||
GameplayTagList=(Tag="Spell.Life.Earth.StoneShield",DevComment="")
|
||||
GameplayTagList=(Tag="Spell.Life.Healing.GiveLife",DevComment="")
|
||||
GameplayTagList=(Tag="Spell.Life.Healing.RestoringTouch",DevComment="")
|
||||
GameplayTagList=(Tag="Spell.Life.Healing.Sanctuary",DevComment="")
|
||||
GameplayTagList=(Tag="Spell.Light.Fire.FireLights",DevComment="")
|
||||
GameplayTagList=(Tag="Spell.Light.Fire.Meteor",DevComment="")
|
||||
GameplayTagList=(Tag="Spell.Light.Fire.PheonixFire",DevComment="")
|
||||
GameplayTagList=(Tag="Spell.Light.Solar.Radiance",DevComment="")
|
||||
GameplayTagList=(Tag="Spell.Light.Solar.SearingRay",DevComment="")
|
||||
GameplayTagList=(Tag="Spell.Light.Solar.ShieldOfTheSun",DevComment="")
|
||||
GameplayTagList=(Tag="Spell.Light.Starlight.Constellation",DevComment="")
|
||||
GameplayTagList=(Tag="Spell.Light.Starlight.SongOfFallingStars",DevComment="")
|
||||
GameplayTagList=(Tag="Spell.Light.Starlight.StarGuide",DevComment="")
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:64b8cb2d0256d3c6932480de5d06f2a5db803cb779fbd761955166227c217ecc
|
||||
size 20676
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:81377c0fea41cf55adfa56c15334ed44fdfce9553cda02e22d17e66747780904
|
||||
size 40510
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5267d1283afc8c24d984d7aa7b4fc9ba9876fdf92a86b2af774e7aea53523cef
|
||||
size 628427
|
||||
oid sha256:29d64571f6460819033c27ed73cb7ae0fc341533414a45bc7eca96719146263d
|
||||
size 631354
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:307183ef9f7856224a958811282425954f15c24b756afaa000c6d228f39835c6
|
||||
size 26295
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ef1198d12ae12a44ae330d19d6c681c07ac61c37d1d4e32ae5643cfd061f6540
|
||||
size 344882
|
||||
oid sha256:9b5c9bd9d2c553f59efea93210aa16b41d3ce0c29edd86751f8f25a228bccaf0
|
||||
size 338962
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5249343c265ad7efaa6e7cb054dd89c25747e7eb106419ca4f9153619d15003b
|
||||
size 54769
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fd55a1aca6c53f26e20287e4e9202d55be42709b151e74239c17eaf44216a4a1
|
||||
size 34669
|
||||
oid sha256:b9fbf1ee3289dc7711445f470ef96ef38ee070f70a4794129a5ef6846d026c7d
|
||||
size 2797
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ea2a6797840f1630482ad1e9bf7b0619da5beaff02c8b610389814633efc99d9
|
||||
oid sha256:c6d2d79168f442b1b8573130dc5d76681167a55a3ea1af46db55cf9d02228312
|
||||
size 15406
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:9c036e104dc65138ad0a395489484330c38ad21be9b7887303f936cf212bbaf7
|
||||
size 1436103
|
||||
oid sha256:14804ce910d3731bbc91645873e604e45005f987cd44007849e7fa0ae2e8711c
|
||||
size 1463008
|
||||
|
||||
Binary file not shown.
BIN
Elistria_Calling/Content/ThirdPerson/Input/Actions/IA_UseAbility.uasset
LFS
Normal file
BIN
Elistria_Calling/Content/ThirdPerson/Input/Actions/IA_UseAbility.uasset
LFS
Normal file
Binary file not shown.
Binary file not shown.
@@ -3,6 +3,17 @@
|
||||
"EngineAssociation": "5.4",
|
||||
"Category": "",
|
||||
"Description": "",
|
||||
"Modules": [
|
||||
{
|
||||
"Name": "Elistria_Calling",
|
||||
"Type": "Runtime",
|
||||
"LoadingPhase": "Default",
|
||||
"AdditionalDependencies": [
|
||||
"GameplayAbilities",
|
||||
"Engine"
|
||||
]
|
||||
}
|
||||
],
|
||||
"Plugins": [
|
||||
{
|
||||
"Name": "ModelingToolsEditorMode",
|
||||
@@ -289,6 +300,28 @@
|
||||
{
|
||||
"Name": "PerforceSourceControl",
|
||||
"Enabled": false
|
||||
},
|
||||
{
|
||||
"Name": "Buoyancy",
|
||||
"Enabled": true
|
||||
},
|
||||
{
|
||||
"Name": "Volumetrics",
|
||||
"Enabled": true
|
||||
},
|
||||
{
|
||||
"Name": "VirtualHeightfieldMesh",
|
||||
"Enabled": true
|
||||
},
|
||||
{
|
||||
"Name": "SteamSockets",
|
||||
"Enabled": true
|
||||
}
|
||||
],
|
||||
"TargetPlatforms": [
|
||||
"Linux",
|
||||
"LinuxArm64",
|
||||
"Windows",
|
||||
"Mac"
|
||||
]
|
||||
}
|
||||
15
Elistria_Calling/Source/Elistria_Calling.Target.cs
Normal file
15
Elistria_Calling/Source/Elistria_Calling.Target.cs
Normal file
@@ -0,0 +1,15 @@
|
||||
// Fill out your copyright notice in the Description page of Project Settings.
|
||||
|
||||
using UnrealBuildTool;
|
||||
using System.Collections.Generic;
|
||||
|
||||
public class Elistria_CallingTarget : TargetRules
|
||||
{
|
||||
public Elistria_CallingTarget(TargetInfo Target) : base(Target)
|
||||
{
|
||||
Type = TargetType.Game;
|
||||
DefaultBuildSettings = BuildSettingsVersion.V5;
|
||||
|
||||
ExtraModuleNames.AddRange( new string[] { "Elistria_Calling" } );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
// Fill out your copyright notice in the Description page of Project Settings.
|
||||
|
||||
using UnrealBuildTool;
|
||||
|
||||
public class Elistria_Calling : ModuleRules
|
||||
{
|
||||
public Elistria_Calling(ReadOnlyTargetRules Target) : base(Target)
|
||||
{
|
||||
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
|
||||
|
||||
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore","GameplayAbilities", "GameplayTags", "GameplayTasks" });
|
||||
|
||||
PrivateDependencyModuleNames.AddRange(new string[] { });
|
||||
|
||||
// Uncomment if you are using Slate UI
|
||||
PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" });
|
||||
|
||||
// Uncomment if you are using online features
|
||||
PrivateDependencyModuleNames.Add("OnlineSubsystem");
|
||||
|
||||
// To include OnlineSubsystemSteam, add it to the plugins section in your uproject file with the Enabled attribute set to true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
// Fill out your copyright notice in the Description page of Project Settings.
|
||||
|
||||
#include "Elistria_Calling.h"
|
||||
#include "Modules/ModuleManager.h"
|
||||
|
||||
IMPLEMENT_PRIMARY_GAME_MODULE( FDefaultGameModuleImpl, Elistria_Calling, "Elistria_Calling" );
|
||||
@@ -0,0 +1,6 @@
|
||||
// Fill out your copyright notice in the Description page of Project Settings.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
// Fill out your copyright notice in the Description page of Project Settings.
|
||||
|
||||
|
||||
#include "ElistriaAbilitySystemComponent.h"
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
// Fill out your copyright notice in the Description page of Project Settings.
|
||||
|
||||
|
||||
#include "HealthAttributeSet.h"
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
// Fill out your copyright notice in the Description page of Project Settings.
|
||||
|
||||
|
||||
#include "MagickPlayerController.h"
|
||||
|
||||
#include "MagickPlayerState.h"
|
||||
|
||||
void AMagickPlayerController::OnPossess(APawn *InPawn)
|
||||
{
|
||||
Super::OnPossess(InPawn);
|
||||
UE_LOG(LogTemp, Display, TEXT("OnPossess"));
|
||||
AMagickPlayerState* PS = GetPlayerState<AMagickPlayerState>();
|
||||
if (PS)
|
||||
{
|
||||
PS->SetupAbilityActorInfo();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
// Fill out your copyright notice in the Description page of Project Settings.
|
||||
|
||||
|
||||
#include "MagickPlayerState.h"
|
||||
|
||||
|
||||
|
||||
|
||||
AMagickPlayerState::AMagickPlayerState()
|
||||
{
|
||||
ElistriaAbilitySystemComponent = CreateDefaultSubobject<UElistriaAbilitySystemComponent>(TEXT("AbilitySystem"));
|
||||
ManaSet = CreateDefaultSubobject<UManaAttributeSet>(TEXT("ManaSet"));
|
||||
}
|
||||
|
||||
UElistriaAbilitySystemComponent* AMagickPlayerState::GetAbilitySystemComponent() const
|
||||
{
|
||||
return ElistriaAbilitySystemComponent;
|
||||
}
|
||||
|
||||
void AMagickPlayerState::BeginPlay()
|
||||
{
|
||||
Super::BeginPlay();
|
||||
|
||||
|
||||
}
|
||||
|
||||
void AMagickPlayerState::GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const
|
||||
{
|
||||
Super::GetLifetimeReplicatedProps(OutLifetimeProps);
|
||||
|
||||
DOREPLIFETIME_CONDITION_NOTIFY(AMagickPlayerState, ElistriaAbilitySystemComponent, COND_None, REPNOTIFY_Always);
|
||||
DOREPLIFETIME_CONDITION_NOTIFY(AMagickPlayerState, ManaSet, COND_None, REPNOTIFY_Always);
|
||||
}
|
||||
|
||||
void AMagickPlayerState::SetupAbilityActorInfo()
|
||||
{
|
||||
AMagickPlayerController* PC = Cast<AMagickPlayerController>(GetOwner());
|
||||
if (!PC)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
APawn* Pawn = PC->GetPawn();
|
||||
|
||||
if (!Pawn)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (ElistriaAbilitySystemComponent)
|
||||
{
|
||||
ElistriaAbilitySystemComponent->InitAbilityActorInfo(this,Pawn);
|
||||
|
||||
if (ManaSet)
|
||||
{
|
||||
ElistriaAbilitySystemComponent->AddAttributeSetSubobject(ManaSet.Get());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
// Fill out your copyright notice in the Description page of Project Settings.
|
||||
|
||||
|
||||
#include "ManaAttributeSet.h"
|
||||
|
||||
UManaAttributeSet::UManaAttributeSet()
|
||||
{
|
||||
InitMana(100.0f);
|
||||
InitMaxMana(100.0f);
|
||||
}
|
||||
|
||||
void UManaAttributeSet::GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const
|
||||
{
|
||||
Super::GetLifetimeReplicatedProps(OutLifetimeProps);
|
||||
|
||||
DOREPLIFETIME_CONDITION_NOTIFY(UManaAttributeSet, Mana, COND_None, REPNOTIFY_Always);
|
||||
DOREPLIFETIME_CONDITION_NOTIFY(UManaAttributeSet, MaxMana, COND_None, REPNOTIFY_Always);
|
||||
}
|
||||
|
||||
void UManaAttributeSet::OnRep_Mana(const FGameplayAttributeData& OldValue)
|
||||
{
|
||||
GAMEPLAYATTRIBUTE_REPNOTIFY(UManaAttributeSet, Mana, OldValue);
|
||||
const float OldMana = OldValue.GetCurrentValue();
|
||||
const float NewMana = GetMana();
|
||||
OnManaChanged.Broadcast(this, OldMana, NewMana);
|
||||
}
|
||||
|
||||
void UManaAttributeSet::OnRep_MaxMana(const FGameplayAttributeData& OldValue)
|
||||
{
|
||||
GAMEPLAYATTRIBUTE_REPNOTIFY(UManaAttributeSet, MaxMana, OldValue);
|
||||
const float OldMaxMana = OldValue.GetCurrentValue();
|
||||
const float NewMaxMana = GetMaxMana();
|
||||
OnMaxManaChanged.Broadcast(this, OldMaxMana, NewMaxMana);
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
// Fill out your copyright notice in the Description page of Project Settings.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "AbilitySystemComponent.h"
|
||||
#include "ElistriaAbilitySystemComponent.generated.h"
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
UCLASS()
|
||||
class ELISTRIA_CALLING_API UElistriaAbilitySystemComponent : public UAbilitySystemComponent
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
};
|
||||
@@ -0,0 +1,17 @@
|
||||
// Fill out your copyright notice in the Description page of Project Settings.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "AttributeSet.h"
|
||||
#include "HealthAttributeSet.generated.h"
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
UCLASS()
|
||||
class ELISTRIA_CALLING_API UHealthAttributeSet : public UAttributeSet
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
};
|
||||
@@ -0,0 +1,19 @@
|
||||
// Fill out your copyright notice in the Description page of Project Settings.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "GameFramework/PlayerController.h"
|
||||
#include "MagickPlayerController.generated.h"
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
UCLASS()
|
||||
class ELISTRIA_CALLING_API AMagickPlayerController : public APlayerController
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
|
||||
virtual void OnPossess(APawn* InPawn) override;
|
||||
};
|
||||
@@ -0,0 +1,36 @@
|
||||
// Fill out your copyright notice in the Description page of Project Settings.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "GameFramework/PlayerState.h"
|
||||
#include "AbilitySystemInterface.h"
|
||||
#include "ElistriaAbilitySystemComponent.h"
|
||||
#include "ManaAttributeSet.h"
|
||||
#include "MagickPlayerController.h"
|
||||
#include "MagickPlayerState.generated.h"
|
||||
|
||||
UCLASS(Config=game)
|
||||
class ELISTRIA_CALLING_API AMagickPlayerState : public APlayerState, public IAbilitySystemInterface
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
|
||||
|
||||
virtual void BeginPlay() override;
|
||||
|
||||
public:
|
||||
AMagickPlayerState();
|
||||
|
||||
virtual void GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const override;
|
||||
virtual UElistriaAbilitySystemComponent* GetAbilitySystemComponent() const override;
|
||||
|
||||
void SetupAbilityActorInfo();
|
||||
|
||||
protected:
|
||||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category=Abilities, Replicated)
|
||||
TObjectPtr<class UElistriaAbilitySystemComponent> ElistriaAbilitySystemComponent;
|
||||
|
||||
UPROPERTY(Replicated)
|
||||
TObjectPtr<class UManaAttributeSet> ManaSet;
|
||||
};
|
||||
@@ -0,0 +1,52 @@
|
||||
// Fill out your copyright notice in the Description page of Project Settings.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "AttributeSet.h"
|
||||
#include "AbilitySystemComponent.h"
|
||||
#include "Net/UnrealNetwork.h"
|
||||
#include "ManaAttributeSet.generated.h"
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
|
||||
#define ATTRIBUTE_ACCESSORS(ClassName, PropertyName) \
|
||||
GAMEPLAYATTRIBUTE_PROPERTY_GETTER(ClassName, PropertyName) \
|
||||
GAMEPLAYATTRIBUTE_VALUE_GETTER(PropertyName) \
|
||||
GAMEPLAYATTRIBUTE_VALUE_SETTER(PropertyName) \
|
||||
GAMEPLAYATTRIBUTE_VALUE_INITTER(PropertyName)
|
||||
|
||||
DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FAttributeChangedEvent, UAttributeSet*, AttributeSet, float, OldValue, float, NewValue);
|
||||
|
||||
UCLASS()
|
||||
class ELISTRIA_CALLING_API UManaAttributeSet : public UAttributeSet
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
public:
|
||||
UManaAttributeSet();
|
||||
|
||||
virtual void GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const override;
|
||||
|
||||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, ReplicatedUsing=OnRep_Mana)
|
||||
FGameplayAttributeData Mana;
|
||||
|
||||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, ReplicatedUsing=OnRep_MaxMana)
|
||||
FGameplayAttributeData MaxMana;
|
||||
|
||||
ATTRIBUTE_ACCESSORS(UManaAttributeSet, Mana)
|
||||
ATTRIBUTE_ACCESSORS(UManaAttributeSet, MaxMana)
|
||||
|
||||
UFUNCTION()
|
||||
void OnRep_Mana(const FGameplayAttributeData& OldValue);
|
||||
UFUNCTION()
|
||||
void OnRep_MaxMana(const FGameplayAttributeData& OldValue);
|
||||
|
||||
UPROPERTY(BlueprintAssignable)
|
||||
FAttributeChangedEvent OnManaChanged;
|
||||
|
||||
UPROPERTY(BlueprintAssignable)
|
||||
FAttributeChangedEvent OnMaxManaChanged;
|
||||
};
|
||||
15
Elistria_Calling/Source/Elistria_CallingEditor.Target.cs
Normal file
15
Elistria_Calling/Source/Elistria_CallingEditor.Target.cs
Normal file
@@ -0,0 +1,15 @@
|
||||
// Fill out your copyright notice in the Description page of Project Settings.
|
||||
|
||||
using UnrealBuildTool;
|
||||
using System.Collections.Generic;
|
||||
|
||||
public class Elistria_CallingEditorTarget : TargetRules
|
||||
{
|
||||
public Elistria_CallingEditorTarget(TargetInfo Target) : base(Target)
|
||||
{
|
||||
Type = TargetType.Editor;
|
||||
DefaultBuildSettings = BuildSettingsVersion.V5;
|
||||
|
||||
ExtraModuleNames.AddRange( new string[] { "Elistria_Calling" } );
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user