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(); | ||||
| }; | ||||
| @@ -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). | ||||
|   | ||||
		Reference in New Issue
	
	Block a user