18. ABC & AS
This commit is contained in:
		
										
											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(); | ||||||
|  | }; | ||||||
| @@ -1,3 +1,3 @@ | |||||||
| #include "GasaCommon.h" | #include "GasaCommon.h" | ||||||
|  |  | ||||||
| DEFINE_LOG_CATEGORY(LogGasa); | DEFINE_LOG_CATEGORY(LogGasa); | ||||||
|   | |||||||
| @@ -36,9 +36,30 @@ AGasaPlayerController* UGasaLib::GetPrimaryGasaPlayerController(UObject* Context | |||||||
| #pragma endregion Game | #pragma endregion Game | ||||||
|  |  | ||||||
| #pragma region Logging | #pragma region Logging | ||||||
|  | DEFINE_LOG_CATEGORY_STATIC(LogGasaBP, Log, All); | ||||||
|  |  | ||||||
| void UGasaLib::Log(UObject* Context, FString Message, EGasaVerbosity Verbosity, bool bPrintToScreen) | 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 (bPrintToScreen) | ||||||
| 	{ | 	{ | ||||||
| 		if (GAreScreenMessagesEnabled) | 		if (GAreScreenMessagesEnabled) | ||||||
|   | |||||||
| @@ -6,13 +6,14 @@ The project is organized as a monolothic module with an auxillary editor module. | |||||||
|  |  | ||||||
| Implementation design perfs: | 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 |   * Minimize distinct code-paths | ||||||
|   * Use classes as "filters", keep things "mega-structed" |   * Use classes as "filters", keep things "mega-structed" | ||||||
|   * Never pre-emtively make interfaces or interface-like patterns |   * Never pre-emtively make interfaces or interface-like patterns | ||||||
| * Keep everything data-wise in the runtime unless there is a measurable performance cost. | * Keep everything data-wise in the runtime unless there is a measurable performance cost. | ||||||
| * Some exploratory optimizations for educational purposes. | * Some exploratory optimizations for educational purposes. | ||||||
| * Plugins are installed in the engine repo unless not possible. | * 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. | * 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). | * Perfer stage-metaprogramming to C++ compiler provided templating (when possible). | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user