18. ABC & AS
This commit is contained in:
parent
cfc3c3291b
commit
70d51d869c
Binary file not shown.
Binary file not shown.
@ -0,0 +1 @@
|
||||
#include "GasaAbilitySystemComponent.h"
|
@ -0,0 +1,12 @@
|
||||
#pragma once
|
||||
|
||||
#include "AbilitySystemComponent.h"
|
||||
|
||||
#include "GasaAbilitySystemComponent.generated.h"
|
||||
|
||||
UCLASS()
|
||||
class GASA_API UGasaAbilitySystemComp : public UAbilitySystemComponent
|
||||
{
|
||||
GENERATED_BODY()
|
||||
public:
|
||||
};
|
2
Project/Source/Gasa/AbilitySystem/GasaAttributeSet.cpp
Normal file
2
Project/Source/Gasa/AbilitySystem/GasaAttributeSet.cpp
Normal file
@ -0,0 +1,2 @@
|
||||
#include "GasaAttributeSet.h"
|
||||
|
15
Project/Source/Gasa/AbilitySystem/GasaAttributeSet.h
Normal file
15
Project/Source/Gasa/AbilitySystem/GasaAttributeSet.h
Normal file
@ -0,0 +1,15 @@
|
||||
#pragma once
|
||||
#include "AttributeSet.h"
|
||||
|
||||
|
||||
#include "GasaAttributeSet.generated.h"
|
||||
|
||||
|
||||
UCLASS()
|
||||
class GASA_API UGasaAttributeSet : public UAttributeSet
|
||||
{
|
||||
GENERATED_BODY()
|
||||
public:
|
||||
|
||||
};
|
||||
|
7
Project/Source/Gasa/Game/GasaPlayerState.cpp
Normal file
7
Project/Source/Gasa/Game/GasaPlayerState.cpp
Normal file
@ -0,0 +1,7 @@
|
||||
#include "GasaPlayerState.h"
|
||||
|
||||
AGasaPlayerState::AGasaPlayerState()
|
||||
{
|
||||
// Replication
|
||||
NetUpdateFrequency = 100.f;
|
||||
}
|
13
Project/Source/Gasa/Game/GasaPlayerState.h
Normal file
13
Project/Source/Gasa/Game/GasaPlayerState.h
Normal file
@ -0,0 +1,13 @@
|
||||
#pragma once
|
||||
|
||||
#include "GameFramework/PlayerState.h"
|
||||
|
||||
#include "GasaPlayerState.generated.h"
|
||||
|
||||
UCLASS(Blueprintable)
|
||||
class GASA_API AGasaPlayerState : public APlayerState
|
||||
{
|
||||
GENERATED_BODY()
|
||||
public:
|
||||
AGasaPlayerState();
|
||||
};
|
@ -36,9 +36,30 @@ AGasaPlayerController* UGasaLib::GetPrimaryGasaPlayerController(UObject* Context
|
||||
#pragma endregion Game
|
||||
|
||||
#pragma region Logging
|
||||
DEFINE_LOG_CATEGORY_STATIC(LogGasaBP, Log, All);
|
||||
|
||||
void UGasaLib::Log(UObject* Context, FString Message, EGasaVerbosity Verbosity, bool bPrintToScreen)
|
||||
{
|
||||
Gasa::Log(Message, Verbosity, LogGasa, false, 0, "", TCHAR_TO_ANSI( *Context->GetName() ));
|
||||
#if !UE_BUILD_SHIPPING && !NO_LOGGING
|
||||
{
|
||||
ELogVerbosity::Type EngineVerbosity = (ELogVerbosity::Type) Verbosity;
|
||||
|
||||
static UE::Logging::Private::FStaticBasicLogDynamicData LOG_Dynamic;
|
||||
static UE::Logging::Private::FStaticBasicLogRecord
|
||||
LOG_Static(TEXT("%s -- %s"), __builtin_FILE(), __builtin_LINE(), EngineVerbosity, LOG_Dynamic);
|
||||
|
||||
if ((EngineVerbosity & ELogVerbosity::VerbosityMask) <= ELogVerbosity::COMPILED_IN_MINIMUM_VERBOSITY)
|
||||
{
|
||||
if ((EngineVerbosity & ELogVerbosity::VerbosityMask) <= LogGasaBP.GetVerbosity())
|
||||
{
|
||||
if ( ! LogGasaBP.IsSuppressed(EngineVerbosity))
|
||||
{
|
||||
BasicLog( LogGasaBP, &LOG_Static, *Message, *Context->GetName() );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
if (bPrintToScreen)
|
||||
{
|
||||
if (GAreScreenMessagesEnabled)
|
||||
|
@ -6,13 +6,14 @@ The project is organized as a monolothic module with an auxillary editor module.
|
||||
|
||||
Implementation design perfs:
|
||||
|
||||
* Flat data structures with abstraction patterns only when necessary.
|
||||
* Keep data structures and codepaths flat with minimal abstraction patterns
|
||||
* Lift to more specific or generalized code-pathsonly when necessary
|
||||
* Minimize distinct code-paths
|
||||
* Use classes as "filters", keep things "mega-structed"
|
||||
* Never pre-emtively make interfaces or interface-like patterns
|
||||
* Keep everything data-wise in the runtime unless there is a measurable performance cost.
|
||||
* Some exploratory optimizations for educational purposes.
|
||||
* Plugins are installed in the engine repo unless not possible.
|
||||
* Code almost exclusively in C++ for everything but cosmetics (this is a engineering portfolio).
|
||||
* Code almost exclusively in C++ for everything but cosmetics (this is an engineering portfolio piece).
|
||||
* Keep static module functions within C++ namesapces and have the in BP function libraries to expose to BPs.
|
||||
* Perfer stage-metaprogramming to C++ compiler provided templating (when possible).
|
||||
|
Loading…
Reference in New Issue
Block a user