From ba5bea9d53a359340802ce36dea052065764e6f5 Mon Sep 17 00:00:00 2001 From: Kah Wei Date: Mon, 12 Sep 2022 13:26:25 +0800 Subject: [PATCH 01/32] Added dotnet dependencies acquisition --- Dependencies.bat | 18 ++++++- Dependencies.lua | 1 + SHADE_Engine/SHADE_Engine.vcxproj | 35 +++++++------ SHADE_Engine/SHADE_Engine.vcxproj.filters | 64 +++++++++++++++++------ SHADE_Engine/premake5.lua | 13 +++-- 5 files changed, 96 insertions(+), 35 deletions(-) diff --git a/Dependencies.bat b/Dependencies.bat index bbce926b..ecbd80b3 100644 --- a/Dependencies.bat +++ b/Dependencies.bat @@ -17,10 +17,11 @@ echo "J - imnodes" echo "K - tracy" echo "L - RTTR" echo "M - yamlcpp" +echo "N - dotnet" echo --------------------------------------------------- echo. -choice /C ABCDEFGHIJKLM /T 10 /D A +choice /C ABCDEFGHIJKLMN /T 10 /D A set _e=%ERRORLEVEL% if %_e%==1 goto VMA @@ -36,6 +37,7 @@ if %_e%==10 goto imnodes if %_e%==11 goto tracy if %_e%==12 goto RTTR if %_e%==13 goto yamlcpp +if %_e%==14 goto dotnet :VMA echo -----------------------VMA---------------------------- @@ -107,6 +109,20 @@ if %_e%==12 (goto :done) else (goto :yamlcpp) echo -----------------------yamlcpp---------------------------- rmdir "Dependencies/yamlcpp" /S /Q git clone https://github.com/SHADE-DP/yaml-cpp.git "Dependencies/yamlcpp" +if %_e%==13 (goto :done) else (goto :dotnet) + +:dotnet +echo -----------------------dotnet---------------------------- +rmdir "Dependencies/dotnet" /S /Q +mkdir "Dependencies/dotnet/include" +mkdir "Dependencies/dotnet/bin" +powershell -Command "& {wget https://raw.githubusercontent.com/dotnet/runtime/main/src/coreclr/hosts/inc/coreclrhost.h -OutFile "Dependencies/dotnet/include/coreclrhost.h"}" +powershell -Command "& {wget https://download.visualstudio.microsoft.com/download/pr/8686fa48-b378-424e-908b-afbd66d6e120/2d75d5c3574fb5d917c5a3cd3f624287/dotnet-sdk-6.0.400-win-x64.zip -OutFile "Dependencies/dotnet/dotnet.zip"}" +powershell -Command "& {Expand-Archive -LiteralPath Dependencies/dotnet/dotnet.zip -DestinationPath Dependencies/dotnet/tmp}" +robocopy "Dependencies/dotnet/tmp/shared/Microsoft.NETCore.App/6.0.8/" "Dependencies/dotnet/bin/" *.dll /ns /nfl /ndl /nc /njh +rmdir "Dependencies/dotnet/tmp/" /s /q +del "Dependencies/dotnet/dotnet.zip" +powershell -Command "& {Remove-Item "Dependencies/dotnet/dotnet.zip"}" :done echo DONE! diff --git a/Dependencies.lua b/Dependencies.lua index 32382cf9..7f1281ab 100644 --- a/Dependencies.lua +++ b/Dependencies.lua @@ -13,3 +13,4 @@ IncludeDir["RTTR"] = "%{wks.location}/Dependencies/RTTR" IncludeDir["ktx"] = "%{wks.location}/Dependencies/ktx" IncludeDir["reactphysics3d"] = "%{wks.location}/Dependencies/reactphysics3d" IncludeDir["VULKAN"] = "$(VULKAN_SDK)" +IncludeDir["dotnet"] = "%{wks.location}/Dependencies/dotnet" diff --git a/SHADE_Engine/SHADE_Engine.vcxproj b/SHADE_Engine/SHADE_Engine.vcxproj index 07b7eb4a..b7f87645 100644 --- a/SHADE_Engine/SHADE_Engine.vcxproj +++ b/SHADE_Engine/SHADE_Engine.vcxproj @@ -19,13 +19,13 @@ - StaticLibrary + DynamicLibrary true Unicode v142 - StaticLibrary + DynamicLibrary false Unicode v142 @@ -41,16 +41,18 @@ + true bin\Debug_x86_64\SHADE_Engine\ bin-int\Debug_x86_64\SHADE_Engine\ SHADE_Engine - .lib + .dll + false bin\Release_x86_64\SHADE_Engine\ bin-int\Release_x86_64\SHADE_Engine\ SHADE_Engine - .lib + .dll @@ -58,7 +60,7 @@ SHpch.h Level4 _LIB;_GLFW_INCLUDE_NONE;MSDFGEN_USE_CPP11;NOMINMAX;_DEBUG;%(PreprocessorDefinitions) - src;..\Dependencies\assimp\include;..\Dependencies\imgui;..\Dependencies\imguizmo;..\Dependencies\imnodes;..\Dependencies\msdf;..\Dependencies\msdf\msdfgen;..\Dependencies\spdlog\include;..\Dependencies\tracy;..\Dependencies\VMA\include;..\Dependencies\yamlcpp\include;..\Dependencies\ktx\include;..\Dependencies\RTTR\include;..\Dependencies\reactphysics3d\include;$(VULKAN_SDK)\include;$(VULKAN_SDK)\Source\SPIRV-Reflect;%(AdditionalIncludeDirectories) + src;..\Dependencies\assimp\include;..\Dependencies\imgui;..\Dependencies\imguizmo;..\Dependencies\imnodes;..\Dependencies\msdf;..\Dependencies\msdf\msdfgen;..\Dependencies\spdlog\include;..\Dependencies\tracy;..\Dependencies\VMA\include;..\Dependencies\yamlcpp\include;..\Dependencies\ktx\include;..\Dependencies\RTTR\include;..\Dependencies\reactphysics3d\include;$(VULKAN_SDK)\include;$(VULKAN_SDK)\Source\SPIRV-Reflect;..\Dependencies\dotnet\include;%(AdditionalIncludeDirectories) EditAndContinue Disabled false @@ -69,11 +71,13 @@ Windows true - - vulkan-1.lib;assimp-vc142-mtd.lib;ktxd.lib;librttr_core_d.lib;%(AdditionalDependencies) libs;$(VULKAN_SDK)\Lib;..\Dependencies\assimp\lib\Debug;..\Dependencies\assimp\lib\Release;..\Dependencies\RTTR\lib;..\Dependencies\ktx\lib\Debug;..\Dependencies\ktx\lib\Release;%(AdditionalLibraryDirectories) - + bin\Debug_x86_64\SHADE_Engine\SHADE_Engine.lib + + + xcopy /s /r /y /q "$(SolutionDir)/Dependencies/dotnet/bin" "$(OutDir)" + @@ -81,7 +85,7 @@ SHpch.h Level4 _LIB;_GLFW_INCLUDE_NONE;MSDFGEN_USE_CPP11;NOMINMAX;_RELEASE;%(PreprocessorDefinitions) - src;..\Dependencies\assimp\include;..\Dependencies\imgui;..\Dependencies\imguizmo;..\Dependencies\imnodes;..\Dependencies\msdf;..\Dependencies\msdf\msdfgen;..\Dependencies\spdlog\include;..\Dependencies\tracy;..\Dependencies\VMA\include;..\Dependencies\yamlcpp\include;..\Dependencies\ktx\include;..\Dependencies\RTTR\include;..\Dependencies\reactphysics3d\include;$(VULKAN_SDK)\include;$(VULKAN_SDK)\Source\SPIRV-Reflect;%(AdditionalIncludeDirectories) + src;..\Dependencies\assimp\include;..\Dependencies\imgui;..\Dependencies\imguizmo;..\Dependencies\imnodes;..\Dependencies\msdf;..\Dependencies\msdf\msdfgen;..\Dependencies\spdlog\include;..\Dependencies\tracy;..\Dependencies\VMA\include;..\Dependencies\yamlcpp\include;..\Dependencies\ktx\include;..\Dependencies\RTTR\include;..\Dependencies\reactphysics3d\include;$(VULKAN_SDK)\include;$(VULKAN_SDK)\Source\SPIRV-Reflect;..\Dependencies\dotnet\include;%(AdditionalIncludeDirectories) Full true true @@ -95,11 +99,13 @@ Windows true true - - vulkan-1.lib;assimp-vc142-mt.lib;ktx.lib;librttr_core.lib;%(AdditionalDependencies) libs;$(VULKAN_SDK)\Lib;..\Dependencies\assimp\lib\Debug;..\Dependencies\assimp\lib\Release;..\Dependencies\RTTR\lib;..\Dependencies\ktx\lib\Debug;..\Dependencies\ktx\lib\Release;%(AdditionalLibraryDirectories) - + bin\Release_x86_64\SHADE_Engine\SHADE_Engine.lib + + + xcopy /s /r /y /q "$(SolutionDir)/Dependencies/dotnet/bin" "$(OutDir)" + @@ -190,7 +196,6 @@ - @@ -246,13 +251,13 @@ - + Create @@ -284,4 +289,4 @@ - + \ No newline at end of file diff --git a/SHADE_Engine/SHADE_Engine.vcxproj.filters b/SHADE_Engine/SHADE_Engine.vcxproj.filters index 8e6cedf2..fd513c56 100644 --- a/SHADE_Engine/SHADE_Engine.vcxproj.filters +++ b/SHADE_Engine/SHADE_Engine.vcxproj.filters @@ -94,6 +94,12 @@ {B3B14D12-9FC1-F9E2-087B-5E01F4A9E87B} + + {AFF4887C-9B2B-8A0D-4418-7010302E060F} + + + {F1B75745-5D6D-D03A-E661-CA115216C73E} + {AC05897C-983C-8A0D-4129-70102D3F060F} @@ -315,6 +321,27 @@ Graphics\Windowing\Surface + + Math + + + Math + + + Math + + + Math + + + Math\Vector + + + Math\Vector + + + Math\Vector + Meta @@ -343,16 +370,9 @@ Tools - - - - - - - - - - + + Tools + @@ -514,6 +534,24 @@ Graphics\Windowing\Surface + + Math + + + Math + + + Math + + + Math\Vector + + + Math\Vector + + + Math\Vector + Resource @@ -530,11 +568,5 @@ Tools - - - - - - \ No newline at end of file diff --git a/SHADE_Engine/premake5.lua b/SHADE_Engine/premake5.lua index a94284df..ac128ac5 100644 --- a/SHADE_Engine/premake5.lua +++ b/SHADE_Engine/premake5.lua @@ -1,5 +1,5 @@ project "SHADE_Engine" - kind "StaticLib" + kind "SharedLib" language "C++" cppdialect "C++latest" targetdir ("bin/" .. outputdir .. "/%{prj.name}") @@ -12,6 +12,7 @@ project "SHADE_Engine" files { "%{prj.location}/src/**.h", + "%{prj.location}/src/**.hpp", "%{prj.location}/src/**.c", "%{prj.location}/src/**.cpp", "%{prj.location}/src/**.glsl", @@ -35,7 +36,8 @@ project "SHADE_Engine" "%{IncludeDir.RTTR}/include", "%{IncludeDir.reactphysics3d}/include", "%{IncludeDir.VULKAN}/include", - "%{IncludeDir.VULKAN}/Source/SPIRV-Reflect" + "%{IncludeDir.VULKAN}/Source/SPIRV-Reflect", + "%{IncludeDir.dotnet}/include", } libdirs @@ -57,7 +59,7 @@ project "SHADE_Engine" "reactphysics3d", "imgui", "spdlog", - "vulkan-1.lib" + "vulkan-1.lib", } defines @@ -83,6 +85,11 @@ project "SHADE_Engine" "spdlog", } + postbuildcommands + { + "xcopy /s /r /y /q \"%{IncludeDir.dotnet}/bin\" \"$(OutDir)\"" + } + warnings 'Extra' filter "configurations:Debug" From 548b09df060763c7a85ec643976d4366d8adba30 Mon Sep 17 00:00:00 2001 From: Kah Wei Date: Mon, 12 Sep 2022 16:04:22 +0800 Subject: [PATCH 02/32] Added SHScriptEngine and SHDotNetRuntime for managed code execution --- SHADE_Engine/SHADE_Engine.vcxproj | 12 + SHADE_Engine/SHADE_Engine.vcxproj.filters | 42 ++ .../src/Engine/ECS_Base/Entity/SHEntity.cpp | 2 +- .../src/Engine/ECS_Base/Entity/SHEntity.h | 2 +- .../src/Scripting/SHDotNetRuntime.cpp | 198 +++++++ SHADE_Engine/src/Scripting/SHDotNetRuntime.h | 149 +++++ .../src/Scripting/SHDotNetRuntime.hpp | 61 +++ SHADE_Engine/src/Scripting/SHScriptEngine.cpp | 509 ++++++++++++++++++ SHADE_Engine/src/Scripting/SHScriptEngine.h | 258 +++++++++ SHADE_Engine/src/Tools/SHStringUtils.cpp | 52 ++ SHADE_Engine/src/Tools/SHStringUtils.h | 81 +++ SHADE_Engine/src/Tools/SHStringUtils.hpp | 46 ++ 12 files changed, 1410 insertions(+), 2 deletions(-) create mode 100644 SHADE_Engine/src/Scripting/SHDotNetRuntime.cpp create mode 100644 SHADE_Engine/src/Scripting/SHDotNetRuntime.h create mode 100644 SHADE_Engine/src/Scripting/SHDotNetRuntime.hpp create mode 100644 SHADE_Engine/src/Scripting/SHScriptEngine.cpp create mode 100644 SHADE_Engine/src/Scripting/SHScriptEngine.h create mode 100644 SHADE_Engine/src/Tools/SHStringUtils.cpp create mode 100644 SHADE_Engine/src/Tools/SHStringUtils.h create mode 100644 SHADE_Engine/src/Tools/SHStringUtils.hpp diff --git a/SHADE_Engine/SHADE_Engine.vcxproj b/SHADE_Engine/SHADE_Engine.vcxproj index b7f87645..fbb9599b 100644 --- a/SHADE_Engine/SHADE_Engine.vcxproj +++ b/SHADE_Engine/SHADE_Engine.vcxproj @@ -187,15 +187,24 @@ + + + + + + + + + @@ -262,9 +271,12 @@ Create + + + diff --git a/SHADE_Engine/SHADE_Engine.vcxproj.filters b/SHADE_Engine/SHADE_Engine.vcxproj.filters index fd513c56..77e4ac1f 100644 --- a/SHADE_Engine/SHADE_Engine.vcxproj.filters +++ b/SHADE_Engine/SHADE_Engine.vcxproj.filters @@ -109,6 +109,9 @@ {B3F7140E-1F0C-3DBF-E88D-E01E546139F0} + + {985A7358-04C5-27CF-4D03-D974B9AC0524} + {16CF2D0E-82E3-55BF-4B65-F91EB73852F0} @@ -327,6 +330,9 @@ Math + + Math + Math @@ -348,12 +354,21 @@ Resource + + Resource + Resource + + Resource + Resource + + Resource + Scene @@ -361,6 +376,15 @@ Scene + + Scripting + + + Scripting + + + Scripting + Tools @@ -373,6 +397,15 @@ Tools + + Tools + + + Tools + + + Tools + @@ -559,6 +592,12 @@ Scene + + Scripting + + + Scripting + Tools @@ -568,5 +607,8 @@ Tools + + Tools + \ No newline at end of file diff --git a/SHADE_Engine/src/Engine/ECS_Base/Entity/SHEntity.cpp b/SHADE_Engine/src/Engine/ECS_Base/Entity/SHEntity.cpp index 6005fb01..edf29ec7 100644 --- a/SHADE_Engine/src/Engine/ECS_Base/Entity/SHEntity.cpp +++ b/SHADE_Engine/src/Engine/ECS_Base/Entity/SHEntity.cpp @@ -28,7 +28,7 @@ namespace SHADE //SHEntityManager::RemoveEntity(this->entityID); } - EntityID SHEntity::GetEID() noexcept + EntityID SHEntity::GetEID() const noexcept { return this->entityID; } diff --git a/SHADE_Engine/src/Engine/ECS_Base/Entity/SHEntity.h b/SHADE_Engine/src/Engine/ECS_Base/Entity/SHEntity.h index d499042c..6f2ae36b 100644 --- a/SHADE_Engine/src/Engine/ECS_Base/Entity/SHEntity.h +++ b/SHADE_Engine/src/Engine/ECS_Base/Entity/SHEntity.h @@ -77,7 +77,7 @@ namespace SHADE * \return uint32_t * The entityID of this Entity object. ***************************************************************************/ - EntityID GetEID() noexcept; + EntityID GetEID() const noexcept; /*!************************************************************************* * \brief Set the Active object diff --git a/SHADE_Engine/src/Scripting/SHDotNetRuntime.cpp b/SHADE_Engine/src/Scripting/SHDotNetRuntime.cpp new file mode 100644 index 00000000..2d0cec1e --- /dev/null +++ b/SHADE_Engine/src/Scripting/SHDotNetRuntime.cpp @@ -0,0 +1,198 @@ +/*************************************************************************************//*! +\file SHDotNetRuntime.cpp +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Oct 2, 2021 +\brief Contains the definition of the SHDotNetRuntime class. + Implementation of code to set up code for SHDotNetRuntime is based on the + following repository: + https://github.com/mjrousos/SampleCoreCLRHost + +Copyright (C) 2021 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//**************************************************************************************/ +// Precompiled Header +#include +// Primary Header +#include "SHDotNetRuntime.h" +// Standard Library +#include +// External Dependencies +#include // PathRemoveFileSpecA +#include "Tools/SHLogger.h" + +namespace SHADE +{ + /*---------------------------------------------------------------------------------*/ + /* Constructors/Destructor */ + /*---------------------------------------------------------------------------------*/ + SHDotNetRuntime::SHDotNetRuntime(bool autoInit) + { + if (autoInit) + { + Init(); + } + } + + SHDotNetRuntime::~SHDotNetRuntime() + { + if (IsLoaded()) + { + try + { + Exit(); + } + catch (std::runtime_error& e) + { + SHLOG_ERROR(e.what()); + } + } + } + + /*---------------------------------------------------------------------------------*/ + /* Lifecycle Functions */ + /*---------------------------------------------------------------------------------*/ + void SHDotNetRuntime::Init() + { + // State checking, in case there was an unload before, we must ensure that the state is valid + if (initialised) + throw std::runtime_error("[DotNetRuntime] Failed to initialise as it was already initialised or was deinitialised into an invalid state."); + + // Get the current executable directory + std::string runtimePath(MAX_PATH, '\0'); + GetModuleFileNameA(nullptr, runtimePath.data(), MAX_PATH); + PathRemoveFileSpecA(runtimePath.data()); + // Since PathRemoveFileSpecA() removes from data(), the size is not updated, so we must manually update it + runtimePath.resize(std::strlen(runtimePath.data())); + + // Do not need to load the library if it was previously loaded + if (coreClr == nullptr) + { + // Construct the CoreCLR path + std::string coreClrPath(runtimePath); // Works + coreClrPath += "\\coreclr.dll"; + + // Load the CoreCLR DLL + coreClr = LoadLibraryExA(coreClrPath.c_str(), nullptr, 0); + if (!coreClr) + { + std::ostringstream oss; + oss << "[DotNetRuntime] Error #" << GetLastError() << " Failed to load CoreCLR from \"" << coreClrPath << "\"\n"; + throw std::runtime_error(oss.str()); + } + + // Step 2: Get CoreCLR hosting functions + initializeCoreClr = getCoreClrFunctionPtr("coreclr_initialize"); + createManagedDelegate = getCoreClrFunctionPtr("coreclr_create_delegate"); + shutdownCoreClr = getCoreClrFunctionPtr("coreclr_shutdown"); + } + + // Step 3: Construct AppDomain properties used when starting the runtime + // Construct the trusted platform assemblies (TPA) list + // This is the list of assemblies that .NET Core can load as + // trusted system assemblies (similar to the .NET Framework GAC). + // For this host (as with most), assemblies next to CoreCLR will + // be included in the TPA list + std::string tpaList = buildTpaList(runtimePath); + + // Define CoreCLR properties + std::array propertyKeys = + { + "TRUSTED_PLATFORM_ASSEMBLIES", // Trusted assemblies (like the GAC) + "APP_PATHS", // Directories to probe for application assemblies + // "APP_NI_PATHS", // Directories to probe for application native images (not used in this sample) + // "NATIVE_DLL_SEARCH_DIRECTORIES", // Directories to probe for native dlls (not used in this sample) + }; + std::array propertyValues = + { + tpaList.c_str(), + runtimePath.c_str() + }; + + // Step 4: Start the CoreCLR runtime + int result = initializeCoreClr + ( + runtimePath.c_str(), // AppDomain base path + "SHADEHost", // AppDomain friendly name + propertyKeys.size(), // Property count + propertyKeys.data(), // Property names + propertyValues.data(), // Property values + &hostHandle, // Host handle + &domainId // AppDomain ID + ); + + // Check if intiialization of CoreCLR failed + throwIfFailed("[DotNetRuntime] Failed to initialize CoreCLR.", result); + + initialised = true; + SHLOG_INFO("[DotNetRuntime] Successfully loaded the .NET 5.0 Runtime."); + } + + void SHDotNetRuntime::Exit() + { + // State checking, in case there was an unload before, we must ensure that the state is valid + if (!initialised) + throw std::runtime_error("[DotNetRuntime] Failed to deinitialise as it was not initialised before."); + + // Shutdown CoreCLR + int result = shutdownCoreClr(hostHandle, domainId); + throwIfFailed("[DotNetRuntime] Failed to shut down CoreCLR.", result); + + // Unset pointers + hostHandle = nullptr; + domainId = 0; + initialised = false; + + SHLOG_INFO("[DotNetRuntime] Successfully shut down the .NET 5.0 Runtime."); + } + + /*---------------------------------------------------------------------------------*/ + /* Helper Functions */ + /*---------------------------------------------------------------------------------*/ + std::string SHDotNetRuntime::buildTpaList(const std::string& directory) + { + // Constants + static const std::string SEARCH_PATH = directory + "\\*.dll"; + static constexpr char PATH_DELIMITER = ';'; + + // Create a osstream object to compile the string + std::ostringstream tpaList; + + // Search the current directory for the TPAs (.DLLs) + WIN32_FIND_DATAA findData; + HANDLE fileHandle = FindFirstFileA(SEARCH_PATH.c_str(), &findData); + if (fileHandle != INVALID_HANDLE_VALUE) + { + do + { + // Append the assembly to the list + tpaList << directory << '\\' << findData.cFileName << PATH_DELIMITER; + + // Note that the CLR does not guarantee which assembly will be loaded if an assembly + // is in the TPA list multiple times (perhaps from different paths or perhaps with different NI/NI.dll + // extensions. Therefore, a real host should probably add items to the list in priority order and only + // add a file if it's not already present on the list. + // + // For this simple sample, though, and because we're only loading TPA assemblies from a single path, + // and have no native images, we can ignore that complication. + } + while (FindNextFileA(fileHandle, &findData)); + FindClose(fileHandle); + } + + return tpaList.str(); + } + + void SHDotNetRuntime::throwIfFailed(const std::string& errMsg, int resultCode) + { + if (resultCode < 0) + { + std::ostringstream oss; + oss << std::hex << std::setfill('0') << std::setw(8) + << errMsg + << " Error 0x" << resultCode << "\n"; + throw std::runtime_error(oss.str()); + } + } +} diff --git a/SHADE_Engine/src/Scripting/SHDotNetRuntime.h b/SHADE_Engine/src/Scripting/SHDotNetRuntime.h new file mode 100644 index 00000000..22f8d9c7 --- /dev/null +++ b/SHADE_Engine/src/Scripting/SHDotNetRuntime.h @@ -0,0 +1,149 @@ +/*************************************************************************************//*! +\file SHDotNetRuntime.h +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Oct 2, 2021 +\brief Contains the interface of a wrapper class for interfacing with the + .NET 5 Runtime. + +Copyright (C) 2021 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//**************************************************************************************/ +#pragma once + +// Standard Libraries +#include // std::setfill, std::setw +#include // std::runtime_error +#include // std::string +#include // std::ostringstream +// External Dependencies +#include // HMODULE +#include // coreclr_* + +namespace SHADE +{ + /********************************************************************************//*! + @brief Class that encapsulates the state of the .NET Core Runtime lifecycle. + *//*********************************************************************************/ + class SHDotNetRuntime + { + public: + /*----------------------------------------------------------------------------------*/ + /* Constructors/Destructor */ + /*----------------------------------------------------------------------------------*/ + /****************************************************************************//*! + @brief Default constructor that immediately initializes the CoreCLR. + + @param[in] autoInit + If true, loads the CoreCLR by calling Init(). + *//*****************************************************************************/ + SHDotNetRuntime(bool autoInit = true); + /****************************************************************************//*! + @brief Destructor that unloads the CoreCLR if it has not been unloaded + yet. + *//*****************************************************************************/ + ~SHDotNetRuntime(); + + // Disallow copy and moving + SHDotNetRuntime(const SHDotNetRuntime&) = delete; + SHDotNetRuntime(SHDotNetRuntime&&) = delete; + + /*----------------------------------------------------------------------------------*/ + /* Lifecycle Functions */ + /*----------------------------------------------------------------------------------*/ + /****************************************************************************//*! + @brief Loads the CoreCLR and grabs pointers to bootstrapping functions and + kickstarts the CoreCLR. + + @throws SystemExitException + Thrown if there is a failure in loading the CLR and related functions. + *//*****************************************************************************/ + void Init(); + /****************************************************************************//*! + @brief Unloads the CoreCLR. + + @throws SystemExitException + Thrown if there is a failure in unloading the CLR. + *//*****************************************************************************/ + void Exit(); + + /*----------------------------------------------------------------------------------*/ + /* Usage Functions */ + /*----------------------------------------------------------------------------------*/ + /****************************************************************************//*! + @brief Checks if the DotNetRuntime has successfully been initialised. + + @return True if this DotNetRuntime has been initialised. + *//*****************************************************************************/ + inline bool IsLoaded() { return coreClr != nullptr; } + /****************************************************************************//*! + @brief Retrieves a function pointer from the a CLR assembly based on the + specified assembly, type and function names. + + @tparam FunctionType + Type of the function pointer that the specified function name will + provide. + + @params[in] assemblyName + Name of the CoreCLR assembly that contains the function. + @params[in] typeName + Name of the CoreCLR type in the assembly that contains the function. + Nested types are separated by a period(.). + @params[in] functionName + Name of the CoreCLR function to get a pointer to. + + @returns Pointer to the function in the assembly that was specified. + *//*****************************************************************************/ + template + FunctionType GetFunctionPtr(const std::string_view& assemblyName, + const std::string_view& typeName, + const std::string_view& functionName); + + private: + /*-----------------------------------------------------------------------------*/ + /* Data Members */ + /*-----------------------------------------------------------------------------*/ + bool initialised = false; + // References to CoreCLR key components + HMODULE coreClr = nullptr; + void* hostHandle = nullptr; + unsigned int domainId = 0; + // Function Pointers to CoreCLR functions + coreclr_initialize_ptr initializeCoreClr = nullptr; + coreclr_create_delegate_ptr createManagedDelegate = nullptr; + coreclr_shutdown_ptr shutdownCoreClr = nullptr; + + /*-----------------------------------------------------------------------------*/ + /* Helper Functions */ + /*-----------------------------------------------------------------------------*/ + /****************************************************************************//*! + @brief Retrieves a function pointer from the CoreCLR based on the specified + function name. + + @tparam FunctionType + Type of the function pointer that the specified function name will + provide. + + @params[in] functionName + Name of the CoreCLR function to get a pointer to. + + @returns Pointer to the function in the CoreCLR that was specified. + *//*****************************************************************************/ + template + FunctionType getCoreClrFunctionPtr(const std::string& functionName); + /****************************************************************************//*! + @brief Compiles a semicolon separated string of trusted platform assemblies by + searching the specified directory. + + @params[in] directory + Path to the directory where the trusted platform assemblies reside. + + @returns Semicolon separated string of trusted platform assemblies. + *//*****************************************************************************/ + static std::string buildTpaList(const std::string& directory); + static void throwIfFailed(const std::string& errMsg, int resultCode); + }; +} // namespace PlushieEngine::Scripts + +#include "SHDotNetRuntime.hpp" diff --git a/SHADE_Engine/src/Scripting/SHDotNetRuntime.hpp b/SHADE_Engine/src/Scripting/SHDotNetRuntime.hpp new file mode 100644 index 00000000..3498bc63 --- /dev/null +++ b/SHADE_Engine/src/Scripting/SHDotNetRuntime.hpp @@ -0,0 +1,61 @@ +/*************************************************************************************//*! +\file SHDotNetRuntime.hpp +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Oct 2, 2021 +\brief Contains the implementation of the template functions of the + DotNetRuntime class. + +Copyright (C) 2021 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//**************************************************************************************/ +#pragma once + +// Primary Include +#include "SHDotNetRuntime.h" + +namespace SHADE +{ + template + FunctionType SHDotNetRuntime::GetFunctionPtr(const std::string_view & assemblyName, + const std::string_view & typeName, + const std::string_view & functionName) + { + FunctionType managedDelegate = nullptr; + int result = createManagedDelegate + ( + hostHandle, + domainId, + assemblyName.data(), + typeName.data(), + functionName.data(), + reinterpret_cast(&managedDelegate) + ); + + // Check if it failed + if (result < 0) + { + std::ostringstream oss; + oss << std::hex << std::setfill('0') << std::setw(8) + << "[DotNetRuntime] Failed to get pointer to function \"" + << typeName << "." << functionName << "\" in assembly (" << assemblyName << "). " + << "Error 0x" << result << "\n"; + throw std::runtime_error(oss.str()); + } + + return managedDelegate; + } + template + FunctionType SHDotNetRuntime::getCoreClrFunctionPtr(const std::string& functionName) + { + FunctionType fPtr = reinterpret_cast(GetProcAddress(coreClr, functionName.c_str())); + if (!fPtr) + { + std::ostringstream oss; + oss << "[DotNetRuntime] Unable to get pointer to function: \"" << functionName << "\""; + throw std::runtime_error(oss.str()); + } + return fPtr; + } +} diff --git a/SHADE_Engine/src/Scripting/SHScriptEngine.cpp b/SHADE_Engine/src/Scripting/SHScriptEngine.cpp new file mode 100644 index 00000000..ac8ad84c --- /dev/null +++ b/SHADE_Engine/src/Scripting/SHScriptEngine.cpp @@ -0,0 +1,509 @@ +/************************************************************************************//*! +\file SHScriptEngine.cpp +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Sep 17, 2021 +\brief Contains the implementation for ScriptEngine class. + +Copyright (C) 2021 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//*************************************************************************************/ +// Precompiled Headers +#include +// Primary Header +#include "SHScriptEngine.h" +// Standard Library +#include // std::fstream +#include // std::filesystem::canonical, std::filesystem::remove +// Project Headers +#include "Tools/SHLogger.h" +#include "Tools/SHStringUtils.h" + +namespace SHADE +{ + /*--------------------------------------------------------------------------------*/ + /* Static Definitions */ + /*--------------------------------------------------------------------------------*/ + const std::string SHScriptEngine::DEFAULT_CSHARP_NAMESPACE = std::string(DEFAULT_CSHARP_LIB_NAME); + + /*---------------------------------------------------------------------------------*/ + /* Constructors/Destructors */ + /*---------------------------------------------------------------------------------*/ + SHScriptEngine::SHScriptEngine() + {} + + /*---------------------------------------------------------------------------------*/ + /* Lifecycle Functions */ + /*---------------------------------------------------------------------------------*/ + void SHScriptEngine::Init() + { + // Do not allow initialization if already initialised + if (dotNet.IsLoaded()) + { + SHLOG_ERROR("[ScriptEngine] Attempted to initialise an already loaded DotNetRuntime."); + return; + } + + dotNet.Init(); + + // Load all the helpers + loadFunctions(); + + // Generate script assembly if it hasn't been before + if (!fileExists(std::string(MANAGED_SCRIPT_LIB_NAME) + ".dll")) + { + BuildScriptAssembly(); + } + + // Initialise the CSharp Engine + csEngineInit(); + + // Link events + // - Entity Creation + /*onEntityCreate = [this](const SHEntity& e) + { + csGOLibNotifyNewEntity(e.GetEID()); + }; + ECS::OnEntityCreated += onEntityCreate;*/ + // - Entity Destruction + /*onEntityDestroy = [this](const SHEntity& e) + { + csScriptsRemoveAll(e.GetEID()); + csGOLibNotifyDestroyEntity(e.GetEID()); + }; + ECS::OnEntityDestroy += onEntityDestroy;*/ + } + void SHScriptEngine::UnloadScriptAssembly() + { + csEngineUnloadScripts(); + } + void SHScriptEngine::LoadScriptAssembly() + { + csEngineLoadScripts(); + } + void SHScriptEngine::ReloadScriptAssembly() + { + csEngineReloadScripts(); + } + void SHScriptEngine::ExecuteFixedUpdates() + { + csScriptsExecuteFixedUpdate(); + } + + void SHScriptEngine::ExecuteOnTrigger() + { + csScriptsExecuteOnTrigger(); + } + + void SHScriptEngine::Exit() + { + // Do not allow deinitialization if not initialised + if (!dotNet.IsLoaded()) + { + SHLOG_ERROR("[ScriptEngine] Attempted to clean up an unloaded DotNetRuntime."); + return; + } + + // Unlink events + /*ECS::OnEntityCreated -= onEntityCreate; + ECS::OnEntityDestroy -= onEntityDestroy;*/ + + // Clean up the CSharp Engine + csEngineExit(); + + // Shut down the CLR + dotNet.Exit(); + } + + /*---------------------------------------------------------------------------------*/ + /* Script Manipulation Functions */ + /*---------------------------------------------------------------------------------*/ + bool SHScriptEngine::AddScript(const SHEntity& entity, const std::string_view& scriptName) const + { + return csScriptsAdd(entity.GetEID(), scriptName.data()); + } + void SHScriptEngine::RemoveAllScripts(const SHEntity& entity) const + { + csScriptsRemoveAll(entity.GetEID()); + } + void SHScriptEngine::RemoveAllScriptsImmediately(const SHEntity& entity, bool callOnDestroy) const + { + csScriptsRemoveAllImmediately(entity.GetEID(), callOnDestroy); + } + + /*---------------------------------------------------------------------------------*/ + /* Script Serialisation Functions */ + /*---------------------------------------------------------------------------------*/ + std::string SHScriptEngine::SerialiseScripts(const SHEntity& entity) const + { + // Create buffer needed to store serialised script data + constexpr int BUFFER_SIZE = 10240; + std::unique_ptr buffer { new char[BUFFER_SIZE] }; + std::memset(buffer.get(), 0, BUFFER_SIZE); + + // Attempt to serialise the script + std::string result; + if (csScriptsSerialise(entity.GetEID(), buffer.get(), BUFFER_SIZE)) + { + result = std::string(buffer.get()); + } + else + { + SHLOG_ERROR("[ScriptEngine] Failed to serialise scripts as string buffer is too small!"); + } + + // Return an empty string since we failed to serialise + return result; + } + + /*---------------------------------------------------------------------------------*/ + /* Script Serialisation Functions */ + /*---------------------------------------------------------------------------------*/ + void SHScriptEngine::DeserialiseScript(const SHEntity& entity, const std::string& yaml) const + { + csScriptDeserialise(entity.GetEID(), yaml.c_str()); + } + + /*---------------------------------------------------------------------------------*/ + /* Script Editor Functions */ + /*---------------------------------------------------------------------------------*/ + void SHScriptEngine::RenderScriptsInInspector(const SHEntity& entity) const + { + csEditorRenderScripts(entity.GetEID()); + } + + /*---------------------------------------------------------------------------------*/ + /* Static Utility Functions */ + /*---------------------------------------------------------------------------------*/ + bool SHScriptEngine::BuildScriptAssembly(bool debug) + { + constexpr std::string_view BUILD_LOG_PATH = "../Build.log"; + + // Prepare directory (delete useless files) + deleteFolder("net5.0"); + deleteFolder("ref"); + deleteFolder("../PlushieGameManaged"); + deleteFolder("../obj"); + + // Attempt to build the assembly + std::ostringstream oss; + oss << "[ScriptEngine] Building " << (debug ? " debug " : "") << "Managed Script Assembly (" << MANAGED_SCRIPT_LIB_NAME << ")!"; + SHLOG_INFO(oss.str()); + oss.str(""); + const bool BUILD_SUCCESS = execProcess + ( + L"C:\\Windows\\system32\\cmd.exe", + L"/K \"dotnet build \"../PlushieGameManaged.csproj\" -c Debug -o \"./tmp/\" -fl -flp:LogFile=build.log;Verbosity=quiet & exit\"" + ) == 0; + if (BUILD_SUCCESS) + { + // Copy to built dll to the working directory and replace + std::filesystem::copy_file("./tmp/PlushieGameManaged.dll", "PlushieGameManaged.dll", std::filesystem::copy_options::overwrite_existing); + + oss << "[ScriptEngine] Successfully built Managed Script Assembly (" << MANAGED_SCRIPT_LIB_NAME << ")!"; + SHLOG_INFO(oss.str()); + } + else + { + oss << "[ScriptEngine] Failed to build Managed Script Assembly (" << MANAGED_SCRIPT_LIB_NAME << ")!"; + SHLOG_ERROR(oss.str()); + } + + // Clean up built files + deleteFolder("./tmp"); + + // Read the build log and output to the console + dumpBuildLog(BUILD_LOG_PATH); + // Delete the build log file since we no longer need it + deleteFile(BUILD_LOG_PATH); + + return BUILD_SUCCESS; + } + + void SHScriptEngine::GenerateScriptsCsProjFile(const std::filesystem::path& path) + { + // Sample + static std::string_view FILE_CONTENTS = +"\n\ + \n\ + net5.0\n\ + x64\n\ + Release;Debug\n\ + \n\ + \n\ + .\\bin_Release-x64\n\ + x64\n\ + \n\ + \n\ + .\\bin_Debug-x64\n\ + x64\n\ + DEBUG;TRACE\n\ + false\n\ + full\n\ + true\n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + \n\ + .\\bin\\PlushieAPI.dll\n\ + \n\ + \n\ +"; + + // Attempt to create the file + std::ofstream file(path); + if (!file.is_open()) + throw std::runtime_error("Unable to create CsProj file!"); + + // Fill the file + file << FILE_CONTENTS; + + // Close + file.close(); + } + + /*---------------------------------------------------------------------------------*/ + /* Helper Functions */ + /*---------------------------------------------------------------------------------*/ + void SHScriptEngine::loadFunctions() + { + std::ostringstream oss; + oss << "[ScriptEngine] Loading \"" << DEFAULT_CSHARP_LIB_NAME << "\" CLR library."; + SHLOG_INFO(oss.str()); + + // Load functions + csEngineInit = dotNet.GetFunctionPtr + ( + DEFAULT_CSHARP_LIB_NAME, + DEFAULT_CSHARP_NAMESPACE + ".EngineInterface", + "Init" + ); + csEngineLoadScripts = dotNet.GetFunctionPtr + ( + DEFAULT_CSHARP_LIB_NAME, + DEFAULT_CSHARP_NAMESPACE + ".EngineInterface", + "LoadScriptAssembly" + ); + csEngineUnloadScripts = dotNet.GetFunctionPtr + ( + DEFAULT_CSHARP_LIB_NAME, + DEFAULT_CSHARP_NAMESPACE + ".EngineInterface", + "UnloadScriptAssembly" + ); + csEngineReloadScripts = dotNet.GetFunctionPtr + ( + DEFAULT_CSHARP_LIB_NAME, + DEFAULT_CSHARP_NAMESPACE + ".EngineInterface", + "ReloadScriptAssembly" + ); + csEngineExit = dotNet.GetFunctionPtr + ( + DEFAULT_CSHARP_LIB_NAME, + DEFAULT_CSHARP_NAMESPACE + ".EngineInterface", + "Exit" + ); + csScriptsFrameSetUp = dotNet.GetFunctionPtr + ( + DEFAULT_CSHARP_LIB_NAME, + DEFAULT_CSHARP_NAMESPACE + ".ScriptStore", + "FrameSetUp" + ); + csScriptsExecuteOnTrigger = dotNet.GetFunctionPtr + ( + DEFAULT_CSHARP_LIB_NAME, + DEFAULT_CSHARP_NAMESPACE + ".ScriptStore", + "ExecuteOnTrigger" + ); + csScriptsExecuteFixedUpdate = dotNet.GetFunctionPtr + ( + DEFAULT_CSHARP_LIB_NAME, + DEFAULT_CSHARP_NAMESPACE + ".ScriptStore", + "ExecuteFixedUpdate" + ); + csScriptsExecuteUpdate = dotNet.GetFunctionPtr + ( + DEFAULT_CSHARP_LIB_NAME, + DEFAULT_CSHARP_NAMESPACE + ".ScriptStore", + "ExecuteUpdate" + ); + csScriptsExecuteLateUpdate = dotNet.GetFunctionPtr + ( + DEFAULT_CSHARP_LIB_NAME, + DEFAULT_CSHARP_NAMESPACE + ".ScriptStore", + "ExecuteLateUpdate" + ); + csScriptsFrameCleanUp = dotNet.GetFunctionPtr + ( + DEFAULT_CSHARP_LIB_NAME, + DEFAULT_CSHARP_NAMESPACE + ".ScriptStore", + "FrameCleanUp" + ); + csScriptsAdd = dotNet.GetFunctionPtr + ( + DEFAULT_CSHARP_LIB_NAME, + DEFAULT_CSHARP_NAMESPACE + ".ScriptStore", + "AddScriptViaName" + ); + csScriptsRemoveAll = dotNet.GetFunctionPtr + ( + DEFAULT_CSHARP_LIB_NAME, + DEFAULT_CSHARP_NAMESPACE + ".ScriptStore", + "RemoveAllScripts" + ); + csScriptsRemoveAllImmediately = dotNet.GetFunctionPtr + ( + DEFAULT_CSHARP_LIB_NAME, + DEFAULT_CSHARP_NAMESPACE + ".ScriptStore", + "RemoveAllScriptsImmediately" + ); + csScriptsSerialise = dotNet.GetFunctionPtr + ( + DEFAULT_CSHARP_LIB_NAME, + DEFAULT_CSHARP_NAMESPACE + ".ScriptStore", + "SerialiseScripts" + ); + csScriptsSerialiseJson = dotNet.GetFunctionPtr + ( + DEFAULT_CSHARP_LIB_NAME, + DEFAULT_CSHARP_NAMESPACE + ".ScriptStore", + "SerialiseScriptsJson" + ); + csScriptDeserialise = dotNet.GetFunctionPtr + ( + DEFAULT_CSHARP_LIB_NAME, + DEFAULT_CSHARP_NAMESPACE + ".ScriptStore", + "DeserialiseScript" + ); + csGOLibNotifyNewEntity = dotNet.GetFunctionPtr + ( + DEFAULT_CSHARP_LIB_NAME, + DEFAULT_CSHARP_NAMESPACE + ".GameObjectLibrary", + "NotifyNewGameObject" + ); + csGOLibNotifyDestroyEntity = dotNet.GetFunctionPtr + ( + DEFAULT_CSHARP_LIB_NAME, + DEFAULT_CSHARP_NAMESPACE + ".GameObjectLibrary", + "NotifyDestroyGameObject" + ); + csEditorRenderScripts = dotNet.GetFunctionPtr + ( + DEFAULT_CSHARP_LIB_NAME, + DEFAULT_CSHARP_NAMESPACE + ".Editor", + "RenderScriptsInInspector" + ); + } + + void SHScriptEngine::dumpBuildLog(const std::string_view& buildLogPath) + { + std::ifstream buildLog(buildLogPath); + + // Fail to open + if (!buildLog.is_open()) + return; + + // Process line by line + std::string line; + while (std::getline(buildLog, line)) + { + if (line.find("error") != line.npos) + { + SHLOG_ERROR(line); + } + else + { + SHLOG_WARNING(line); + } + } + } + void SHScriptEngine::deleteFile(const std::string_view& filePath) + { + try + { + std::filesystem::remove(std::filesystem::canonical(filePath)); + } + catch (...) {} // Ignore deletion failures + } + + void SHScriptEngine::deleteFolder(const std::string_view& filePath) + { + try + { + std::filesystem::remove_all(std::filesystem::canonical(filePath)); + } + catch (...) {} // Ignore deletion failures + } + + bool SHScriptEngine::fileExists(const std::string_view& filePath) + { + std::error_code error; + if (std::filesystem::exists(filePath, error)) + { + return true; + } + return false; + } + + DWORD SHScriptEngine::execProcess(const std::wstring& path, const std::wstring& args) + { + STARTUPINFOW startInfo; + PROCESS_INFORMATION procInfo; + ZeroMemory(&startInfo, sizeof(startInfo)); + ZeroMemory(&procInfo, sizeof(procInfo)); + startInfo.cb = sizeof(startInfo); + + std::wstring argsWstr = args; + + // Start Process + const auto SUCCESS = CreateProcess + ( + path.data(), argsWstr.data(), + nullptr, nullptr, false, NULL, nullptr, nullptr, + &startInfo, &procInfo + ); + + // Error Check + if (!SUCCESS) + { + auto err = GetLastError(); + std::ostringstream oss; + oss << "[ScriptEngine] Failed to launch process. Error code: " << std::hex << err + << " (" << SHStringUtils::GetWin32ErrorMessage(err) << ")"; + throw std::runtime_error(oss.str()); + } + + // Wait for execution to end + DWORD status; + while (true) + { + const auto SUCCESS = GetExitCodeProcess(procInfo.hProcess, &status); + if (!SUCCESS) + { + auto err = GetLastError(); + std::ostringstream oss; + oss << "[ScriptEngine] Failed to query process. Error code: " << std::hex << err + << " (" << SHStringUtils::GetWin32ErrorMessage(err) << ")"; + throw std::runtime_error(oss.str()); + } + + // Break only if process ends + if (status != STILL_ACTIVE) + { + CloseHandle(procInfo.hProcess); + CloseHandle(procInfo.hThread); + return status; + } + } + } + +} diff --git a/SHADE_Engine/src/Scripting/SHScriptEngine.h b/SHADE_Engine/src/Scripting/SHScriptEngine.h new file mode 100644 index 00000000..85e3ac3f --- /dev/null +++ b/SHADE_Engine/src/Scripting/SHScriptEngine.h @@ -0,0 +1,258 @@ +/************************************************************************************//*! +\file ScriptEngine.h +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Sep 17, 2021 +\brief Contains the interface for ScriptEngine class. + +Copyright (C) 2021 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//*************************************************************************************/ +#pragma once + +// STL Includes +#include + +// Project Headers +#include "SHDotNetRuntime.h" +#include "Engine/ECS_Base/SHECSMacros.h" +#include "Engine/ECS_Base/Entity/SHEntity.h" + +namespace SHADE +{ + /// + /// Manages initialisation of the DotNetRuntime and interfacing with CLR code written + /// and executed on .NET. + /// + class SHScriptEngine + { + public: + /*-----------------------------------------------------------------------------*/ + /* Constructors & Destructors */ + /*-----------------------------------------------------------------------------*/ + /// + /// Default Constructor + /// + SHScriptEngine(); + + /*-----------------------------------------------------------------------------*/ + /* Lifecycle Functions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Initialises the DotNetRuntime and retrieves function pointers to all + /// functions on the CLR used to interface with the engine. + /// + void Init(); + /// + /// Loads the managed script assembly. Ensure this is only called after + /// UnloadScriptAssembly() has been called. + /// + void UnloadScriptAssembly(); + /// + /// Unloads the managed script assembly. + /// Take note that this will clear all existing scripts, ensure that the scene + /// is saved before doing so. + /// + void LoadScriptAssembly(); + /// + /// Reloads the managed script assembly. + /// Take note that this will clear all existing scripts, ensure that the scene + /// is saved before doing so. + /// + void ReloadScriptAssembly(); + /// + /// Executes the FixedUpdate()s of the PlushieScripts that are attached to + /// Entities. + /// + void ExecuteFixedUpdates(); + /// + /// Executes the OnTrigger() family of functions of the PlushieScripts that are + /// attached to Entities. + /// + void ExecuteOnTrigger(); + /// + /// Shuts down the DotNetRuntime. + /// + void Exit(); + + /*-----------------------------------------------------------------------------*/ + /* Script Manipulation Functions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Adds a Script to a specified Entity. Note that while you can call this + /// multiple times on a specified Entity, it will work for all intents and + /// purposes but GetScript<T>() (C# only) currently only + /// gives you the first PlushieScript added of the specified type. + /// + /// The entity to add a script to. + /// Type name of the script to add. + /// + /// True if successfully added. False otherwise with the error logged to the + /// console. + /// + bool AddScript(const SHEntity& entity, const std::string_view& scriptName) const; + /// + /// Removes all Scripts attached to the specified Entity. Does not do anything + /// if the specified Entity is invalid or does not have any PlushieScripts + /// attached. + /// + /// The entity to remove the scripts from. + void RemoveAllScripts(const SHEntity& entity) const; + /// + /// Removes all Scripts attached to the specified Entity. Unlike + /// RemoveAllScripts(), this removes all the scripts immediately. + /// Does not do anything if the specified Entity is invalid or does not have any + /// PlushieScripts attached. + /// + /// The entity to remove the scripts from. + /// + /// Whether or not to call OnDestroy on the scripts. This is ignored if not in + /// play mode. + /// + void RemoveAllScriptsImmediately(const SHEntity& entity, bool callOnDestroy) const; + + /*-----------------------------------------------------------------------------*/ + /* Script Serialisation Functions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Generates a JSON string that represents the set of Scripts attached to the + /// specified Entity. + /// + /// The Entity to Serialise. + /// + /// String that represents the set of scripts attached to the specified Entity. + /// + std::string SerialiseScripts(const SHEntity& entity) const; + /// + /// Loads the specified JSON string and creates a Script for the specified Entity + /// based on the specified JSON string. + /// + /// The Entity to deserialise a Script on to. + /// + /// The JSON string that represents the Script to load into the Entity. + /// + void DeserialiseScript(const SHEntity& entity, const std::string& yaml) const; + + /*-----------------------------------------------------------------------------*/ + /* Script Editor Functions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Renders the set of attached PlushieScripts for the specified Entity into the + /// inspector. + ///
+ /// This function is meant for consumption from native code in the inspector + /// rendering code. + ///
+ /// The Entity to render the PlushieScripts of. + void RenderScriptsInInspector(const SHEntity& entity) const; + + /*-----------------------------------------------------------------------------*/ + /* Static Utility Functions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Utilises execution of a external batch file for invoking the dotnet build + /// tool to compile C# scripts in the Assets folder into the PlushieGameManaged + /// C# assembly DLL. + /// + /// + /// Whether or not a debug build will be built. Only debug built C# assemblies + /// can be debugged. + /// + /// Whether or not the build succeeded. + static bool BuildScriptAssembly(bool debug = false); + /// + /// Generates a .csproj file for editing and compiling the C# scripts. + /// + /// File path to the generated file. + static void GenerateScriptsCsProjFile(const std::filesystem::path& path); + + private: + /*-----------------------------------------------------------------------------*/ + /* Type Definitions */ + /*-----------------------------------------------------------------------------*/ + using CsFuncPtr = void(*)(void); + using CsScriptManipFuncPtr = bool(*)(EntityID, const char*); + using CsScriptBasicFuncPtr = void(*)(EntityID); + using CsScriptOptionalFuncPtr = void(*)(EntityID, bool); + using CsScriptSerialiseFuncPtr = bool(*)(EntityID, char*, int); + using CsScriptDeserialiseFuncPtr = bool(*)(EntityID, const char*); + using CsScriptSerialiseJsonFuncPtr = bool(*)(EntityID, void*); + using CsScriptEditorFuncPtr = void(*)(EntityID); + + /*-----------------------------------------------------------------------------*/ + /* Constants */ + /*-----------------------------------------------------------------------------*/ + static constexpr std::string_view DEFAULT_CSHARP_LIB_NAME = "SHADEAPI"; + static constexpr std::string_view MANAGED_SCRIPT_LIB_NAME = "SHADEManaged"; + static const std::string DEFAULT_CSHARP_NAMESPACE; + + /*-----------------------------------------------------------------------------*/ + /* Data Members */ + /*-----------------------------------------------------------------------------*/ + SHDotNetRuntime dotNet {false}; + // Function Pointers to CLR Code + // - Engine Init + CsFuncPtr csEngineInit = nullptr; + CsFuncPtr csEngineLoadScripts = nullptr; + CsFuncPtr csEngineUnloadScripts = nullptr; + CsFuncPtr csEngineReloadScripts = nullptr; + CsFuncPtr csEngineExit = nullptr; + // - Scripts Store + CsFuncPtr csScriptsFrameSetUp = nullptr; + CsFuncPtr csScriptsExecuteOnTrigger = nullptr; + CsFuncPtr csScriptsExecuteFixedUpdate = nullptr; + CsFuncPtr csScriptsExecuteUpdate = nullptr; + CsFuncPtr csScriptsExecuteLateUpdate = nullptr; + CsFuncPtr csScriptsFrameCleanUp = nullptr; + CsScriptManipFuncPtr csScriptsAdd = nullptr; + CsScriptBasicFuncPtr csScriptsRemoveAll = nullptr; + CsScriptOptionalFuncPtr csScriptsRemoveAllImmediately = nullptr; + CsScriptSerialiseFuncPtr csScriptsSerialise = nullptr; + CsScriptDeserialiseFuncPtr csScriptDeserialise = nullptr; + CsScriptSerialiseJsonFuncPtr csScriptsSerialiseJson = nullptr; + CsScriptSerialiseJsonFuncPtr csScriptDeserialiseJson = nullptr; + // - GameObject Library + CsScriptBasicFuncPtr csGOLibNotifyNewEntity = nullptr; + CsScriptBasicFuncPtr csGOLibNotifyDestroyEntity = nullptr; + // - Editor + CsScriptEditorFuncPtr csEditorRenderScripts = nullptr; + // Delegates + /*ECS::EntityEvent::Delegate onEntityCreate; + ECS::EntityEvent::Delegate onEntityDestroy;*/ + + /*-----------------------------------------------------------------------------*/ + /* Helper Functions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Loads all the function pointers to CLR code that we need to execute. + /// + void loadFunctions(); + /// + /// Reads the file via the specified path that represents a build log of error + /// and warning messages. + /// + /// + /// File path to the build log of script builds done by BuildScriptAssembly() to + /// dump and process. + /// + static void dumpBuildLog(const std::string_view& buildLogPath); + /// + /// Deletes the file as specified by the file path. + /// + /// File path to the file to delete. + static void deleteFile(const std::string_view& filePath); + /// + /// Deletes the folder and all files in it as specified by the file path. + /// + /// File path to the file to delete. + static void deleteFolder(const std::string_view& filePath); + /// + /// Checks if a specified file exists. + /// + /// File path to the file to check. + /// True if the file exists + static bool fileExists(const std::string_view& filePath); + static DWORD execProcess(const std::wstring& path, const std::wstring& args); + }; +} // namespace PlushieEngine diff --git a/SHADE_Engine/src/Tools/SHStringUtils.cpp b/SHADE_Engine/src/Tools/SHStringUtils.cpp new file mode 100644 index 00000000..a8dc4a0c --- /dev/null +++ b/SHADE_Engine/src/Tools/SHStringUtils.cpp @@ -0,0 +1,52 @@ +/************************************************************************************//*! +\file StringUtilities.cpp +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Nov 29, 2021 +\brief Contains the definition of functions for working with strings. + +Copyright (C) 2021 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//*************************************************************************************/ +// Precompiled Header +#include +// Primary Header +#include "SHStringUtils.h" + +namespace SHADE +{ + /*---------------------------------------------------------------------------------*/ + /* Utility Functions */ + /*---------------------------------------------------------------------------------*/ + std::vector SHStringUtils::Split(const std::string& str, const char& delim) + { + return Split(str, delim); + } + std::vector SHStringUtils::Split(const std::wstring& str, const wchar_t& delim) + { + return Split(str, delim); + } + std::string SHStringUtils::WstrToStr(const std::wstring& wstr) + { + static std::vector buffer; + const int STR_SIZE = WideCharToMultiByte(CP_UTF8, 0, wstr.data(), static_cast(wstr.size()), nullptr, 0, nullptr, nullptr) + 1 /* Null Terminator */; + buffer.resize(STR_SIZE); + WideCharToMultiByte(CP_UTF8, 0, wstr.data(), static_cast(wstr.size()), buffer.data(), MAX_PATH, nullptr, nullptr); + return std::string(buffer.data()); + } + std::wstring SHStringUtils::StrToWstr(const std::string& str) + { + static std::vector buffer; + const int WSTR_SIZE = MultiByteToWideChar(CP_UTF8, 0, str.data(), static_cast(str.size()), nullptr, 0) + 1 /* Null Terminator */; + buffer.resize(WSTR_SIZE); + MultiByteToWideChar(CP_UTF8, 0, str.data(), static_cast(str.size()), buffer.data(), WSTR_SIZE); + return std::wstring(buffer.data()); + } + + std::string SHStringUtils::GetWin32ErrorMessage(unsigned long errorCode) + { + return std::system_category().message(errorCode); + } + +} // namespace PlushieEngine \ No newline at end of file diff --git a/SHADE_Engine/src/Tools/SHStringUtils.h b/SHADE_Engine/src/Tools/SHStringUtils.h new file mode 100644 index 00000000..abfe9146 --- /dev/null +++ b/SHADE_Engine/src/Tools/SHStringUtils.h @@ -0,0 +1,81 @@ +/************************************************************************************//*! +\file StringUtilities.h +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Nov 29, 2021 +\brief Contains the declaration of functions for working with files and folders. + +Copyright (C) 2021 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//*************************************************************************************/ +#pragma once +// Standard Libraries +#include // std::basic_string +#include // std::vector + +namespace SHADE +{ + /// + /// Contains useful functions for operating on strings. + /// + class SHStringUtils + { + public: + /*-----------------------------------------------------------------------------*/ + /* Utility Functions */ + /*-----------------------------------------------------------------------------*/ + + /// + /// Splits a string separated by a specified delimiter into a vector of strings. + /// + /// Internal type of each element in the string. + /// Read only reference to the string to split. + /// Read only reference to the delimiter. + /// Vector of strings that have been split. + template + static std::vector> Split(const std::basic_string& str, const T& delim); + /// + /// Splits a string separated by a specified delimiter into a vector of strings. + /// Overload of Split() to allow for string literals to be accepted. + /// + /// Read only reference to the string to split. + /// Read only reference to the delimiter. + /// Vector of strings that have been split. + static std::vector Split(const std::string& str, const char& delim); + /// + /// Splits a string separated by a specified delimiter into a vector of strings. + /// Overload of Split() to allow for wide string literals to be accepted. + /// + /// Read only reference to the string to split. + /// Read only reference to the delimiter. + /// Vector of strings that have been split. + static std::vector Split(const std::wstring& str, const wchar_t& delim); + /// + /// Converts a wstring to a string. + /// + /// wstring to convert. + /// The converted wstring in string form. + static std::string WstrToStr(const std::wstring& wstr); + /// + /// Converts a string to a wstring. + /// + /// string to convert. + /// The converted string in wstring form. + static std::wstring StrToWstr(const std::string& str); + /// + /// Retrieves the error message associated with a Win32 error code. + /// + /// Win32 error code to decode. + /// String that represents the Win32 error. + static std::string GetWin32ErrorMessage(unsigned long errorCode); + + private: + /*-------------------------------------------------------------------------------*/ + /* Constructors/Destructors */ + /*-------------------------------------------------------------------------------*/ + SHStringUtils() = delete; + }; +} // namespace PlushieEngine + +#include "SHStringUtils.hpp" diff --git a/SHADE_Engine/src/Tools/SHStringUtils.hpp b/SHADE_Engine/src/Tools/SHStringUtils.hpp new file mode 100644 index 00000000..5b4caecb --- /dev/null +++ b/SHADE_Engine/src/Tools/SHStringUtils.hpp @@ -0,0 +1,46 @@ +/************************************************************************************//*! +\file StringUtilities.hpp +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Nov 29, 2021 +\brief Contains the implementation of template functions for working with files + and folders. + +Copyright (C) 2021 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//*************************************************************************************/ +#pragma once +// Primary Header +#include "SHStringUtils.h" + +namespace SHADE +{ + /*-------------------------------------------------------------------------------*/ + /* Template Function Definitions */ + /*-------------------------------------------------------------------------------*/ + template + inline std::vector> SHStringUtils::Split(const std::basic_string& str, const T& delim) + { + std::vector> results; + std::basic_string remaining = str; + + // Go through looking for delimiters + while (true) + { + const size_t DELIM_POS = remaining.find_first_of(delim); + results.emplace_back(remaining.substr(0, DELIM_POS)); + + // Check if we hit the end of the string + if (DELIM_POS == remaining.npos) + { + break; + } + + // Otherwise, cut the remainder + remaining = remaining.substr(DELIM_POS + 1); + } + + return results; + } +} // namespace PlushieEngine \ No newline at end of file From 1400a25c4d2dd9357e452402df0c463d89993920 Mon Sep 17 00:00:00 2001 From: Kah Wei Date: Mon, 12 Sep 2022 17:46:01 +0800 Subject: [PATCH 03/32] Added SHADE_Managed project and added patched premake5.exe --- Premake/premake5.exe | Bin 1371136 -> 1594368 bytes SHADE.sln | 6 +++ SHADE_Engine/SHADE_Engine.vcxproj | 4 +- SHADE_Engine/SHADE_Engine.vcxproj.filters | 12 +++--- SHADE_Managed/premake5.lua | 45 ++++++++++++++++++++++ premake5.lua | 1 + 6 files changed, 60 insertions(+), 8 deletions(-) create mode 100644 SHADE_Managed/premake5.lua diff --git a/Premake/premake5.exe b/Premake/premake5.exe index f081fe1f6c990b2eb01ef5f3143857176e479bcf..c25bb3fb7f81d1c9647bd0e565caab567532570f 100644 GIT binary patch literal 1594368 zcmdSCd3;pW`9D6{U|8ZEgn_s+YSd_4Vxu(}s54;#cVHr+prEo@6mdtG5pcoaB+B%9 zEp4^cYFlmXM{BLsY7ud15+DgiNJK?&Yg}4S9MQP3S)Jee{hT{X0#rWB_m5v*FPOWW z!6Wq4sty;VB=A%bHW>s znmYfoMZN_Kueo&LMOXReUUc=<*F=0jy2Q6IdbRJet9`*qQ+!ulbMYmo6c!FFcADOO z-XnKDf9AT@)W1K@Xl(f}-2ZV#Ysb1 zBj={d^tg_84az;}C|B(umuq;TJYHwGT`rGY`hgC8o$GS-lSi3f*W*PR$#|aUnzKAr z$*Jp9%>1yrZkAUr*Om8161ika1n(X{2V*8c96O06>(A$M%{gV^#TP{`a=8}P48|SG zoP*z~_|5wBgRD-`#aund;l<-4T&{!h`#bz*{rO$4##0vPf-**o)paWhJhfLj|Lh+I z15*Po*9;}jZ9}2O+t+YvOsie_D&6><;Dp(#)HLa_d9Z7PXP(a;`xWR~GwC z>&9Z!v}P1nn6Y)fz$^~JKScw)?HSIQIvLHCZ!qI-Gj8%9+MI&n<=TOq)+#q?#f**h zcv$~J!GW$Hwu8kLYvi@HP2D{t2XJ?q4ULg2O>3;rwA?`3_16tXZg)LVo*60gY20V*O!j-L&V*)$;ZsWScIifOq zO0H`6qzAKru#_eGg{`%w^@?eYlaa}g&f$=DTjSlaE+e)pH*!#HSO4f>OuZRfTaw7* zMZ@L@rlDQE_)RhySS`4+y)(Za1XQ)Fzu}?G3`UMw^mF*L*E$2*Bm?^1*&I-6zBr5{ zj>j-e3$xJ-tWG8fZ&+hfARG)3BKhTSCIH4^DKHK*t%)90egTQ5-E8Gf<}zEyf+x$b za8NZ2uTwLS)t|MEec1(1L^zS@E}JtGc`zq3zr2xMqDZ5R+!eO`?i$cSxoOpUs_Jgc zO%9Cq3&m7UwueO8d`GFDBQ zT3x;aE3odpycM+rTKw+*0AjkVkg?OvR(}!KO*p>5gMYr@iUk8rYdl~qYxTRw6RFmC z065;`36EM(MEE+?D8PqtUA}t|>RngDNBsgWS3{#wuUNzO&c!P}HgE}JzQET7=k?&$RgJ;?F+h0y9y1B_rz{+S4RrK91>pB8ia}LQMbLx zx}CvM3*6Bo!-U`JFym8;eIWB1+w8#-=~B5%a$JdOj&6s4mp@V#w(_ctRpx-ej;8#` z(Wd3^+2J3M7byb3MS;3^zph?k4lu32l2F`V7LEs&u%_Yh_ZUNRiIA=}Sh=A24z=w# z_CDShwvRn;;b2$DdX)@AmKBC>RK09X0H-)R)}0?Ii*q&>kJ3KVHk-N%LV5n8m9Zs7L!?N=Iqsz7 z`cSOJ6N-JBV>FyD$i=Y8Ri^6|1;#Rmd%%2fm$Ja@z^uTGwf-sR2F{fgP!hHRnD}kg z<=ey79*l06gY@l1txp_}LH7vOk8rMv5<^3l*`wOu2Ht@&Of(R0&Q+$h zF%Tc0&q1n9=ek{?_;`19{8Y1HyK%?)U_jgxYhREhj~#S+IDT>Q9FW4q1%t6XBE`NM z>#KS5=B4(_kae>=l=rPUcS|sS4d}Wm83s?Nu>w6=^MP$E*5u5`i+jz-+&1%=7YR-% z&n${9)$=h~<|A-8_!Q=&3-i&&`FP3j?5LXj~th`C|={ms}?PYx%%cL(pKJHVuav)PycbYKNE56_RB8rzje zDqo*C$+TW3fBg5qxLC#(g-6X7cG9js+Q28M9qR^YpqWO9BK^Yv7|XVY0EevFp4jz+ zbFKq#0uP8adJ?0upiZ{Mx^nfHtBQm^0q+tIrn@hJ0$vg*5OToqhWCQ^tbM^d9{c=W z0Ou0m37kt`;;bxy1%}e)Mws)^W z#%A6GO*b;H`Tvbx-|5d@WyiwmndYWYaB9ff7`6)*e=!I`AvT=+fo8HPa8}Trj1Dtn zyZc2yZXFL9#N`UKqBdE`qQmZJlp zMpq4_U+WEQ%trlYjNh~-d$=J7e5PG^9N`A@_M6s6VQ>#KXnjl3qf~*){Xmb$Z2BhO ztZW9~Zo^XM-h*w3OMqLU+3;qxAiltzfM`vgtA6t-*V2F5a7}LGvf(al(Pcx{a7-iG zxz?RHgpHiP&qh*mfHWX-z-iLJG*3Xd^StD3>tuF6Dq|zTi*g`1jrXjkkzrnrybIa2 zJ+c=XcHo=XuAIde#CGRLPKxaYk1(;HpTLT5zDKY?V`+I~!+PBmtDDxr*zt?Z(pQX; zb?6TCHV7m)w6qOOD!I0yG5SfvhJbNrYs2;>mD~%%b2o;PO(ATX;XHQ@w!80fwln-V z0Q3<~@ES13@g5Xem`D`b)j8q0ZLC(4*A|XX@&v5buvR~0wq{^s5*=jrthFJ_^Pk`$ z!PJ)TXxQL4?rgDI($zBZ9O(HGn zFp3&mw-DvZkv8TJdRCTcWx}}S52#}=GJ5S_=k=KO*rYWvzx)ugUI!t7)%DZz!!`(7VQVp_s0G`>Vh<+yG|V;DF|>xa zjax4RZ{&iU!DVzMHAFBE%|z=GB6x}uy_ULF>$)H1uunUskh)c&K7*B zbPCA;b53DMEZn=3SOz-esosoQ97AP5i0iyD`GxsN-N{Xh=pz1V_!wj}DOy#IFfp z_AG27GHR?fNXLGEVATA<*A0Yh0rWR}5)~r#2CUa#c`x~5>^%q+??J$-Es9;Q1)%G- zKv9(?VRa@TP;9~8XMHT#QIiG|GgGi+3+nht2&i3E@Nq-3+WI(Py#)0D{As-zzq5EH zU$Oltwe$DO8i9`|0O zz6o_PSWjdqI*1-*Lc#Y1xVg6a5-p^s+q(~ZvgS0htfoC|PVq}pn`&Re8$k`w+Jg3- zX;Wu>4f%u{y8tt|a@??IxDbLyu-m#COh!)@RK$ixJZ{(?fFO2fqoul^z%8fja8w)? z86F0M~mpbIVEw1;vPUquIo?SP1zi9exGmk6>~4@(Ti4P^6=c~2O@#n(F+ zZrC2h@&(4bF9eIyOTXIs6w5x*Pv2R3c1=r9b`rKPO{yfh?p-jNI3*muvCnc2iKHk7 zdPl=Xnp=Ri{?$OG5&T$&0JR6Cjg2Z`+_f$kKPnhssxgKwCwmoSaj%R$<`83A<2>V( zw(I*D^=%sEMdsYe*c><9>g(#(0ouiuQyaC?K9hppUxPOFdbcrJta^-s;2qAhP1Q zgR%B=Ql>9(eP{r*&~eJ`s&76whPYvhprI%I9M3%2&(uypjL8)P%oQ;4L+Btm(#9t| zz_Iml;3<0$1hSVy#$UFE>=4GcR(<&q2?3i*$}s3)DJ^g6t@&KA`g6tPVn15E5}Sd! z{Nn}rE|{A_b3YqZu=y_|Tw(k25?CCot*&?#(D!*@MYYRbl4Hhip|Xn&!Hm<8QH2Jp ze9;l=(3X72nT4;k=DXA*ANF^}$J~xq)E8~}*z zX?|R==4j{1nRp_+*DgH$B8oEPzDu&X?H1jT{Md18D)fcCzwg3e&fKbsBEj+of)gjFo?{MKiBk|Ix`eH1}=->P@_ zki0a-oY0@wTVU-R`!DEas|JrSlg(#^JxQZsi!7x*?r1lW1N1#Go4j+1kBlx<34(YE zC1CS(>dKNSUC_})Stj~6{DVcA*t}Z{4fJMe@`b)!;RFer03G7lD^0+y` zMi;W~;4)BCU(5$RhT^yCMbWN~k!GTQud(FOn&Uw`-5s>AScVw+e%DGhK&!hn9~t!* zgX=o#eD@W&#@x^RCrP10H5@(&Kt*BhlX-e!R%V_~bB5M0dVDB;WWa)f3}v{L(YB|# zjH*5hSdNc#cb_W|Y(moqqv?4op==n?Z_f%2Oh(Uydh3pEw_M43?xEFweRAE8X#qj`b7W+CFJerLF1&xHFU9(O&p9pIRv;h5sUQTp9*OxJKsS0n#392FXl3bhm7OfHm*QgBpgI3_!A z>|6^t+BtCB`{sKZAHP3DDCg?^jB$>JVUD_2+K!CdPdUGa!LJrMFuV=I5M1~*41NcO zMSvkO0RUX?0C2Ph;7o^fzxY(hza)$NYj-$gHxF&D83wY$HpBTn9&HIja5&%bhsyXH zPK6ZN{TJX{Gq{EwM*Yt@YA~l|F!r}Vm4t;l*Q{(cV%OtEVqBo|D=He!o7Th`QJCE5 zQfc(loRAx^HkNJzw-_F&fevM?sv20?c5{^-NJ2G@HPUKGlQ%|n-v!_hmCccp)7;@0 zYYX@TSEWjjM}tqatCPR4`2z948grj-#GJtnUymgQKqvZ^4L6}GO1toxj`bL^cL?dE zK;<{fpe;ME#(ENCvOqlzhRrv%ife@t3(8><2XgO$qo$!~BUu&aB4+yq#$Md3|` zQC}zZpafEWhJ1uuhnuw)$$AK4Kh2t+C%$y1r`0K#&7YqF>G$H#F=?YWf970X*o58R zzPhBwYFRS`Q_N@M@eCWw${oq%n$mOhvvNEO#eU$5lmi45!j@I4j$~z23^^4K(iJcL z3Kge2756mey8mM7Rd$bM0&pR)KQ^G7!l3`4=R0uc4>{%JxC0o_im&X?ZNX?hhmI6Y%ZuSLMxZNnD8VlO2aKR~`EwX4Ru4>y%OA#1 z>+(kDLF;lz$Sy`_0H%^`i>0<#(zQ%a|2FEBFR~bXDe$0Bwtt z3tT*Z*r4EQ({AJZ8g2f5PW5kIXEj(JY{LEVQ${FJmoHMUMB>?1VXuD+O< z<9bFLQ!RN;$(AmY%8tk&L~7K%Yt&(KreY!l5C@7yg)HFKE}2AuXhz|=jllVPZ-LPy3Nuu^thCwTI>@~D4r8Yd3$34sC-S|=9hkMZBgzI(53Cop^_Uv`4&VA zX$lw|qF+B~ZK5<@613K0RntOZS{v1!gL7Qvo2{+(gk1H3>2?KVq*U}bs@3nKy;!xU zhj9(sA0q!bU35BQ+X(wQFsKAXQ-u=)N-mr zErl=bwKVoTw%5{#4rAK|>)zyyjA`PJQN2qhLdDMFBEdTAP-Td7&=0Schi&Q&&^umL;lEt(E*`k zTUARi--l5~j;KQ<(3t3ODse}FHZbflfJt?Jg^jF`q7zUKeFgi65Cyq1F$Jy+U)`c2 zaO5;nNgvR55nps(T6JFju^*+0#rSi@3vd~>uPv%BPloN2y;Gnb+Q&A(0hv_v8%@qY zaWg1=if17#fv+X%<`iG0(d^OY{hFwBH@;T%9h6oAgkB&LRL8Xqt+7V5D&1ypDC zpnIdCfh!!uK*uvZ6%rc+GjnBI^eTds*B7MEA9eH@ack@Yh}{JX%T0S&4hEJjp9cpH z)eg47$>>mVuq8sazlZiIJMeWP4+bF0l0VmC>&4pyeswWrvAt;Z1k!4Xjb8-EW-p}G z0>V@shl#_>Vvq5mO-+aYIx|h2KPRK+=A&Mghiz&M!oNVA&A4@l)31qhHTOos2$9iY z*Pt|ihCs(vjCMtLl0F%4lYjQWs2lV-ZpDrHeo~*G_+0xL>e}7~TlM%Je3h_bO0$jZ z7!BzkQ6?!mxam*MkZ9>fRETL$?jdlM&5L|OZ-yr~V0hegv~n{rh76}~w@xi9%1>}acVCnwZG>xNDHXoC1z95Vxb&|u({LsKr4z9TrI!}2dLm}8f zfiY-SUf=6_PVVOvY1>Je)8k4r+32qrofF-OwUy6uSXfwRSY6`!LhX;rG#)p@!yP2! zqXutwRl`U5LktVvh{>?nVahre9WieuCJXk%ffAI{?7_6TLl{M;z=u4cfDZtc?I zuLtrtRF#G=$r?mVz}QQH5|D7y?)-)g#vR-At0FPc#g;JUBJCkLOKfyPNdHYA$?Fh( zM!u$rqEv_iwl@Gk;~Lm8*tQm$UZl(v5+_tASKDE*w{X3srZ>IbUM7AUGxMKXkeT^! z1b(Fl@@?`3*acx83|Sk3z)^)n=5Xw=d13m^rd|2a2%)uwOX2PfqfY6>3N>kh*2~w* z(%$z1f%=kOAS2i51(J%DYgdI2?Q4OId{yJ(=1({gW46|Db`c|+Oi9Lfe2;vUlJViM zP%>^+kuOq`@k0Ghy>muNGMlX^E+WnQUpq~22zKG?07Wf>V4`0gcx7=(*xJNE)>eo% zm>vucDjsNgLyj6;=7u>1!ZOT*W)nK85bvLK(*10OJ6pf=(|LO?t@s6yeV@a6!jgk~ z>eXQU(c-)DOcdtbs{Wtof_v6wC}QFrgXl3oD=vuGHk$2US)|CMc!^(VXG08SK$q8r;&AT1#1O>ADzP#X?f>y7HBYHMS)QN3PE z&>caedZRk%Ly`n25d(b^1?_Wd=v;jm-39Gxgr>BqE1sar-sn|AY@(tO71`qo^XE0n` ztL&5A5Mr;^!{?-aVf?ERW>Y|+i6uVYt>dV5M65$o%hw4h!kjUCE$C3&F9^YBLtq&& zt#uTn8T7mSV@(F1neq7)p93$DdV^X5@M-e!nU&{g@_2Uqe#iszVl~2LX%MZpS_03J z-U3GTI?%=@{A<9zatz!8}l#MU#I7v<+>8%L3kVc2D{V z#xHWyizhvs%h!EX<_|1Ldv|0(pajGX|ZJ4BM+i=g(RhfTjp(S!elEM~G=_5_C_ zU_#+-Hc@cqNfg{#HUDsC@-cW=GJ7qr`r2=t;{-l)?w)D}E^e#ldOwAm9?UrqGZ&2o z9}!Pst5H83&oc&Sp05Ek07kSr4{ceHIkc4b!!G6e9Y=Eof-Q`CsB35@>T#mzpHN~4W)3-7&(Bsji;3F~6w5xk4 z7t$@=*VN`CO{OhFnhqWNQ1ChW6qdeJ)ADd(_d`$w_I$gmwWD<_)?ZP1zY^-6>+rM!-%=$DM(3$mr5K?u2_C ze6qGxV#d}N1@r>6y)A77aHEk+5wydY&;CAZCClC8uYPGXf$&A z(!IU)E2lSS_Ob|SBqj0xB|R}X4eLrQ;|)8O9cs>PG3~6Xz}e z)>&n9Hz86TUa}VxRa|8gL2ym}#P>s~Ri@o*Bcc9dmHD~KhRP~yLpiLnchPDaC8@$u z=*93tbd6Ae-K z!|*X@)GSXZPip(4NK@2?w7P?L3qMZaJWh+QfKwG|V$X&n&1BQ|8;lSEyxY_uhb-x< zVQ;;SE@h<00_YrR=SutE9D>ZO@YQ!`C^BPpscO-T;>51~vZU{_mwY!r0=mnz4}d|_ zfw~G;Cj4v`)x$Aacg#}@I|As<|lk0YmjT{xUCY=V^$Vs;Gcr)!5VKq~uljjNv5qdy*R(Hr)JK z!-gmr*Q7a6izEFtOUx~AggoS~##WlQA+f5ua@$SwFzz{;zQ)@5hul-z{PHdspRCR$ zW$d6~GrO3CF8mNq;OcFPVBw*Q7aKO;{0UggK#*aiz@CtUvz%zD99;+ODjf6)uB|qL zF9xlxfy$;EAFQ^QCZ8XOQ8Fg*1**e=(si+2-k>q*E2>=wGuqPjHZ^O)`Rr|M=Hlgk z8s0)MEppFN(U82yu7fu3M{x7rTaau&vJY`Tfb`z3M*M;YgzL~VMOVf-t(YlXc#>}! z;wh&AJugO%qd<{tYiI=48WBi|flz%l^twjSQ? zFyj+&r~5ap)8s(O$kF|xIIVC>BDZ`yodiB@yrc%@Jq(b9u^l`#Ajh?49)Jed>yKyZ zqZj*&I|kSpk3)q0#D0upkka{~SV}$|IFrspFo(r)0Ax}{C~j7)3F}6hF-7VRP9uX% z&QgbZpg$Z4(7RxN;mq?@u#kAc#SI7oe?q0fl9;p*)EBl+Y8qu~Mk z(gtIDzkET@^JOqWnsNGT+_4S*_&M(GB`BjCX7F;y-VG1d4gUr9yhI7sXt8ebcTS5V zq{aTJ7QxPX6E!Se?WzhM6?(eJHgx>K6|hY)1|c1P05iJnJ(2V96_$ukh5w7ZugSCw4^-4Osz)C0FF$PfrJ&$JQ}q@ev&)M&|&Z3bFB1J z94hQk8xS2r*QHqI7)O#+|9Tm$0y0Ly(!XQ8;!>bZ4k~U?SlqXKj3#HXNj7hLe~(9a zsV4GK=FicGQs>LC9awuHYrZWFY*TNGH@qE6O0*FD+qGY-%h~q{2!v#e1!P1*MSoMz!kJj^!^9Dmst09bv+ORe}*p0!0rq%xXQ>6a)vBmb*g)$l}3Hy zD-0HvT|wmO^Bi)6yn%p@6;&WG9FFzj5YlGy-@u$O_K)J4)RyuYxvzexxo`o^oLux|J_#%M7v;P;mV!GrM+;C=0L6c zdaq}pZ@dsq*d^jKG3^_9ENPoMpYac{5}B~;6P8hEEfxQ+UiyMvLtnrzTXg6#Ex#~Q zCuAuh26g=Dw6?=0Ik&9g&B%z>989!U#Gr=rx_dePD}OV7zT4WQ4^xe%a~2^uBQzb3 zd7gB*o@?WCDBpduyM=94}f$SPwv?oM7vM&Y(u62SvRtThtT+pp=<9 zno16j1p?lN@S|qGD#JvBaTQWGh7U^1(Pr!#j|Y)ph?6J-u3`KvLI#Hl31B-FN~5uA zB4T)y=+zgb}pKn4ehA3B2ripR%JM<8g}%e0jwCb9BvJV4=T~#nYiaf|yBIg#C4-qOPrJ&?}i3f{1FBB0!Or1!Gw;M>>8^ zOayR*Pevt_e;r0kI{5;zrMp~FQJ?blk@}Fbn&iM=LF5GH6FC%QQ-shAaJV+uT1AuW z;Y3`BW1NAma2$CU;E$B65(XethpbSSv1;;w9nCnZisUNLNRMSBqLCJcNO*1PUspk} zIEcz;-FwhI2R1|V3|W)AxRM{a8EAk!;dGd<$u^VcD3E48K1l;mpwoDLOa=o^M#g1$-p4xZ@!@iU|w+G>4-c8Kz* zIv!=YxS?jnnB@fs;w8r5AWn7LU-ZP#_V_*PZf?oxJqB< z0pUi-e%oCcGaWi=4xs;jr!*n-C-CSkE za*biE90nz2@UKz(ZwC(!xuoQ?)TW>2hY{HKK({!On4-t@jxX$x4Wsqc!`}GKwpZ!& zPCiIBh^tgVXd~8VrZpWZX@xplG=YtzJF5pFJ9y|xzK-Pw3k43Rq7qH;@vHHi=i=l2 z*kLWVJ8g-_m~r5l9`pvN5nwK>o*V?-c9Z&kdeTzoB?C|qj#zvG5AW5&Qi}~gfabYf z!`X3Qsk>l!b~8}kLZY1)1Ibs+cph+`O5P=VFzHKD(SaC+DZvqdt}x&b#(>O4<2<3# zM%bv0SeUza-i8VGNx68VpPI(l?huYl+%k?YkwH$Ez2!{a+T(mAULd{09Mv!44dcin zMx9h~k;k`oBNzvjW+RIhqk|xUi4@jf{So3jr7#3WKnl|$82C&&iI&J;5Ur;BR!kqr zj9MOP2olcTS+p{O))%)xEU>*-{uLOH&nf{__$gD*0rO0TQi1h!nuu(6;SvCdrB(PC zbz9(p67g{Mp`|ZKUa{sb^)m=T>6}#6F!!VeNLlO;&?|{O2rDM?eOO!7qL-jv@q7zW zA|!&hc|sv3$;I!8r?&UyC$#c>6jwDj=zuVR%%%gPH)+nm!H34UKEQcXE_)P1IX@4%#!(l&V z0BPSe5vMUtM1N~%&`KsoJ2@iG{WWFx>`>3Kb@D_H%NkI(RL4wTJBTsU%u=!xKDnqb zJSysnOi7JBE4=n7ZSVdc`yXkrM%ofk)kgI??2u3&BvDA4`r`(YKooHpQ77yl3=zll zTkUDzs^^~MI+3%d2jY%|gjEGLF#+-4xn^q>S2FSoR=Hh1m(H1)dLOo4%qoJg!c-|} z1l?x>zO4BulBAl}=UBsM6k~%En+dd+5RfTHZX<{C>@db$xJeG5JBk~q) zptK*{Ef|ry5UWPO1E!{;iFAAYp{OR@%GU^|>JlWv5z(n#^}s?PkkM|z^ECosYA4jc z3>R2&E3uXd{HM*rzJ7a6PQpbQE_H2iihV7s24sO+U@JH+FM&; z1k__g1F1b3EM|gR{e2`|yOD#_YEk+%G*0-v#NsRlp1^83dU5cvG|G_OalZwo(iMmy z!c%l^Dr1cOXmKNVpVWznfUm{^Q^9hg6u&!MS{C9#861p3$_Xa?XtpTuvlqSUDWF`v>{n?U9gYArAR2_XJ@ zExYkH5$H_KSU*ugmz^;b+F#B{4xZWw8j1=~2TZ9tCLS%v{ z^htplYh&Uh=cLkbal?*JXZh<;`PY+Hu`8k`0&+q~F{G`(NSDaDoyuGqz{Fdyh6_xH z6Nt8u;O}eD_G>1>e17_)3j0h#*VdFCF+& zU|}L*1Q7OyV{qDuPf2aOM{VPP-RjVz`^;S&vACGKBeCSV&&F!)MRqg(Oyf9%S>+%T zf)8aWK{D&11-Xv2xO^Q?dgv&<*)ub;kMIK=W1_&GvzFWl>AASs;4f7Qyc6OWl4;Pe zTn0q7W6{uto;oxUM9}I(ucMdPI+OlxmY1T=5fAFexsab^!{Xw%y(`c}I&NBKL0yt+ zft2ZX>=TgccB^*i7=SNZpJyCqwv8BaUxzvdgt|8~%Gd|Nro>GzrokPHox=9{KvSrT za$R$SlLab|%>=E`F6@q70T}CWUIp_LVCHDDRqQ%&v@t;@BCW(f{xYM~>xs7iO?(Wd ztal$Nex0>{=xs~_1bS^>2#qUshp;OL@^-@&vg7UAfQKT%eS^DRh$g5&Z~3=VdV%hOQ7wSx2Vx>j?dKia;WZR-d> zb!!=ch5+JZ02Lub6zq)Q6Wm=Z*aMCb69$k&1v^s!l-cqJ^22tu>R%}VO3nlH%CY8y zqd@lXZtEZRZImkXOhBY363)kwmLjw1>-@Zb0LbkR&~BxUgU*0VY1qeWsHJRF-bXnF z=Xw~ooHH-kunweygI=h=QN@w15>gnEub*4hV0OqRYs9+qV!LyU+twFgo2kZsXadaZ zh}nk@cD=xGDa0#Y%spR@|07R9wa2)H_DVo<@9(+OURgYcG=TG}OnPY-UiC8`J5mz# zcrolHrd5M=((TbP{Mc>ltML>9x>4`JMUAzt`x5+Cew&p`pc?5=X>F>8wF#4m_{Usp zlN0=SYbGqq_{nux_q|ddgz}(EuQlpt;)Q1CM*aO@RY;g?)W3p_he>mbIOK-2SVSOy z;}HygERGRiup>mkfz`{&%TTRNVqpzmhqi{*coLO_uSQ$LPR)jIWCp%{g^hs~w3C*M zhKGSgbcj@9+1P~vZfhc_d;5pk^ge8FGd+oN_BIo}t@S64M>I$2PP8$c`R4~n9B9wY zLm0I@cPmODLXEYyA*=MzD4b$>pu&1g73ZjH4MxfozYggxA!$xLl*cxaZwUo2L_rAD z*2WqmxK2I6;wPf`|6@4wqWxg~8_I+#Q+X_=T|HeSL8}GEw9N^=!{d1&V_7FaeC~I8 zEW-$#jk*1Q2^c;tRfDIYxzf^U#ya&scHFcskH zW>25s=KqWR76$jpnJA`l%0_ zOd4K`bMM24!N7{A(*rL+f=C8SziQaN>~QNV)B0xTJ90i*ly-IAA5fcliF-oG!i?iw zbSI3CP7r-(A`hL^SkO4y)u2WWu@%``G0cWB7zNFl)0x}3mR18u zvl#Wx*N~t$2n!R!Z`Wsw@H+hVi1H1Ne*PK~~#@&1$RM8*3Lz$wFeK}+)3B*zluBP9sAnJ8QEy?m50kmk4r=ur% z977Bb%R)vj6C1IK%)naufb(a(kAY`mnbBrsh{b7F{>3=hmvQCy_T$4Q4mZ9TH%su( z6F0?)4+m}$GIN>m-mjQ22qr0?s4?2GkoMxIlznrQ>BL~%dnK0y-RqDc9q&40bs6CZ z{wJzVD)QUewr%fkh9J#sB}_x0kty1r^%S%F zYx;(L_o53pw7gYlJFG)YK84dsY%?^bq>Zpi!T)nsoZ2VK=^jWDnOeL$`S-A#YF0-_Yrvn$@K5TXK(Crdj@*FVF{^2rYbu+thEuXfwa{K1tSQEE2 zqoI%=mtkvX*7>oqbvHs+sj;uiiGIm5pnl5ah~s>fmN6gM1r8LKx$wt}5*Hd!yY9tz z!Q@P@Q6J|UbW(>G^iPDWoo4A55!6Jo#V~a7%72pM!6E=X1OAUEX`7A|mzmZ-WWL0o zQR?_JQ0o<4t3Yaj&meH1O}+kC)&i56XdiwiVFTtCrGbcAG&c|c9wgO6)T0ht4l-zl z5CGvnX{{SwDg7l0w+59L0wBw1P7}396U7RKW%gosgj6`{dpXEr7t9?a(w~Jo4q6b2 z_7hsiu<-Zedf_-Vo9UGd)-Q=B_R7R9>*qU}%_{@JY>-Ro7eFW=c$z+@nhioq{oTn;5m@604%awm0>hdWl0l!d^{b#@vkYh9` zBFrwlK7><|&i+F0?Q1l70IBe&IFW_lxudjRtouP$Uep7l?o0*4a-T_WGR>W8Bh41U zoM*+J;c)oOlEsJ0;OUcC)AXXaV)lcW?rD-?;cdWcvfyU7wZgyZbSoZTj{<4PP>I z)rc|yeyaVM+00;0DzUF{DUQ1+awPJ5aPUF!L=w4CKLSI6JJ@JAmSYn06}fi1`fQnA z2S)vuFz!eZ7m85!vAw}NH9g)=>j}Sj;;h1bt-sYi_#IVqz1{(_5V8DB98X%q4>Agi zHcN31al3pRM13?w&<%6?nAiIcb_GP{;i{_cy?Lh++;90GByU;ua}E8~e{%Zzziobm z)4ZXZ$9O>q7QPh$tBrw+V8w!g3z5pH(ML_ARg%u9(}W8L=`&U>sK7JSXRPy9X7dkx zAE=M80*^9yN88WzX#G#hXaUZCLCLJGaa>!>iU_TyljLylvb`2oa*jMggKn`%VQe{l z#^&VNT5~Fy2h8e`ySUd#2xwjlwu9^>ZvBzO%@I!j_Fwy*m>&o?-3KoA;-~w=$C96F ze3bnaobBvl#`cLs+(_mK(J`;3AB=iD!^!jBnW5D!8JH{6R+gH!fc33pY61fcRDN>f z!Shz?mTrYXCE1D$sXc7Nz6mB-k&Yc+GnZ^n)Y;Nb_0b*Rsu`d4i__=$f#*gO-W=ugiQoH)wUEkH;EB``zglsWd`}Yon zKGjcjfA>Ewo%kgG9$5phf|E%;oJuOAD$3kO@TixrM|!amd zx0zb!aGPx+_6nncARM-u8JiB#_?hl+AmoXSEa@Ho_CVM(@Zl)Pi)Be~@-0+ezK#vy zBOA8&Ck}u~s940tna$}lHp1`3zeJ;|wGGF2a@6riam&o*m}Iny^T3_zV%cNl!we@f zVZH7BAscnJPKd6m3N{d(J|*K9+4}^9QzPv+5>GvX>+{s_ULq6rpUdEk3IXOb0p?e~ zCNR)7Hvt%<9wFG`n6_(k)y;gxhi!NmSnbCDGy_0vp2}}lwW%KscjKEEPlJj#V!^3n z=y6Ay1`O&_92-D!i~t!!h=f|IwsX|Qxo|obshRwNCb&!8Tc91vlnQUV1KtaK3T-12 zvuO2XlbR?vMb-4!YpLo(E?ZYIYvx+H78{1fg>w)@cdLtJQ1Dwg6JK(Up6HKs+I*7z z=btidb;TSINcl1$kgQp|_P(rHGwL_MSjM+dj;5mmaG9&lks>;u5aFc`SBsaXU0+OU zp}IDQg@vxDv6bNtvm5w3_qy`UOjA-Kq$fm}^xpRdDK9!0*ty4sLzX!wq%}X?AV!nVOfMek2TyKXjn~{}Q!i7yN&Fv}Q%=-wQ zV}&6(4ol6$9j?{5RH+D`&qnoY`Nb(17yr6{j{nGwBUDSlOzP!v zsB)(aMA*Z(HP)t(F+M32z%?`vWXEjU4UkGOW}Fzrdd3SWpiKQXx)@Kyb(d;M-3o4j zbJQNOF}6AE?-B2o6Qp$ zo7Cz(ME*wgIDc*LxwpgYKY}lQ>%91-elZL$MCi2I(W480vhvmKBDEiYTsilA*k(XX zuI>vlsLUFaGunP`%8%3i2f)12GZsp6Cu{%>?K8- z4s~{v@(TnpM}O{6Cr{@SSQjBOJ7FDBIEM>g`>`_}$TN(~@}w4{B@Yv5KsEf9oxwvK zCo5I+-o?&2KDYY>kP2qGyn(ehs?uFFypVn1TML=e6(}upjdPUJI7Mu$J>7T-8fR;7 zIwOiL*)`5+xL5A{Sl2Mqh+PpGXMrp~1n2L=gve`{9_Ay_H`yufD%2;p(rR1n!S_|> zkGipVG(RX2EG`Kn8l@~$*&6i;ov_9EL91EK{zy-|-?*z4^+zY*k6>rm9_DMxNOppc zk7mq;Pp|BgVss}03et4@P7-?>E45vEoV`x7Wfqd-Ji&C+raA}oWd@LKJVUyT>-&=K zV|>!R1j*sLW=AXQU!Tn`s$1Q$6(z9 zPvqhI;m5DODjcN#uvC@2{Zwg9v+xI;Dhd<5-$dBYqWN76( z;tTar?xeS#?>MpG$5x{Nm+Be6&uB|--DT92WYx@%vB!F&1^jB2xWrpbQLfx zliU-#Ill0M*mn;NR0}X{`KT~*MZ%JaM40j=-@3DB;Mj7qb5?##C84FA^t7-a{XqhRXePa%cj&$Sec%e* zYd(@qt1WNIpm}>baa8keg>ofxnOFY!m71@CkE@ZtM{p2geXk~qegcRUC&(z%4eKk%a%{8BdShp zbu_i5wySovY%&Xid8?i`IihfJNzyw2fID1uo!{Y~XjPPin~*a-wUp!+`jXF&)ly>bIfM+Rg0Fe`g`3QsW&q2L( zB%`=ouw0s05u3wwzO*(ay={2lr02%nBe-MT`Pp?5yUkmm4+MomHVRo;O+=kay*kue zI(Sp!29Z~i-f<{~`|;P~o}#q+W+<4fZnXpH^~+r9>s06?#9$6v#9;pRb}QmYwLT7= z7PXqs$q)(g3jtYn0Wc*Y)y>b7RQ>ouiF^=!`Ny@C4RHb;^IV264wIvptxdwTZSRa* z24QO^w}JRG9yge-p!G@8n`jpW>k?Te+{{<78O<|pFJ8$T5>Bgrf%<87g@Jz`4JEyg zqY0^=^!^!_F=UEFu^g~%?u^Q73;;XZ6|}F;A=N#qgJkW(KQ3qGpR&)H&gb0(jh~{{L9SOwYa5+H_YlKa?iH*&8zSC= z#U{#A|McS*#}C9)Z#;eNa3He)NotL!VFKs~G=1z*4@1G*pYL9K?iZBs+`SoJ;E6AQ zYFaQ0>5}NV_pew8*Zo4Dh{&0<_ZhD}KE@12)uH~0<7~j+ygCw6huR{7_WmOKGoMC& zjMX51&kGn=ucP;mgJPOc=s?&*nG_Q5<$xHN<1~bJZpGK_F6h+XTShS5AQ-v3)c6b7 zOy{Tt?&y&^Rsc+0Y-q1Y>T@JERBLzOObEo^@tz%iByEG1n1^g_CbG3P(xrLHFPlcK&}rG~FMf2RZT8p`Kp&pYZ{LPvgT1v22F)qcAUOFeeL`J@7KPm~Joy zBhIHnuB*~%2=^lFuCIeDs)VqyzM&;f&LZr7iNiIi!Ksb~gfpz^)zk2WLu!bulTVeX zYhLNEr4Bi`4qHea2nhQ>xi%uyW;!2^a^!dHF*lMHwy9?&vhe_9ou6T+O^G!bg9CSY z$h?_+n~)g_A41zn?=vlA+hDZb+vNTM-1EGkI3G@>KAiM6q{>Xi-4+NHBcK*n(C{oe zFO#ES&G9QSZ~(?Dz=n7$%8Z6ZY_$^h5tCDlga`WP93MoP&dUHmX;+poc+d*26>UF! zjSYdh&tde(0+e?`K2nNikT}O4mu>aC8sKs(fnO>0JsHMB{6NP;;PWYfvX^$9n8ZD5 zPSX3-dTd-cAp~W7qNhpa$GURjIY=<$NC>J=v& zlHSGZH1dW3aXUMK7SOeJ4nWRNU1E?TCt+}}->wH~ID^a*c~kH_b!lJP_`Cs?(CG~# zX{DiLN8YFil%BeuUZAO&iOylx^$Xu9E~*L3j{Qu<6ythP%qPW0k+Xi zv>ZE$fR4inJ~@JJkI8!u=CtiNh>pqb9Y!dkh>fGr@%bh5S|N`>1ex!N&mSC)FM&!t z-)ADaJxd4~2N5$5oN_)wte=3ifG*X{AVRDk#Elgg#{7mfk0CbI$U8wP9}w`~U(A;yb;=U}{Aj`42_;S=!c z1@Oo2*HD6Yd%>_$0ulEQgK@{NP?gZm103CmMnOBUh*(1{Y!T!cLqUz**l?tMNPNZ% zxyB0We(lv6p$Nq3c=x=9F)Mdk7M`R@|8#`1~)zS8xL{=|A<)YTs2R^Zav4?@;CZVOw2 z+ZA0>`HfKzghIz?MMOv5%fV8Zl{cyLZzGaQaaqmyn{&Iuc1@2uMobBLA`G9#r~45a z&Ve+%51}EJ*OP3uJ`E&W6S>LOK;<%=6j}gTDS!eoPvu z{Fo>JRYQaPM?P9tYH0|bPX5jq_gURHqd3mI*22AdKK}g(|E|El2>#uKf4AZvzb<+= z{yl(ykKo^v_}2{k`RmR(J0V4qHl-Wjr zsygAD3*{CaSPluBKE6(#~oU2w(agTnF4fpPdfviPZ^vWFcu(V;wN!?q6t8yHUYVqVnJ zfCd>wygha`Mt;=@-unTkT@Ab4RU>(ea8ww6tI_wBbVR^hhdY?+AlxLqi=GparePeG zkX3Wds2VY#JdPn6<71P$Hg&XZkK^O zyiS4?|qPA9Y0{pz=cit6lGvMABN|t zQvr|5V+8!eS(ypkN~K)ikq(KRKApRAuQ=iAN_ph?Igyp2rAVJG&=S&(#kG~67`Gpb zn`q~ULRNk&Do0xq!$NbxA_x0Jc76x>X9IEwpi2qWI`&I(@-`d- z2*njEPp?6EA`9-8f`zqN&}@iImiRFEvBITI^RnO>f_!@UIi;P_LV$p}RZu8nzoQn>1?9FVXL(PO^v-kL>Ae_o4tKU9iJU(~)-%JuF z#+lv8NWY{vM7S}D)y-L9_Rt6Y9t`ur^96tG2&?>^x7ZQ54Hl?QNQM*d&E*>c$cdJn z!U=}mro>>JSqjA(<=`U_1Ea85w8bfcpqyA^MGEnmz$3^F$)tDE-vlBoRpgzAr$wDI z=Kx8v0HUx=0MJYLB~0%AE8)_7^Cn`lT@8hM7nqa*Ns20vVnIKS3nRk!EO9og8L8Ls zWw+R#+{nSPJ^c}F+6e8)LJ1BA7nXmpXxx;+InB^#197KceqkBsYtr@~CkY?fw0*>H z_{m`=t4-q%-Mvx1Lr#+#NNSA^nE}gshaDb#mEg!Di)v@?mn2dk;poVyGDC2&J^*3JE0bvKTlbXH4n zbge7ee_ktoPn9)St0W)_!UpRBhyj>xr+-ZG)It0pE|&P6O~_@Ddedw9==tdzAK5=j z8exnDgCpBie_>YH!I9C+Nhq{g;IkC~^4J@}jbu${_Ur=;jzkM$7P{s4WL*xuWb%pO zYl*2dB8YklTknBxAh4(Qt2NsG)UI}3M)6Dh>{CJ(1o}65gis4nJX1#-srqCF*H2%| zzf8W(G;GKqV=so>juMork7u1V<;b-=1a=+HM=7WR_F%G36q3TIXm}9$YJ1(6VIStF z(x7sq)N<*pk2;KZ{7SGjNW^wTHg~A=(E%RRG<*>47mQ!#P8=pjusW1~9}UPShVyVx zJ@p00!%*9iraIIQKBDT3?@*`Se)B!Ho!46eIhmp3@?q-}VbmcATP8W*5Kh%wpQ)!8 zDU}&D>0_Gj8Nx9V!G}zj0zPlrGjl>l@NHlm0eZ68CN5+wu;Z>|iNb$kSCbvCPcA|6 z(R8IgPeHr+yyR``WN(0<=$ei2+43BXtgU%DKan?}uv)EnVr9-rX`cc4fFbB7Woj06 zO>cE)F64Y^v+i)Lcl6`aWFRZP=~^P(wnrcfV*P-Mt}Du1y4LRh=xIyo+r>*TP#59qIt z^ka6m2)`MjsdmY=1er2cq(s_k;DCyQ4G^o`;P{G>LzFKqXW%f5D88PtNoUQ$B-@% zTWZ7a6|9ztJUjj|QFiNbq61YBZiXsJ?-PHPJr1dX`#2E7CdO?v@mnSksc;M|Edcg)Lp!5m`V+L7OH3 zv{t@Zh5^_za!b;CFFM4O7aN{}hcCvmdAgv9Kc2!z@G}p6%`r}Z1;RLio1AsK^qKU& zjamuTxeukRg2(Vb&K?&2hE-V{j%Acb?dcqSR>a%KGbl;4iv^1^^L?^);j{+b(K3~S z4p_`IMzG=2TIlRu_Z83QYsg6WNsFL*Kl=PWOfu;2d$Xkn^}7fgY*%mmG+P9f`A0ls z73Y7_Uh{ty>-36 zo;tKut2@!Og~ta>TW6y~hql5$656_iKc2#K@Ut)45-^veme7_TrL2M<;(yXs6|3%- zw)ml{l^67;E&n3UW;SgR_;{Z$G=Qe~m_iwUL0kB7yl&e6^(!*lT%k{rTCTc{Ptf7) zS(?=Je$}q7fwhazAG%0CA1V7-yPC%5`cLE~N5^y3^rgQaTtP@Qas84V!k?K|^Y+7h z9{HoNnVTHf)fC)v(7=0HTn@&JA~adD-wA*!!-#z{W_sUduidW%sMSC+YANS1SH148 zzegiu&4qfEu6}d}2hIK6Gfn$%J>krF^+tcrN~SV?Oh*2}^r z<+)=xIRJ=&IjX-)@^Q|iEQv3hAQ3jjMRj-wb}BbMA{Bu>r!aD~8iWVnvB1Gz_f!^=e9)|&a>d;XmG3_V1MT%S z4ybXH?gs=+U0gfvjIQ$0)M-kw_hp&UhI0~u1 zdJWlv{D0r!NPwoHS)e%xx^9jfMf4;QeIchorV7`HToM}F6_4}X3GW}2wgY)dZwKmYHh@Sml=VZNc@U2fq&Xjjoku^#BXBiDrNIo> z>VmYK1l>?NNZ><}2-rkX?A8#CXr79vwXMCit=;Xt-EAY{(hO)4h(N$rp|%Rz);Eq;)QT*Y`G22t-dVEH(%awt z^ZA5%m-C+GIp;k4^PJ9N+@H@-`tMu2rkb%UbKOsGamCg1FshEM_&Te%!~c4Gpvc(p z&ad-wI+|>Fye1> z4AD+s$6arNk=~YD2T~pOx!%z|PGsf3F|3z; z9pSg*i6Y~PQPkIQ<9>JNd)#*1Na-W$;$5dwlDy^kZ+&TMQ!F3=@VWNr7vVQD_5cHI zQOAw%F<21umX4;sapmsZ+0pdAg2I7BGX}fYlVuY?0Yp;0K`DR2-Pv@&-Femf+%)}- z|89Jbzjxi8chQCLejbG1=D)lC%6}h!i~m0TX4HQNAHJ>t)ww15`HBvv9$Tfmb650% zidI<%u`&;+64>nIizeF#MO(>Lm%B5L;gjbt`M{M+`Q>Mc*WH=Kc5@5A2UwYlcz?jh zMKc#k2_!YS_>&Lc7cUnoD|Rh-pqkpKeSphKu|YGq5A1^o|0JCJ1Sda#AlRl{IgA{K zq2g_iAc}`7pqFXwu&im7p-%KCgrW@M#r{ez!$I3m;r~*l6p#%@s;mvwpk}+hL6HKr z58En4WEQmfj`6hU0~DT@!B#5Nrghtm-_kfwM!6=Rx5PUKaozK ztnkth=tyzQKiMZGw%M^)3YA3F;smaKS)SLu621d>nNTC^DNuJ*&^;L972-_^MtxZg zP!jCy>5;OV!}A0yq*MhHXDgy`vFUoxtU40zl19EqcN|Kpdm+IHGHgN-Nb+~9hX8nD zQ(hyXloStB98LKy{$9}f0f6LTShpAoND|j&a_>NTkNx1yGO)Ci=+`Ji4Vhv}N(`$a zX~KFQMa22;>D{6R;&fE&0ac~Kw%hG%;0<^@)j`@oa5&N)c$TNfBMIFrq1hV$P)57^GugyzET_9rv%{jx{Za@BuLLh~&*KcIb6s@KE!+Vq<>{F4t zQb^sg>Bh#7JG4~{;i?yiT3*_emAy!QwOElYa-A7t9V?Mbt)7$RR{vA-lOt4kyiC#) zm#Ilor)9khqUYGAy{tb*>ao`@k`ZjTA478`(YB^~EK9B2tlFXQx4W~jBOiaWwYhCw z;dc|o8*`-6PGbLc+2od1sDlZH3m-r?@;jFO;%IK_-Qx9`w>7(zA46yUNgeq_GF&MY zg0J8WROz;^&}7zk{ftn4y+q685-np8Efc5M8>(2hi?^rI@pbK{qTX zab~~fO+%_nWwl)4kgJCNr=tu#b_bNTOVO`AIpXT$&EZJybHkrDurQw+zLp5*ho!gCgB*?rO+iz`3yP6nngJMU`60t=xx#^X*|l8NY+<79 zLI&pyti4J&x@322eT_Knwsg0yE>F$~7j*l|lNie%s*pu8I0R`Bf|T_%7(c32_3>E_ zeiZZJh2QEDUTzQeuD^<(nnaRWo6M?sO7+azS~CL`x`!lO%f|%jx*e79X`(!``V>ZJ zxn5Sh#*q?*!QO#yc~YeikV+$Q4oaE_bMiwrTYyA_ZQta=GQ>VvU*K+E&z))Asa)a^ zydB5S=~w%c~i=Ab(KD@%b#(q3>Kk42bhVql^# zmSrnA@>HRgG{jO+GH0J{D=)~Q^ip%Obl2jD4W$ys^w?)V!5UPLtZVv%vHANs7Xy=5 zOSk<+g2!bXDUZBs`l0?Kx$(~%SyYrR4J1V#l)NbnBXMJTdUNfzYn|b&XSmtJna5c# z>5)txaU|(L#5BwgluKXr;>cRW<%+5ereK2 z7rB@s4wd%UhsMbb86v*yxlAhBZokfx)UCo+%l{dmu9tBZqUt zC!4W$>6@?iwpwV~+T8H_1EVM=X9NJYsiv!!JwgOCr$IaLGFlJLFvzLPbEp?&(Qx~p zB||-B!mo8RB*_iErphXqayiU)YFj5s*V~pO|1$87l5X414Zlod!C3oLx)F4BX)FNX zhnGJVy`at3)wL`Q)ql0su)NDjF5B&&Uiwd$OrpsF0!{h`fx=mOzK$QynnLfSzMKAG zeJL|8=i>ovaU_&AC(eMf;FN}$U$uut&CK;p*Expx#0be?!e$XB(n_qDym9Hc5^QL<>=Nr*1>=C z)ZKY;Z1x}OIjR7pnA2KUsngz?k)FJbXY(Enm3{SGVV*R>a#70Ldh`r*D9FQAJ8*(1 z3Y}<@`9J&-UrcG48`(RFu{!Ay+qi;Tsb%$xN@j11ORaT(Up~YA^b~pyqRyjZ?D zMtNJ4H)9vBdwJQOf#qP;ny!J*@RLTKTnve~N!oWVV4$=;T{JP5D)pfR+rT2Iq2Svw zVzf;*&aS*W(}u(Eru-{ZUJ{iN#$#BVg1SGbj><|W4Ul{RMr(aJ@y{ufQQ5EO%2aH( z_jRfPo;yfCVMe<1n65AAGR`-VM4tVqDjj;oj2y{bQQEqCGF(-Kne3DMJD~HM#eblU zqdHInlh1#2>!s(q+s4T)P0bd^LGmMuXV5f&F@>EjEA@ZZqJ*seED;GiQeI?ff zar|q0k_YRlKF@vkce#`b+eL_JU6ad|#g&uwZkxSkw#=j0NhBlc-*IjtYzw~ix_uuAP>c@T<`a3LF|C)* z2+JW#j9t3fejQVlIFZZHIHPqBNu z$A`7edhM_D!v`q3D_%IivoB^jfJ*Sde%XEBjlj=gh<4axX9|KQ9#b+im_?B--soJo zPB|D?9rnG7!@{}WVgJbuMs?VEwUKlpyIYatmjmC|L?v?b=9GhkeDUfU*+n(G2EN87 zOmA5wJJes8qk7og zHc_7OfqrR!(^=r;GUST~oG-T9zg$SHPCTomFmScflvY&TP*M3CSzZb~r0H+B)O>vr z0-%ORv=Jt+H`!xf>@)-YmK-8$&aQb$zU1hWKX_DM=)BkhnEqN}fyL{^M%AzemN>!NTai}jgox_ms1pU}1|R4jgn1^69?wa?U-MapuinocNyckb~ps zXXqr#j;DL$j1E>}Tn=KW+q&$v%z#S-1o};Kv-Ium)7S*k)>)dLqD36}Y* za;D};EqG+GVB)QZ&Iq55M&r)##4LTeyR(QR;!%$rx-0x1#W-NBvlk}$jBuHwUrN0{ zBa9ZisP#}qxQ<#XhrK^L{r)u7%FyqrUwwauyG^`ErJ_@4(3?wZmF~7{dB)Y9?zZ_{ zweMOp*Q`4ls#an~u&y_Brn_@aYU)p=lL0j&r7()2F-Au&0Rt(0SaK`(0ES2HyVj!d zctz)XsgnH-6z&)maDR9EvWe1z5_e}~Zhd9QU4Lh23}$b>lk_ip%(^3?38<9nPeCg6WE1)uy;ejAsTR=SI7~nEhvS9Po@U$Z zkB!!N$D|h;@96wH>F{hx(CD&1y>bY`8A9K)_&4$74uBF>26ayJ+#?iS#lh$V>i>`9 zU|#wON?PJzE)@o$&wl0#S=uTD=G$H#IR|6>gvWl8!H}vFZ`?*go|dW;E>r^RTTo*k z+in?5YcFbxq}(y$Am+i_LHe>oA?S}%33*NFli1rrtIeu|&U(!4$j7ZP06Gf4%ejs- zMe&3_XZWEor^x!04ok;zw`Z z{G{@Sfut~{C@gi!*;#zr^w5t5zC;>ucyATjF;0Ww#20l$+B1T%(DkT^ooNm~I79I! z{~*3;c>ZOmD|6ahujh2XFcNxB|0vV!%;_HIv7y#&Ive~OY=S=f$!{NXI({)*7<7$n zKa{?s0oyCkR~eaPH#!J+kot0rl&sr^lK>YP_2u6nf=YdPKnzW2qAtfVadv@y+pK?8 zfq6R7Q~#0z^G5};90w~f0h}7iu@snLwcW*wiUga|^`Q#PeEW-j9?ScD28s=ElxAwH z`V|9}!cU;=juIp+Z!TyN6DIge5i5x6sZ!7(#x7q+Zk9b@i2if>Nc-+s`p8m~_I+qfQcENOu^jlLaQcpZbU@gYbm3h4qZHQL+ugQLUS+{7 zn?LHvFHY_Ej>oOI$`Q@Q28uOYWFN$i2Js^X_N% zvK1e=e*-_J>&4`&-8pB#viLfLtyjFdG*B0JM?}a5u{PChTGpvGX=(uW;;Q2W>#RH} zsJoa=CP~)IvBofn%TM8i9arv0!Y6d+oGXX3CcC;L=;G3<;l!EgFtHo5qh{^7kTt|Z5DS|L{& zt^kkAwAy20A{Fko`_7deLD)9db!7x4aHYteWbroRrIH~aN}s1RcI3<`_~yAXx;GH# z)qz#^8vJKO92NtD!rnXV)8@(|;JmKb*zzBY5hs@YO?B~*+X-F6G}JajP_D$na0;&Q z8(!&5vuQPZBcCnFT>&AV3q6dNCN6Pz&eh3=pWhoZlaYNK(6+C@bj>Y~tSUb-Tu7#o z(mb-Zw-^(l!J`S9;AL;(RgSNBmr61=5}svZKW;8ho1uPy827I_JzjT*#^cB9^!RF$ zwV6KNz^I*AiM>zI_zwF;LB-mYPsOGTa%k+u0J*FyT$Xb0`>c{6mHS{So7r%Wy!U@J zIGdSi{jVJhrDGDx(TugwBhn7j!;|3$c1@9e{BNAsC1<*^Y~%zb{0mc#jQ|GqiaIk) z{r1~YC3{P!ZbK0@ydP&};z(fA`&X#>yP)b z0o0d@JyVL_%;w?B;itu^SOt=DzEO?rp*{9@oQh&)9S%RVUR8E0e0;3z!&;3;R;Nq- zvQ9twlq#j{jb*PorLInwy1}W-msM)-`TEQ1bg51UOHIxy^-ZU);&iE;S^B$!xHC8u zzHDiwe)cDHBm#z5+2@=VcV(5j+Nta5bg4f%z5j7msd}f>gXvP^oKp8>m7467T9z(V z?v%PEt5l9tDwr;{%PDn9x)eMWzJ(wksMFZS7fymL!_TcLU@izs7`8=V(4FN0=g4Q4 zq1PT)BIF^<2J1zF{TFSpfantr(01S-d0f=~2S)@!U@MMY_&mPWO3$U)@IePlU5qqo zjv02aRCbPmk$CVIz~sNZNYCRrO#+Rwr_R*3(~q}@`A!c<=+&%|d!_X&$I~~{>DzkI zp2W(oaBjaa?Kq*gp*>H7Ag$J?{oWB2UefY

ueQPvu-|5IYv1=(VM6-h7RCHE_AGh!S$QVM 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≧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%0AvHj5Rvpg+kjTx6?UuV(0 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 z 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

;94Plorg|M?B~Cb7Z{ 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%0DkJ0oMHXBr+L&@7PAXDNRu0TbUnuc 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 MKnckv{#&+x1O1aqrT_o{ literal 1371136 zcmeFadwf*Y)i-`7nIr=Y%m4`lh!`|nG$>%AToUR8azhAA49uWhq7`wBR1szb6=LWl zk4z3jX^XA4TA|w3wzgVD4XI)RGy!50E|!a^VAXcVL5)HoNMwHBwe~raGvN}S=l4E; zy{~@AoU^ZMuf6uV?X~wQx_yHZt0;;Y|H5HKslhM(=itAW|6?&JN}nrh`zTv_{C!xB zX~y4&&Gy{8Jay@^2ku#R=MPfvy7T_~AMmDr|L)XfzWY<}y+1W~R!Qm)9$0ku^}T!d zOw*cnmhbc>UipU+`oB&7c_Sv`eUtyT5l8uV?ufDYt$zClBkcGclk@wLz4`a0kv;hL z&m$H5?mm9!h(Y*Gyz-ADp2x30=hq{T;rG9C=8Q<<_ZLRe@2&UV<)Oa1j?9^-C^Jm) z%5Oi~yim_OuEdynnffToh#rd4+>4WQ7se}!9ghyA5tisVMp2N;|LMPqBS|6^sj-S< z4Hu-cRDpjZKU^;}kf^Mqr@e{Fap3iW|Bfdrg)T+e@Mxm4^ny%7!m7mRxdWUp1HMcB zcfI%Sm0o04499o~E*dKlgWu9Ug>-FQK{DMJF0K%S*)w>P;syu#uX zB`;bOJc#v=BRkLH-)RpNSOVkK0!wUxxg_lCaEh@g;@@dCm6}Tz&Qm{KKwzN%GOJif zmFA$5xshRQbTCOaIxO_6-eL`yYG{!(=2(bs{8OxUuFds}U8>I#%lG7RoI(dOVvbt6A}w8{*P?_))=qd-x}vNXY3C3P%ZxY_FY1t!-DVl4tIpb(Xm_b6t2T}0?piTp*vHk`EYAkB?E>RDms7nG?7E^0^X_|tByiQ0N zlLkkhMj zmm`p4Q46@Bf2CC^Pe74Omq}p~D(!?_n@|5I?fw(iT4IJJG_z{6TllEOnO3zuFcCCY zfGl;U-Jfr@`yb{8o5ja-Op3>f{#}g)#QT)Sf)x4@zZeGs-D$y~X4a<4*}8|uGBX;! zeA%3YuUTwFb85b|>|0l(vUh+(0qGAwYt*HfdxTpoJMR*IdS6j!5&owI5FHN8PfH7w zrUtF^>OYDp7Ri+~KZ${Yw2a+VN6R0{s0-w#S=G|CoWP7UyGC}ghebOUnQBpU)9g>( z>J+u#XW#&`dcbB^Y<*4CDX6Ge_TT1z)U1@-)u|T$O0(ikz;J0z`Lh&nY`7o=%~(}5 z@2|5`Z&@?a5?8G&UC6lB7datX`w#1f@ts%#j`NlJURl_MQ6!5r8c=&+6$bREIcR;G z2UOsXR|4pFr!`}DBWW#4MqO3dw*E8#Kxc`zD;0H~B`5YU#+U5h6IPoWr%F;y(ubH# zLp*e+9O9m^ae!*MReat6d;+7YMZAJS;9A@a7fWE|H=%^KO3#|Tqy1-N!8+zg&mGE*&n2 zba-{7!>L#+h8}y$9%IpC%N-^K2se!G+joG;sn)0pNB+h*F{8q-E~xMhSFrncrt+Ak zn;`)TYDR(17u&APRg~(!lkC31mHWN@s*6pNoF-o%e|?O)QWTehdvp2@lQ^-uuAg4rX*VS-5`qTrb&e+Uy^?Z6UA;Kij4hLb+(P$L-rwfWa^-|n2i0vDA-h9M^)X* z@s9fA=Ga{mXIhu1+OBjEu~pLa(fnyz0F8ozRBh-M`yZTD5y261&hIu{6ogiXk{a2yUPY+{`L|wq4f=mgyLc^WB4` zC$dTCAAXw%9vnC8*s^Si;zg)Yrns@@u3f;?K>T=in$^g##E-(zPp~+!e)<$-oqK3! zWI;&LCKrcnus<5?oU>8jTfTkFvu-Jip0B~P^!Ykok1BTmcDwg?C7`Xo-?BCoz2q?7 z67@YOi~dI~ir4C2ZBcyjr5SZtA!>=4sk4BoGf_Oa5*=M$D*tMxNpZ0z1rdEGb-%)@ zT7s@Nv5~NFKyBgi=i{9eo&xX%bi2^oCu^$J*F!C`Hkt^NkhKZwRBI`K$f%o$2bwFn zWC1T0={FEHb1YT+y~F*FSrzYz&F#1 zg z;%bx2&GaG0t^f|EN2?7}?f$9ILZsTzBo-8zq=Kq8iD3laat(j8=gV1b(h(R-xsf$| z1Ie+TjS$!vwGtW)%4iZ}J?IY|=#49AoQSDOG`x+MZF3Rnyq8qhg>el}~1rXT11N^H1x!2||H!Hp#kyW5hw|gc4 zFi7+mb=oL#>^7Pq3lHvNEIiB>kH_OcA@S8V^ho30g)A)do#u(a2d0OF4zVTtrUYiE zrDo+@RxiiQXM|(-WSoXpH3M2oZdx)iqO1qatFxfXs!g$bgQ({W13v#Fq$r8Kps`S# zco;MRSvFd2hj2>;JdkbqR3G|%9g7BWcdTS4FZ6p2U z)LR%lv}7~sM{mr<6wS0Up_fJLNcmQ@m6!Ont*-@qmUJ+tbxQ6_N~)eBranvfwPH2U z+PM2yc-s}0b`;nH+fy39RErYH)~mNb*|yqV^4VSDp|5x~sttyfAr(d%&j||&T4|m} zxIL@@!aw-NH8hl2`nqfp6Twt?UD_(2Ab3#{1QB)%2gERgXsdi28Bq0!qd3)@!b!XS zI2&x4Y8~}iA!svBt8+R6V?&$DEa9X#DRVDn?)RB9PKVMPr;wmm0)wkg`^@Uski_|B zn45Lpo*T&c0ZZ_m2^5==+p{E`v=h})nZ!4>**cB5I6BrCt2Et+E?dN(heZrGIebmN ztT{0nJ^Ck)dSf==-VSs?zr}ySm5G|EtbWyypaj<@f{Qg0CnNpX4njpfYs8HXUg?bv zGIJDPir8@^R`J~N%~VB%vRL(LjHA}6u7C0>>c`hx{0fC2oU7I)pf9Ln;)6M6PIwdv zP}h>Hj@l|8!1GC4d0ZhD6$(w*j^YL4TC(Gi^chIBBwK$Mt6;DERY4enVww<1SBVn3}JKu|?`c}Xu3 z1(BEQO2j1j;`R*YTIuo?Yjc9ra}_5gBZyz$>c#q6T@SEGJ-|B{q*z=co&aKLEJ~T9M68uB zEG%bkT?5+d>QRuqB`~Wh_o4Z%t1#kf`=q{_67MuYe}ocW7Xv-Ms}i42 z8qMukel+0rINwdAu{D#jxhgHuoo@GkX0QLoEG9@<8y@c&$@qWrFb^J3w6)H_V%Spuv z-1m1KaW-{3L5>*f{W@YSF7a>3F2W(EZ8gyA^d#{(Up~}1&PCMMlmGp`-jPG>?Ca6a zzWQ=sZ*gC_hQ8V%aJD|reQo$}4Xm_lXMH+5dmfzL>Dk7e9Xi-KFqJxcS(`w|cP5=8 zVtCEs2X6p#D=o1;5;F>93dCZ_7Mz`ytnL!Zc~Yvz$%g}jG>ipgR?)bI-KY#6l@sH*H$I|#a zI`Ln5HI4rX>K`2I;JclJuRa$J*L;Hh<@&Y3)Emsk)hssk`uH0=O}$S0Kb?^JCDtie z2Z%dGE~NXfq6DkclgM=T0C!{M#d(8S0GNHa**T=iT5`WXBzYEI&5$5k=jc-4^@$Vv8`!t@t6 z=FlDteDsUtk4OG2r5}+wIO0F2jx1u%D!BZ6kA|WF{C8;&EjdQP2b!~p2G*DZyM%t0 z(w1Dr6BB{Ic=H{mTKo-dP+EWg7bu4_+tj^T^~(p?>?WJNr>$=c+z7V5Jzy+n?OXO)R>SfX z=^wP&<85{eYzGYA*0+!U3wu_>vd=sfnC`Nez+|EaG3gPI2G*}+4OZZ@MdYHB^nz5Z zSF7r_=3olyKQgE9gEg246U`2fn>*EcE3~}iTKm@y#VI~M#R!EOZ1tZH`}(M}5>att zv3YqcRC6r87_t9h^g~+=}EdWNm|1#$0V6f1h)x3NV{L40bjLqJIoZ|I>wCTZJE6Zaq{|EJA6y4rhgpEZ1gn4bLN6 zuFWEw;ENC(yLGPRQp?GPGZ5U=$x!)N#`d5pOl~%GwgH`O-6(s!5Ill!%?Wc1ZH16; z^Q@STZteHinr)#vTsCfa$@cb&Fn$w_Dtl~j!;!RdLC!9Q7p1Q?ap;4)Kn&ncC= zeP>|`fo9SVdTLMtq-+OeCptY9E(eBt*WYNki6{Yi>6;I_4LZ+DnjJ-LYcz`mcnN|X z!t(jz>rbOsizEoV9oI=iA3yU4tOv<}TEvz=8PPD7+)459nd}ZtEOM>-f7xzGDYJ2!QYxh_~bpk~oZW#`Sj9biA-02k_EEW{po zA^)a&7$&M#-v6at{Qi#s>JYKa7UKUGCBMc_{-0pr|2EXmYFzdiDR!*f?1<2tCe(R5 zmX<|h97%clPmCg6rrjTg$$B2709RRmH>Rywj5*60aMXmo^q zD392UWZ)hs`9K-@6HpS08ewfYdI-+Cywq$Yd|nJ+1O%+?J!J}9xV-zEZlQ$(aqIu6 zEq$NbOspf_m3pg_#i97e=gcgLrolEf!O#Zsz5qA+*5=i>M&st>O*(G2QZ>oSc45RW zF^ZO8Z<-z~LbV+`f}@LdHO#$ON)7ST|LCe!uAWrn;XJplhNbHn_e9Dj>q*08S1gl)e^S2@hj(LnSN z5KUeO^AcG+hpu3zTH+4Hb(Oi_r9LD2^$>Z()7Z8U#HrXw5;$j8s=6{=78! zS~%LkO%&t8G^RjU(sZWcM-dxeicHuh5RIoDP&>uC6#(-v(N!}Xl@n__Xe>QSF;f?f zE|@siir|N4G5$sqY-@X5>Q^O7YX+KQej?g_r>mI#JIx#m;8DtAL-A$ive+^Org$1! z@P*{cBD3oOc;K9FvA=;Wo)Wfp++v4(^(@WMtR1&_StfyRJ+v#99g;+&PEU-I3V{~0 z8(z3|X;^YZHXs_i_z{vCE7L|JiT*>y-jmHRo35f^6M6G)%UC!WM;F6B-Gt&W75@TZ zS(ygGt$4!Zq!5K53&@J##ka6yo6btn8D=Y047yXBE!YfZ^h*;~s_jnD zq}7o8?3^uaZs8mQ>k$N>NNW;n0O2IS2Wl!jX=14`VE-_ZnVb=J@NW__SeDq= zw^d@#iKb-?=zj-Lj|EK`b>1P)vTV0_8fkbh@mvXe-z|dj6_j3rIpmpxhA0=vN0bu1 zK<>wiie4ZmCPros>$G#`PTj7}+$g7*i|6iVuHU#z&D>}?bK}r?WabRZ?Z`L!%+Yeg z%&kO!-OSu?P?XnMX{k1Iw79#Ux#)HF7<}J`x$K*C=7w{CyW}6cCd@-KEhM`O}NAl);`6K;gTEV>{NN9%~|M zyQskPnlOh7CQH-4uTwpgv0J?HHPxbRqoK4*bf8dec8VL=Z$XKJfd97EW%P~*qrp=a zrcP^~M|I?Yt~{w&dM*(UwG%Xmyr(H|XQEUfo5ku=G*I0@X%<(E(Zk}j*a0*XaV`-) zS%19MlSUjAlD6FHN}mArr9NyHo7p0v>7KlZ|;x&>h<) zNJhB3rN<<+Es=R2hy*P$J{iV6o6s4?fC+pXkED?GRo0xNy@k~yP8V1l-c-U2)Wy?N z;>_OuYQkwpT&%a36IfUeIs+Ea*l~T@5L^I-r7FB~T(H0t32K3HRtc=2rzk4awR7I# z-ckQ=M4n;PrgAtI=E)%5Vi=`g!z`T*^b#>bt7P1^h<=+cf?KKGwTQezpu}LGC0!?R z+aiuWi)vE4%VgBvLaH!%NsM;QYgDRRlQVhohD+Ot^(>TNr+r+Np4A4(49r#U@yIrF*BdY&bmV(Kj3$t1w< z5$}9tD;7LlhF?*9*1@XND>KxoiRHH7^vtY!FL~5%soMY8DUgv>CdCD(m=KXv2R0tB zHpiY0HL67&S4{Zgv@q^4nRO$<{ zCFFg#s`b;5PAfO7wo-OI;li$|Tl5}LGw!CY=VPEdPPaacu|pCkJ3Z@o-h0&Z*pQU% z^lU_uOZ*o!T}a{y%p%HdPS4Yv`~Z@Pt~bek>&P6uyn6HbH6~JtlYyWgLSd;`m4-0b zF|{wq1|I9affvz$WTc%zg6R}Kdp2fOUpQ8q#d}`>*45V5pU{fl?Mp3|9<65a6$0x5 z31BCBlyiZFX9Q&zqwJ+x?ZvHDqSa7ZRC}8*(Vk(3&qEi}e0H9VuMj4efJ8c}Q|eDA zmXJ%_t`ZcGsAm!o zia-M)!j6&Wjn(`1 z%DzK=w2l|aj@3C<+6x0s?Z}by0_m;C=(i1rh79^A_Lv#MkAaTfMIMripc6$QRKo9a zi=E^eUu}inf^#CYgJzW>hp$ zOcl6yrq~bTq)_9OM0!JLXuysk=iwQ>*u|HyR7fk^sq?26vFd6QS>}k;v+4okEn*;q zXE(0sT-0NZq&cHStUkn^Y@+aXQj7Tf34j5QHEFXYTC{CE!*YOf2qo|RhUm+z>#x9w zk-!O`E_lT-rFv-LQ?h2WSh|^Ok{R+Jsf#V_Qk(e=O^13wn+q|IYD;FR9o4c`{e+Me zITdx>OlmhmH(b9Nw0tMoiW|qAh}xxr%@7O&kZ#WsEW;9!$4a6VY{yz6 zEbTh^wW#jSJbZ*NlxEW>n+gC(yKr5qOM@U*g0i?)<4f;wbs$ z!w#`87VU&HU!&b^4TXLQ1n{RNTotL_Tes}P-k1eDJkO(d&2Kvs&U_>FUNBz}p)4)r zd~qm+)_ng+e-yT=9+a#@ya?Kq(=p1m2-qZ$}UD0BwdQJZQqRg=o$#=3^_tIOARMcVYvNsK2ilqM@B;mA&`uZ#82m zeJ~X80$wfFG-S?BGqZS>%eWNF+t@gsJK;4_$$z02NhP@&KC>C0_ahzL=3xuHS+_UuOx^0Ag#qq*$7 zTiBpP;v}&YILk06;3b;*q>~B3i&dyu^W|o>QJrZ?uU8jZv$ijv9~)L1)9djR8_e#T zb#|FczAl>?%(tse6XU%@X$P z6W4*EvTSU;EatId@Fil?sSC(gw`W)o4JIwrB`99qjfr=P2e`RJQ#tuyjOS}sTj9-+ z@qY;g9L;gotJUrmsXfk6J0do9dL{k?6EdH|pVb!7nzjQmIv0NIUg`j+_z5gG47MA+ zXU1R{==t`E@wQ4hE2nypJ{y$Pn znkS6?T^HT|?k4^T6a}{{Eq&mFtb;sju_?zQK4cm)N3bRN3(iB}oKP?iJkhB>YNaTM zyCM7nc^#m);8gp>SZ{Cg{<_7lK%__mY9V_DLVH+^%~Qy09L9fc36VykX}JZ91(k60 z?hDj}4!CiB1xT|=twIsGCIwjfU!vSJ3ulV1hkXCoDQfk zkkCMb{*n1MWitI)(OdVi!NC@Lg#GwCtKm_{|2Uu*koFQ71^VFQRr-nPXHf{^u|E!l zOb88QE)JKR*tJjN+hs=%Rn+A}E zA{=iIybyWCXDx_V5XZXW4%AsdtWrIIRRX5{pS6HG z;*v?H@Fi&cp^?ndM`0(-=p1iP!aL3)inpm2xrnfW98Q-fm1Kyx25XNUf(U<3 z<+}BbYw`u+(Rc8YLG5+Z~!_@8mA1F3A)*0lg)KMm_v0f1T$RTRk~FFU6_ zk5K>;E&5_8G=ejaL)EICF9%Z1%vaZQAdFmMB+FlHUNHVr_nA0SZ6xFFw*T>mj!WnQ^aH*-< z;-Fy5^aiNM2zI%Z#*T)t?XEY}4ig)qQJ2T0uVI;xr%1eoT{@{bt9$&dao%LQPX;m5 zc6Hqb0RjqHu@P8k!LAN|lHo6?gc(SV9+-atIzg%XdXNMR#L08~*pEY?Xg8Y8vcB*> zl5z(yZXz)Bqtf@Ln&j;Q`EAtE(suv9Y`)(9y5j-7HL#{eTbpjN0aQTR068@LmB3W@6*9}t-;4Tg+!D{JPTQjX+F-{2|4NGxHa}d|I!c8W+Lj`C>ar~#@nI0k_UO4#dXMIiEG!)H=;L# z4F&0Y%O36!@}xf&mPM_nB4kf-G0!4iw@)CjhB3hX*ZEImY8v`#D~IS~wEvW&<#V3H zNelnW4*{2cUxKaj71%epGXX)PcxWYeHMH>{%CP2PtNfSBF!p&)(7rCWJw3cG@mRi@K$(e?m23r3O*l2#SjH~KuYfx?L%lKo<-Baum ze}FPYkZeaGPaQY;b563fB4$lG9Z`9QWD8hb6AW7+tEsPu+|~Hk(a zpUtA8kIujHsampshdq=Eq)xz_ROc+}T#Nr>8xB7-h1Ha2$UTIvcL8_K638c!04K3aD#z0;>c8IT4j|EnDoH>ekMMM^edn&rj z0PT5w3U44PyTi-PE&+Z5=MB02)aG!8xQQwd$|l2s;NQVUAot_@HB{F#hb{~-fUu%@Hs1jH&n(vrAhd zAS#m6Zn04|(JbyGn?Pq*<&;`Tx2E;;pEcR4euo+HPf%=CzoG}?OW22jY$L0PJq?&6 zxloyN&r~d-!7U%QRH~Y8+@Qw|Z}sklck9VL+6TC@YJx z^-a(&+){Cm!@y)R{bexqbP0~Mmi76lNrdev_TFy6BC+Fs5|=wTUGqo8P9=W?49@f; zm>{sD6w-fgb>k@+;eDwGsGbSVG*!pvv)|*ZNa223;Yo(VxU~Yb7JJSuw!|5F@;$|E(D{H1+u8HE z?DXsTkxp4%5%uUmS~Y~hCNXRk6Bk`_hg*8akxgT`8iOvnm_??X;ewAVd&s5GBtCr< zbzyD5wu!ddLGRcnfQYwYa>QT8vwD~Ty^Xd4#8X8)3WLIh^0YYQoc@Sf?aJ--0Q2qG zp)zW#KfykztTvZ{0Vqz-aWEhRkM*6v{W?WaBTgg52ov6&qW2_9#Z?^!Bd|>IjJ?C5 zh)T#J=EB~dYN5R`XXPD8g>(7}hCZzeU2|8o2_J-aI1VUi=`jy3aQWufNeh#W1i2>cp zr-KJiqc0fXeCJ6B=90cvzO3S0uNh)4^7` z1Em3+t*Vx);o>Zx6}QznpY3#vl9Qqu!j<_6;9pObFR2Xf73*twFkLR9noG61l8t_5 zLmd_k>AZLy(qUAM&TRO%6YlG_R# zDDk`iYH^9>q(2(yNTX6I-)hWb!3`_sP!O&3%SsvzR;Jm(C!HWv4>3$oYdC3!1E(14 zytj}Gh*QCyQgAj4h0~}oQd_?Tb5ANnK}1a1`D~jP8c8nhi?dXm9pjCwI6L1L+n|hb zARN#aBAR~JK+^;Jb<*?@kQa#t_;PT0hfew86s#ki?Av*0=GsH@s+%4wsD@Q*Q4=pF zgLtVi)IGsAQl#$RA41&-DPAxAMB$J;a;aPyJzslcVWDZAZlsDFqB_Pc#>X(5gvjBo z;09#1;N&Cody{thQ9rrZEG8lrGt|47W&JZa3qeD@sD~sX?%n9PD+8o*0EK?p|4W)H&Cts1*i$lH%Smu zp>yRQkj{Z+huGHiT@-s(78bwV!VPz>a||gzabh7I#w|3H^8>BIb)p1IOn7ojI4(V7 z@rJ=ol1wgGLW}+it)`@li_G;qwobGtsEP0f6nw={pwU=2Be>Vm;KD zQ?VG9-)d1@lDw;w<5+!Pfy8f((DpiB1iou)-v`|S5HE#tTzb}qg!M?iQlY;5oz+2P9)%zcsWT%X$8P>JRP>se5hnqb%5V@wcB$FeS>QOk8CBo z#CqtPSmb3LVip`|wm0gWE|@-|{T3G4fOx9ao2$bLN3mNx zR{%Ftn|K;O;hPX_y&XlJ;qh>_hJEdx zNY+T?)Z3U_SeELIL>W4n9E2h@t+o(jAx}+pd$V+%**%9tBUQL=} z^3C_3KkrSd&WV{cCB`=k*ARFu)j6?~ro{TDU@Yl7FlbxV>@eva?KGrG4jNJ>{sN1V zup!exB}Bo5OwC!wvriRzpeR;{FzHoLP6;(p))zMueg*#0jEJst_zCD1C@{{UOVpw? zHTQ~EYiHM5f4;Dmag8CK>|Kn;u*Ptn04atw27Uq`ZkY*c3>gq3Z(v;e+fCly9N8#0 z7w8^GX;h%RrYzGkbct1vtHgZhR#00dLh+dSxWpooxB5Dq!^zSRc=S1BfMw#y1x$fi zx+#FG*bvW${RjAXNR2{c6~G;-TP@`jJZ(T120LSfqwy6Ca+_t2|Ft=p3pq zZmacmtnYklF{Z(jhG%`5gVjQRCshss30QH{R*AoF>awKioM(x6elnp27p!BHzDyLS zvYSyB&6ao^XwzkARQwKY0x8DHEW=T)iX{$gPrU~zM+ET!+T@NCsj=CzvC@mMPkJ>)*c>w4bS38&Ri~C7s*ykmVbK2HtqP13pcSoB1fSZIUmHKE@V>`(jy`;Rh zt^W^*qqP-(u&Z08P)qnB7{f`qEc!_Vuf}<7DSnapE$iaYlL3L#L*G~kCpl1*^kL#l z;iM%j8R!*7Py_fyLHUf@(TcN{@Aj;u*%w=Q9Yn3)i%+G-bff1oe_z+R%tQ)s+WRb~ zqgnhHq&j}W?fkP6Z~8oAORp@>^E_Y(-z2W)9YIKZUr&F095JVgg*%Y_qRci&XUFK- zTV(d9yh|6U4ct;~v*%5j-C)c%Q(Urae5cI*oiRJECXTZ&+>n&|i&_s>i=9qD8dpjt zyqZuk0TzcNkWk_(n;#x8HlB`SwT1#EuBpy9t<4Kp)_Jc^A0Nzzz}Pkd%rrb+JzOGs z-NqcN!JMIlhBV}b74=F;h?$XiKHU!#%){Y_LAU`0@+|B-6;85Xw$-9`zU??~56(tR zn1e0860rbnBOOf0G+wP=IFI4e(M|q>Vnj88c`Zli-~$zt=Huf6B_IvZ;q4}P%kthU zafg$vOoLv_Jh&=(e0d!XIIQB)HmSF5^hE+v;1D$%DcsK`J{r#XK%49qmn}D#0S;n8 zxf!js2sEr8Me*YkOPTe+{#y|&>HxzM?}2oK;I6noj4WzA9fqov34&u!hJ{vHj_%7W zB9r%$%Z?APKXMwI5n{ZA6xV6mF;wFfEzy*{q&b==5kIor0eRfUU-3P~_j$yZgg((9Ht)f#Nabg%1M$8O zpeLP29|f|Y)jEN@vj2n+mYs%LA4UwK+6HAZm}9E$n}cg2ahFZ{u3%o9vlx+M?ds&& zC>}l(%sb_Dg_G`}y0K_vE~Op>CFh-x95PsS0{4%=wb&6(nopTnIC$nFZO$?iU*3QQ z(G-{T(C09mqLFv4fpe;@HZ@en(SstsyaKqNZe189BD&n5JmeH4Fk@e8RZ@8YDcFwf4Wf zyD{S=yl?M-MM8~fL!4tbCdCyf&et4Z51UWTmwijBKA0_C#wa5lkFcn*)V?oU{YCe! zHh!(OYQJ==ey!CLven$~TYXS(HSyA|UZ=I%E?fO#NVgamf>v>BUouP|K4h_!SQEw6 zzS4c&WAL8>VeAiqx`sW*6vf-aC8|@ItxB>ou4YL;e4jB^ruhv_)7fxR_7wcKLGaw> z60>DhNE)zfE&;6p`CzbFBvOcxdlFF*oG@3WUyT!_wl{M61rqQVU)?d|X8=CFV>A{b zXS#WPTS25~$fXM?99~OBlel+4sc6i%CgWMkD^T)G^xBx$&R2QCN+P|4mN9^HQZZVo zBz*XRShIiiDU)xIR#M!Nnm__5fL+IY_-ugcW^oo`A%YaZLmtN3`DhGzlM%kz4Yw?7 z)43%vNz^ZPc@`1$UIzPVzyPJpgCEA}WDK-1uY;B;k{59<%y92;+?0!(weva_+McM3 z`oa)_NnaS^1zd!)XmnJI{=>qcJjN>>)uICEAMq(Q6H>vVozVT*T?!@)Q)M4J?={ty zJnd4o%}vXNbctx8N$UU-@H|fU98DSo6kJjy+Sb>hrB?XUqz_R)Kd=V@>(H%s%*t_-(hi`8HSL<_`YTPAy zj7CkQ)o9VYuYm>PAHHBJxOzP+mD>DEj6LgNWr9O2MyPwm%`{3EU3y-}NRPVnoXnJH zztvK7U{F=~5$#L=-K*dGZvMNqk`T9$rFY3$C?69Vp-I?IEcXVA&+G-Zn7B1D4w~Nj zIS=>-Y+N$E)+nhUma7RKP`(`bZ?IWGlmavK7Z|jplpu-lVr*YTq_{>a5icX#qnC#A zzR>qCfHIXQwdX}ARmvvEJ zUa&zSUnbyX2ETB@Tq@vTEu7T*q!eDmwkqsR(V_OliMXN2R)9YgxtCK6&v>$UWH1zK ze99&V+W?8h;y(GBoN*cp4y{8GM%{K49XrvRmiADAye|{WFp;36|50%?`W@{ocA?Ki ztBycOzC#Z5nzgW{pMm*X$q zM*$$s6phFtniDx6+9&AfOH;nbuuX4Nn!W*M{`Zt7+xiiZdJy;hKLcAGOwZG;A|GPT z00zw%>2D7hKp{t^F+An}=h4qo5D?^9G93L}19t;3XRY;u=)oEC_VT?Z^7ASK0J0tN zo!#hnlhKA}73%AegB|nGD22AfF2Mu7{Djby_FlHf$-jYcv^&-~l<;y3VvgM6&byf> zwF=6jgqJzN(u!kAs7fa>aH;4@&L zTUse#mKmofPPaT%gw86mZ%};KXMN>$s151$&Y-y`?kD^8A})onblk~I;g30R(E-1( z)v+qA`B}>?%XWnNK$p~fHsoOSR2p!#_jUk9xH^Qcfv9kXj>XsYoVR3-M%h?jS64Wc z@!CInF2ujPwf8Ofr8NEDFY!$D4}FlrOEFCBGyL*S2Ad=Swtp4PsIEe+2PGXLJQa0R zOq}mCSJ7iXrXU!LXp6q@^wI2zm3t-CjTimodWXkFbgU&n%~fk;BVfL#!JA z1)B)w(~tOOC^%Pr{eWDGPBoxfH|1Hfv+dQH&uKItr56}wEh4bZAm%0iaKXy7a3K4P z1fD9w6%-7mb{*yuGWb($`&~wy(k`0HAcSgSvEU+=w7(G3|)Xk+Lf@ng6Z zU>ovyEYch_eh5VqNV+`IPK0?j0A8FjK}-nFLCv(6#cWOSWo-EmpWvNpJxH}^i=6kA zOK@h86h9dYM{5?ln?qqLVBt|}3p&J7d@+yhYx~qJ-2PI&CUO|Cc9Wdwj^5o)^ffvF zZ7wvaefGw%-HrX{-y=ht#@hkunU5pWCdRuGA>EuzwKWc`9(C9`AnDqu6t;-gTFhjN z*#1wRu&f_ODTSbS{Vb?UJTM1EB;9Cd{kxn1RpZHgNdPFT0E$bD1DF63y0z{gLwhyk z2@?lykoq)lVPnqvQ`@^P_!4Oy!o5uXI{LmUyr)pCsWR@OMm&wbE;CBmE<~4nrQWF8 zH)(Bcrl878E897t3Bf0*9kKEv1-sn2@tcn{ijpcfz88rEK;3&y6t-ADV*8kp5Bqrb zMMp)SvW^JADKEo6eW!&o!F%QrO$_394kTV?JDjSiu!tM7_Hyz zZzP=E?7une!?`ScMYTk|VkJ$A|1o^*sz+mi86=^E?7;#H?b>5=#a8)qq~KPlt%r#i zw{yJDVs-4|tZ}}fi{b7_TC6UOS)BD?jL+t;Gh;gyiM|gFUy1ZSSMxrqE>?Rk&azOQ z-Bjlm)G4Go*nF)+o!wD&Y?b$gL4SD`a$y&0ABY3R5(51WZ3}h5j)mkY2N6mByXM4L zfFCrcVa1(=?l8Ytw}a))Rhl<1D$vv45MJ4LL$&#P@Td03o{y78Uzi?-7pMG27c}H- zgo!#b`1EZa1zv0-u;k_cP>-@``_adU;QA0WZDKe0{#fCF5iJDIoN1MFXXJF-p zPYyKdr+#ljg%EDgJ0zZ_K*VkXpj;nfq;UiAuM1*CR8>#=)9$js9q}o)fMj?Qhppghi z0FbF*Egc|6kp1tGW{sGa?iz7Er3J5Lk$7>=LR;0_()A%LuG5A!>m9NZ6L9 z%CHR7cnIi2h6s}Oiu;>Lq=G6C4&(Jfi+P&_1<=m-W#ejU|Jl@4^0O_=(XoDrgHOeH z<-wO*Gg~A7+vtKOK$z73_J?I7&p4ghC55coKtPL4i%*4&dG?o|#1q0^-=02O|of zW7DFp5PBruyNYC~IDj7xWIBtjD;db-F>j^a{dTBh{+-Fj?Rsn%p3`ENen zi!B(Qi3@b&Ch>z;y9`mT-x~8(7~;$6(OdFkNkr=VI!nPIr7)~aqr;n*^-=x|%D|-; zlWl!A8fzVkKf%g0J2e(gs(`G3+ch=fr3A`|C-X>T6q+0lZ<3Q}Ru9A2OGFX!IN;i7 z1uU9^oD^7va`PPR&6YwOeV`CUokDX=jrhw*gkz4b#@*KwfcnLo=h9y&vSVqt#*XAd zB+zpz>RH1{m8cM+;`5Qd*^56YJc2 z3FTz%U?au~pgXT2zUZd>U;aWGu&9QOho9JoSrgFbZwltG?V9NMTgu{^r2&qY0hz!> zj7!``$#MsBA*yX164`{6QSH>1;ZV^u%L3qTOy%LzhD1OjQ zi;Jm6j^c>{sW9E)H<LB*Ew!&J&mOyZyFJ0 zVhtk+3meEv5uP!iY&m4;av*WqjgwLA5fbM`(;}+LzP)7NrfvN`BJscB4;U05zRq@v z`5b^q7ngZEogU=x5YMDQcqj-!_B#Bcmv@+0hXfZsGxiDa;}&n-N=VVeerVt>&lb*k zj&qFYa(VW0PT+zZqd(}EFjoH0_=7I#4yt(I8kUk+Oc_<(;0#mTn_#*59> zfC&$o_&}THU}P-ivjnx&rpiVWx^FZSjq*l!3J^}$!(U{hyA6yR3azH)bfqfzTVDiK z!M;5J_*%sGmlIVX9*QptaEZ30c*Qdc0J+4ccqB@~jbFZ)g*)6b;&n?VMPxRQ!(ZIa zV)Be8;M+x74^kykDFm{QON<|&S-7~O0f$L{AJ4B&5h$bwiwn~1sOTpPX@KgXBDy|9 z`;ok)>#mMk(m6$do0c?mE1U|M0Fs1)ee@I3CB4}g(OBJ@(8QHDMc)Ww+m5@FlA3Vi z_Kd{p9E0K4g)qj=;qjVLhifZ6v(bo_9R(we z)+Gv|sse4L+;!JoF!9arjVhPqFOl!*K_9`*1dp!-;Y2p9*onbT zVNA=k+{hX7BAPSSmTl{CKPd=_ea81pN3zbjNQhPssEJFW8-Y%#=PUQ)M!{Xd$4vFd z<6_~6-%~v>wjLomAUy<_+W0sw_K0oUuIhx?BRDx3LO`_Iw06Ne-0$D{Z*!nX@Iy=W zfI!iS%Khq`wyp7K8o_hkk<|m#dYnhug-?)2Mm9i>4CN4&L@gGz!?C`$XfHRj4}Swi zZEK76^Xq|yq5NRpPAD2LAdsRuZ+~^sf$9bCRL|KJ$ZM<4+lwZu^I8IVC#v(B19_r4 zuPKoCNi{)p-qpyu;ObJ8iG;#tmm}^kaLyXdj;2Wzq@xBea~qBfAN? zpUC9nS~AtzgXH&R@?kCcZ%D2~u*K7!rA*_S*$^rW&UqR{k$4tUeo3jrd^86x(@R7) z;d^?&lT-_Ot+9+H`G2KFace@py#=?y6m^g`O>XtBD_Vw7BAAZKX=e+L+9k`g1blRg zAbugo50*&IS38C{-@Bu=SbyBV`2tdKkOQ9NDpD@0j=JPl1^e>Ub6JON1&GOS{}QK? zDPVu`Kq`(;Mfto4C=9+v8ET_nP%M7WtUidvhcBqXj0D8uw^J;B&q;lJnf`W)#lOWg zX{O0H(%(+8__xGNni=C8Om0O>^_192`LVv9WL%PMgDn_D<_Z@70P*jp5DzL2-EF{NuTWEfo#agv}}A%HGfW1~qn8aQ2811E@g zBz?>tvHB&V0teXeoF<+`0cNd+Tw_SAqzaT=5`co7C4cMG#nqseP@8aInA z&!b}J!2$6+-U*>ZpJoS;c`}8N2@1svtnjzd?bir$SC5Em4#oj!NHy_g0(yZQE#mXN z-hr^HQ7(O7HGP15ZEjD5^!iSQ?6urRkn+US2NA9M7Cp|A=Mf7`U`{A^dhurRAuSFh zs0Xz}*|J>v*R!e%Omxd#yV@)vsc(%z@T2&vW9qew%#Sb`gHom8V z!;ijk!AHYrv1_*#-;VJOxOkTAHRH60Aash?reIP)Jr>+4L6V)UZ~Z=`+QXO^wS~{7 z3`RtAKkaBrAAHUm=VUR8PYe!M-%_|`Cm=*L&AT{zxcB=tRJ*!Qv|n%s#!;f~g?Btt#M1pS@L%F^XeR1m zbr1WRTZ{_km7eAZI5P>HT=FG5Xt(kyIIENSEIM&Cp#UUsv1Hm>J8oW2O(3v58KgSe z`0For?A=y;Kkl5G;|xqm2^2eNDEMGSO6&U|FnVFhp>bf+;#^{Lj)n;DeL51(%MEnk zU@Q=jN--jrHmzwBy9iQ2_k|h^7*G-E&$FHlYfM(UqHm78>$7$pQkbswKg55P3JiSt zz-Z^wNe7xFkwqM*1RY2UexH&_z`@7>{mwv!8{1-aV70@nm|Z+qV1;3S4sY-T;Dt`o zAm1roz*;1usm^zEEwcsO@6>j=A=}nB6XiDxS3~r$@yS>;oJL{z^bmS2_!f0BYw?DQ zFk0lH%q$siRXvLt@ow;c+=tf`&InHkQdL_e9VbHl%E?q3ob)E!wmPS{&4JUc+ty8{ zGHP3~n1*-I6RxZtQ1K?Gj~d4zAOCaOul4nOro<+u8MfU)_Ro8*dN?-1=XK0z?)bdAH2nsJqCKPEpHD3`qh2D z6Ag?~rD}iqh|TYVhhuP+s0WlwM05@lqx{U|6Tv4;=qdJq`nASgWx@1=ox(1f!!lN) zAWPpPCmNsb4Zj@@w@xNjiYd^?Amyv%r*h`g_c&b*DE$}(>)*=ck03FrQyHiih^I;Z z@zdcb6=4nDNk71SWnV#LU4>H(!+f#%p_6>XVKBDj2JjU93gVGDkJnyNZknWBO~iIw zN%c^7#kt|$9u?ZLayu@m-y=r>~lqgt9Lkx`zEJ1_=UxL6{MPP zTv-p#3DSK;5+AmqJ%KAqvAf6}lvzB-IkO#`0JK=@ydP(svH5qP1Bs8J`L=Di59Tb> zKJ9W0bc;eAVqedSbEUW);oSAU7qfgF%l4JdW9)F-fZ1D4;QSasKN>7I`GyAbW6D-L zMFL^`3CwVuSKiK9+Q!CgU^J^8%M`!MZ{Yg~t}L)^JLwYlM&KEM4~#`# zfT&Vi)fH52b;q*(MsOs@z+Sl%#xr>zikJXqO=3M?)0yP*P`LqH@Gau-x%ZnLdz4k>p9+k z`Oljk>RqvFJl0tJOuVc(Nv=K*=nF5t9u+rVFOQVMzIvXFEqt!SXUW*@Z;!#}x&1=% z4#kXn`{Iub^=ybuXoVhwJH9$vafbv&W@R0*RpLgHi2mh2A7lIBzlpHWcojAnm5Rqq zc!E1hDH~HPQtEg&^*wbL}In3S)&80c;= z;El?cJiV&swX;6;UA3uMo(^Y+Mm8DU_PQXRVEC+*Mi-xo6gLA{S+{3^v zeb)1f7;i$w&0~Bq1v4?^sw7ZEs4tJ-+q2@)Fpd~C#EzNja+iqrhVjhMfw|ZZ;d9wx z+&*Oe-r|6K>ED<2d-W^^56kcEaCjTgNS7MZ7wJoJK@Kh*!F?lHAFj&d^BFf}bXB58 z;T*YJ+&)Psy4x@iG8co?np6CR?Poevo1b;E{I9_$C>c||o8l}lZ%UtjJ6gVITZ(i{ z$Y43&Xe7^DR88IE>M z1x`Q+|3o)P!Yst0+j-qg;<#$TNYWJCg|6E`&3pS%QGhewYgud0ab&eD6Nd3wFy0(TIL`u* zemEK=z7QP@((NZhKXK^U_eCkL1ngV_8T%_H4)+ZMW*_zSqVtrdDLL7zeeIMQc^^*i zXUKkav>wb3tcT~Unm#L) z@3fnE>1lHD`(QonX}}j*+1CJ1gQ))-QM@(yS_k+>b!>KzRp#v8<>u^EU+mP-mlatE zc|B*VMBF5u983cq)LppbIxA~IhxZ!UN>-cq%Ic|M?Eq$CwTtJ#N{CHZ8=ueeH+I_E z_^J8$tkr+ibJYpZGe>G2U74Ng9fIKvV78YFRC1^2gllcy` z6XYY%?EX<7aoiubf#eXDdiASG?7R0hxOg7X` zOHswD{-$ev)&|q{Qwkb#OxNawe%ff7w{Xk?MDI43t_@Yyrh;`~$X?mYrTW1AXBrwc z6m3}td5QbawlKotXOpkx{Z}2zjTqN){3;4XWSHm}a?F44zvz$`$uIeebMUaOACpKo z2aBx5upOM@!`m^LOU?LX#OQxgPBIU_Q(Iwu8vGU}DYhc$i`NiS-^e?FaXKSeeDGVC zjgd=$e>4K4Ar872ToL_98hRM1()(-chs>hxPn2ZiwAjwM{hc@Q z{w~gMG31|+^u=Unld&a{iAD`N}qKe~HX5TOg!zn@JZAmA@7%w3`%h!84WZ8mP?!a$xog2}(UvbgspDq{Co z(Y3B(&3}tpkvi%I$pva>OVkv1-(tDeVzQydo`x2`r?og*4mNzaTNp=cEiN&%So3Bl zj3=PJU;=eB?gx6_rKC5IL}NIP7YNfl;=rFA>J~M9wQfH#bo&ged2;&pK@CB(F7X1+ zM_``u3?Yr}k!{!mLC^(}I*gp@IPDjp?I~#H!y|1q ziEBp7DKTRW!k!yUBe{Hpc)_1^2HPZhrJ{Jd|1nFRHy+zO>JDdNWC` zHHpp0(7t{(Hk6Fhr|#Ret04UIpiWfE3N;h9UBO>kzLx;LwyKG23QvGla{#csdd z*0%?~!H~6Y*=Jb|%ZF(4>0;lXf+@kf2aLAeS13w)K`O2lu;P4n4n$S`N9Oc>n8-u` zXvcT#-Kox7DT<`l{N73$%a^N=*17P@BTPF+GPJ_U16{9QZ-t4lKXCh@9VrQ~vPiJv7<2JPky z!osk`p_wMpw~Ft0!BLrop{D-trjCnM~1tMAdZV;itEFvHlb^)7a6fnzh$(u$oZIT|H#9HR5qZ_JH72>lpe z+)9QD1%5nxKX7t+ak}P(XgiE7bj7)@b0xs$MjFnaX&=X+L&Y8YF4gY;N87u=M^#;m z|C7ul8IplBNQ9`dMhF@k)YQ-l4$4d(lkiRmBv>J!wKPqs7sCue4M}i&!)b5Wj0-6~*S|OG43%!;dS>ih0ccs-ILJ zI6$#>y!K--OO7U2PJcwr68JZLXtubK#!tw{94LC7`o!ot*3H)ttVL(hsQ%cfu98?> zQtB1wmr6QDKPFr3GpZ=ngvv$Izwr)sBWexkGZwRvO3aoW&-Oa&Q5-DN0w7b#Y~$dS zfm^wnRK=txDjv4}&Z)ggfh~L5S5(=Ihv5mB3iW~&^5O&B?TmE?so?`b8i!2;Dabf^ zV|@)*~3f1E4+l z1@_In>w6RuVYM$o(3?Pzt^JG0cWYw74kXNhP`v{7g)v@v_6#Xq#b&Q{S=Jyi6`(P# zkB|QtkR`MvbfbXC7WmShRltDez54r)%;zGXexU;GVH342Ve!9ybl(1d1y%~&pMKLc z8gSsJdrPeLTR*yl2Pr|3$4`HB+S^DQD?0U~lNUxky!&7D)ZC&Sz!jqHP_ zrh)e{l>(mWwuLm_XqY?B3NDeme33vI>z);Jae{z%1bx#hKY{iB%A#>||>) zDoXi(VlVd}Kd{+U3=PENuDN(UYY%oN(crC4OP-)-es7$X;*$qHawKXfHQxVBlAEXH zwF=t~yaWnr;Tf623pt-w)92``R6G&dksD>bf?JT|;xC2cA-RYkC5Sc_Yq^|MnmIez6~)sP#?u{D>C%A!VGtxd_*Oz(qu!MlR2EhQB|Pt2`cSb9 zATdbX+5-z%K4oS-PQkHl|L6Zh0YM?+Bhytk<6ha;k%QCk8r65fpH|nWBhLBG8H;)c zGC2{z8Qp<_#2;5^@>c9ktjvPmEpxD(EQ!B)ToQ?aaB zCMV-&Y+R7?5k?Y$RGgC`n%CD>l3NbTaDiPhULGK)D3)6>v*$72(0%>FoG#Xp!c!8& z_;BC`OnuYi=EPX$D|6zm&h$qdoAu1?lAkHjEx~j4@@j3wq28HC&&K96`)PHO zE!&^4tVPG*OwuF8F&p<-c$k-aq!+Fa6HAK;W%_qn0LRAx`q4+{JNz9cVY0b4PW{~2 zLDoSQ6WMP`k8=xDXE{Yt@+%mhMZt(o-CvZq2v(83;5jagtdbM*({ z9RpxTJ_t6*k*fPfWwIx`V=~##awquvk9(a-3(Y|s??QiZFvj~xlcYW3NuUnd5&@_9 z9f?^%I#a+pW^4DlcYU^}TRB1t_T+N)gcHZe_0`5xJ3%_8Yovu(s}7h6+W#gnzaq+z z$vIb3P}CAPU!>nf?+SuCnTShO`1>FFsH{iMDzQMLF0=<_v4o~DHFXD#i?tYconwmE zn~_CGWGx@tXUq2@m^QGRkt%%A9I%7NpC)}!rsNvKC7I|VG7B<&T{4{_wn2a%Zyamy z&Nj9v3HyPVb^6L-&;EwR`TOk$FuqU4hRZU(_lpe|#`oQ(@%`aw$|Z+G`;#zUDeTyO zSbMl*T#QbMf@N}i@xXbBs*{7pU7JAo1fA4D;|sj8fMm`O1t1d&9$6pF4h3%E75ms4 z!@pHv?S3+akBnJrr2R)YgekL=3-wO%uzD@U-m5*;wPUKiSA55iO2~1x4&Whz2_feS zdsNIWMF+;V@ed7Fi=;g#GKKxSZeLCN5`0IzdUc83T&~wH#_dY?SKx598+Lmnyz(T< zFtM%~YCYp_C=`>F<60#1K3+u1-w$=9$Vqp{HQn`Kp-WzJ&rMZcisEh=%-uH&)A#M zd3A2_n;WAUW}>S=Rll? z+TmX{&l{Xz9AS2Mi1`(0eZ%(S+6S~rvBN295uFU^}1#D^?as3dG{Ugae~ zY@e~!O7|h3Yya`*`3ax(r7LJi=fI`yu7boGF8P2o7miDFn(>vsNh@OIOdOZy$OoiJ z8JFhg32Any_H?{vAD2eA(pV>z3$1wGxQ|BaRbKsFeNluA%>e?Nyebi{gBktXUXzq0D(igRnQ=&8RG!gKlByDwL>EUx zGMT9|`boFQO1IcdSN>t?mZ@|Z{gGmCxN5OpRiVF2d-VNgQ8YB;9kZ3%u0>Ul0;LEuV z`40MOxNx`)H@cVW)GI%EQsL=tk9Mmsn}L7i;oRTR$ft#da4dIBpSEl1NMv&gL}xiM zYBeHQq2vBO`_J~GziYd;$(^=q>HFd;5OF1(dDg~zRaH!HGR7QnvgNFxY$$AgXmL&O@m6DC@(-{=G`< zUpgow@QC7|RBoi$v1kNrug0*w=KQOy;-KjfIpxS{ybb>(1Qt#V$1VFJ>va1r{RmzmSj+E7 zFH*QBvZ}^te~W0p2jF=|-8=I4w>#!WmL=`nktXhT zXY$WrgMA?Xk73NK6Kn$V`vBB(`vHy#FP1{Yt?*K%y>hD%aPJI z!z+)~ROs*YlnTkR89!Z@tT56M-YN`XR(0J;8RC*x6gL>^jd|bc%Vz6k1y-(bX-9a; zGng_za3$oV1>J?#b}4rVz1M3~N)5gAguceW;eF>wV-5nAgP{|$3#u}{6QDM@p&W4p z=(RH$`iw7rGg&b5>PYEJoH-v^dEB`2v1DPPLp`oQhF*Fcm(bFeh_g@H$fji5Kt%E# zG`{j`NcOAns(Y@FS2abt>SRYAiP_Cw2hlG&BndWwV! z+M-_F>(vjSUa=FoP}B!A^dzw5Xy`5%M|Y6^vYur20P*x9eRu6BpQw8m!)*xvv}9;` zbyeYE(?j=Ywh4;Jo22xI&Hjq;C# z+QXe4jS=>V)mZsBo)Sk z&|7Ghr(0{g3zAihlb#?zMV%KkGIqV7uxNBPlG$jYBMe6C))6~8KLL(=ChOQpMKq<3 zqq?kKR~RRcDUwC=Fqcg+7H(wPq=CrS=oKXdFFwrC3>z2g-6lPoJ13Ct3w1cyOP!1o z6XqMkVaJ1d+DLiHNTbWRT)C|{ddghDgzz|%&1Ze#D z`qk1uD$S$pzwjqZWAw}wH!$B^gdgLT>@YisUoCp-V`pg`7J9_1=}_y9#H(S!fttvv zEJ-5MJ8zFgJl)R&?1X(_pRtxViJN8abzdeB3|_n8vZ#p^m)0Ps)e<{lp%;+c`Cusxs}>F+D6w_4KxgF4(?b@7(*O6vlO2 zeXL&`Y%TrQ@rhlx?Toibv$b4}$SKs7f_#Y+SMB`~$Al;4y{A)K*6Hcemh^j&2)9hB zT{F;hJyI1^5<-~WpW)tFtl5n9ysdlqm!hEX%o+{uMBP%KX-`$7`?G;!ey84?NiCkP zX7g;p=-m9JIlHAgQJZ&#I#WEo&8dO~M3gCY?b-MeI&5mYj@m$H;dDYBNdY7i1Y~vz zeD=>>CaUaZj`6~Xc>Th5dtL~93b}+^?>T*pvv89zuNZ0m1d=d#!^md0UgXl;C7%+h zryMo{M;UypcC2rNfKtKFsV{Nq6=c~GUby8v`3LezRtoblb3{R2>o9XOoe7V~y;u4* z+l}(C@dDE8<(aydBX0%zUF6{>mGNiQXMH!1#EpL(^Br$5oQJkt;S&rvG`GTqtpVo? z5OUQAw+ZYBw#wUvzl1AXYxa_e!x59pxmESV{!t&1Pnbkukly1tC?*Y<)x}L3oHWwY-|%*%%&i~Au7S^(5I6;{99lj(9ZMHa z7ZwkFoA5~?BlZpxWD<4qaT4`;`WoI|TYIzBE)!ldeiCt`j~$G@lHeP19xeCVwz_3D zh*95U+tw>il{vjcG%U_U`0ZB0>M44f^8Y4w=>cPBKw;3BK{d-)^MQCqQv6czfDnY{ ztR4rQ7(N3bqlm<&*{EfAvt}=JW_$)UelFdyeW-JRjgMx1l0R80!`gmmYG6WWXg!gZ zIbu_hm&7tg(;tRJ;`@lYfMr|nv=Z?h`v8Uu6IdzrXQWc*2NP6L!m~y)MUzlm#GD;x zjA7vq6N#J+LV_*pe}^>5{y|L|ZBLPveyB_mCx1}l#PV4TBm;vtB(*ts*ft_GDlpB2 zqMPuth5HQ8B6E=B$Wa0UoAt@~gwDE%>3en}Ynh)R@~WAtv`?-``EiV+Dl5d~)$?u1 zuMUbe1@lPUT;)aJf7W9(U!@DHmS!~1=P1fQh9RI$ehr}95D>~~lv zF+`^;i;)Ay0yG9H*-X<)ge51HG_v~S9|(0O>7AU_Ix3Znub*m4kH?P(&RF=7A?7Ix zN1~HW47uDZ!p5LeS*A>Ou`@&s$3_Y{aTz+GsuI4eT0bUX=b zVT;aGDlC_=nnJ}_K!o8FOa`z7Rfhb;m?}s}Hp-tA-?N$HB^dJh5CxYzsef|lOcFL< zb8La}r_sjdqcwkjZe|fVMBfmD*6Kc)VL@m&~x9XT?yt2k8bCgiO^@% zOCc-W@I9C4&eppe4s3OHEl3NeD_srasxNSjK8&{ax>)7&L!HB+Gw#Nj+OBZco8k=+ zadOcSlz7v~j*ksgSI7VK;5Vd6YxY71-+seuJHzi?eo3UZCE1hh34h5JfgY`|3u8CY zI-Qvsbm)+l(3$n{2xj52(|Tj@5qN&pN)K>GgS%6?bSq0P3S&phzm4=zl5%rmTb~o? zS5d4y`g<;PCb#h-`a5Ly_k`+iylktFFYxviet+T@b00|b9T@LPAf5u!9+o4H{IWut zaL$)CwPN_qcW}AXMIt#PkAyNc_Xqij`MMDifh8dauvDBm}b%(+?XuD9H^m@bRA0t^Ag2ygHSrA*xqyqXQWy6TTewYRg z9By%mqA~pxj505>#Vw~(mODcGyy1nh=-qLXl(YAeDz0~-yh^oLW2KJL1#b19zsvU; zH&c#{^xZC7^8{Z0PBL|mZAz@aWG6nJNtF&(7@z&1{M)Vk9|SL`8oAN$U4pVG25FcM zqza0aQbH&h#P>Sia$q)hmpkHjSJbB(kE8QZ`h7CBzGi3RXL?Iqp-V^{au5}#{j;gz zBG*-Sx?=ixAI#dI=5`bi1o%34D4G;J!N9A4IP0lUm}EwtIOfgwOT_~Rww=$9I_01_ zSL~cQnwn%a)mm>7dyyRfGzu>#%%ZB1HGm1MFLVpbIJdG1ZP7RgF+MR(=t`&Y*MA2j znEvX=F#bJUxGy?I*9fWI^AHX1FWfhGA%?$f$)P;5#3c*QWUg?!SJWvcB$v8afx^r- zcGe&sZk6b4Q`slG9;& zl_5p|me>V+(T@=3H)i9d=nK>ZWDa#4S3LGN=L(dC$3AXlice75KbF44j0xWekJ6WE zA4Ol{bMee{PcIDf(0L@#)V5$s`RI4-g@mE19o48Xh4)zip>i{g5A|J7&kO zkB#kRr^-?sfs4k3H2Xq|3TalB9lon#?8qjMA697Y68CcbNSJ+MX1F|oV2vHzJ;-uC zWN=M-HJ+Z%{R{o6g&7J(bFdChQ+8)A<2DA|G&<81tKU~;jKE|IUm{y<)4nXNoA_L@ z4qmQ*)X1HWaVEY&yi6+wb6NVg6N(0!apfR{8OG=DSJ-E^=SmnnE2^BE{T{|YViM=B zfXZbnL%15Vo&UdltH(_Uvwbu!aRo}FeI|irHw=9hm2Q@zua_aFxC#_78#-B6b2rf2lYjxBypyY#EbCL3IAG= zM3d-od>lQ6s_OPIM>MC%g)^H2S6GqvCZF=B*aI2W(Bz9gXEuF`ez4k@wMjid{o;=0 zG144cuM?a1^4nJP^eOt%!SF(4mM6mtGk5rh+KW=l^zmgeJ}a(L{eqK6!q_Kq8EOnK?{+6xiicR3 z5nf0T%DLqtu`EAdVrkZ|*79T&^F>Uz;QHN^un`%|`Brs}N?kY>L;f54CKtHLlegGchK`aFk`QG%M`S5^)3` zMqvcDWvj#f%pGL`mpi<6HH^Ntt9QNbpT2%Z*ZPd!_2H${mG6+d%BZ4+yZ=ThOz`!W z`=`^-aM@~Nna;o+iA1IDs+g7C@(N|%X!Ij0rbr<+@1N(EWX+?|`BUmbOd(~sp4=dg z-fUT9<}w1?J2-AIi>{-eh6%u~HJ1s6-7ShaCYD@{lUGw0ibYK0g3Gb((r+GYy(cxP z!LKi4FQUxdeeBnicaanRMi-eR@lr&Nh*0s;P>0jgADl{R{esrJK&=dgX(@)jj$G`l zEUz6Iza>tY?><*`Xv>g4_&EqR(Xt~;PFTlY>l?Z6e=Au-uMxq+d7PW zk*mElBY2^xe@ZjNPA_<31Y4(PNIM)UC7P9xgVIN-RkXP#ldk5ZV%HV^I9a=$=9;CR zT_QiNt|=VRH@QPY6SVtt*zgdf;L*Pmq`*(K8Mc#b67;3c!o&8ZE?y-?wvnV2P1@3~ z{9cy+@KUFhN*tez(jfI)xtd+}W@qQ$(#Je+`|}99@Yt)RPKw>(pO0LH&Lxz8IGD3X zlyoQ=mi6cF4_B*-4j30As#PWy(Y(&r)9uwRPk(r&OItG9m}2FBlP>lhkQ8Xfj?#>F z|9q4w3tF3RObZr2Et|Sn1DZDqu>Bk3&w(ewSKHhrr~|Ymu<%O*3Iy7&=J{5d&_P04 ztC!nOdTkHz`z60Feuw$}iQjs_x0&BR^LvP&&=7O{2mXK-IY!Ua{@i3ZC%wglOo&?Y ziAFVFn2XAgUbs}@#NynlDv$LRd{Im_a#pPKMJH7Pe-gb?X`~xX5k&=WYyX*9oC;RN zn70_88S~3IX#A!@*x~pVg!U%1?~XswKGRtJ$PKD#G{>FL9BaRVaO?u%d)RY&9dbUb zTjWEc$Uxg+3X&{>D)11gfSXM+q8I)P?kB|=D)l|SpL`JEt<;ZPh0|usWB{wxVLnQb zA=bddcZyIYE3WC0{65adn;#lV4O|x*x*~WLC-0q2YML&5wx_@4Vp=6iqC;V+8AvCG zox8=KL0ER$oK($xlnk>y)vlInYxJg_Oi!n-!6zxvVRCp5Mv-gvl71qA1f9DdSXX6( z{G!a@|EQohvA^;DeBw>uDVE{$LuaIUXRZh~iToL1c2ZM=)xvt3r&?q`1a7QVTg{mE z0eK!My2XVAw5iCm%++$EUefMDbyw!qOM0b2awxoN6ZzJTsx4?9Dl%cT65pCyHLIyH z{AA@|`b0`kTDy8e+z(l#ire9y(jmsdR?$;>Qm)3rH|P_6=rvm5dExrdl#T>y1#hVj z+X_5f2|P$sz>-fY-VOqKlj6ze=r*N}DG(Z#WcoJ9BolPRK9meo_4HFd(oc#MIX%4y zH2aJR;`M1IvhWYw<2*}hH#ctzx>JCzC95oTvvAv!rA(G`r}0fms*tc`+c<@niGQZW zG85>_l5!;xq8R(g>}|ZcMc#mt&QOs9*MqD`_O{@KG;VHka1!d`ERq;Px)GfeyC9S! zUg2*eKIhz|Kw6KF^FC=kytlcITyCx-7muzZnp#ID2%#C6|5=%viQ<}P1wUKNJWf8{Z z_OP!`+qE}bxhm}2XjUuvWg4%tW@zkr%35^S9o@z3`32AGOwVCvd%`8v^d(!{RV{#o|F@bR4(Sh3`tDx=Z2Za;Nb zp+4>OD{RBPE@Y#raCrG$s7v!ZJ%d}Dnc4O}Sev!>{k2T*Z!tyHddz0zsJ<4Ggc=kl z?R=kruDrt7{1pa;U6uqX$Y&jef4wZU*X`MoiJqau1rJ=tS=#w~MNi$`bQ$3fFWK`b zg;EbP%(Xak+YeBY-lb}Z+krC(z)MC4weN;$og9Za7UuF#Nh)iUP@VJ1)% z+25#W=ff*y`j`Vo`;_pn#+uMuHIvI zIAO6d;S+juFmz%LW*{ZGFeSL5U>w%PENR{1xI$~&E%U{Td~l9%cSbfVq?qEL62=d1 zP7bjXu5ON8<*;)lh{0vatpq9yTyyWtGS8>c@<_c?bZWZe@kjLi6p&TPW=kCB@t>)> zOHEpHqg6mMX0q&4NhYDjv$>87HSVJ+QmBMKM=~o+vY(cEHfA+FVv(>h2WpS)xHUn6 zKbl%W?IlA>4kIRkgca1KV7~lSOLt+Wd|70vGP zyMN7Nk3Wmu@<@+A+q}4b%S)Es%E;1OW6cf|8)+nGEU2c@*6r&_3dh^24i#aAVteF1 z*djJt?%() zZcB>pG)vXACw$XG$8*~KGt_Ayg&lGyR!p*gu12dEm?KGkLMSR*U}8^l4lDcaetHm{ z{#Z^h8{R-sy(wadhurM<*!3}do$W>0c7M(&RjOZHW8A7T0TFzMVA=YN3b9ZqMZlY|BE{$%`m5933h2|f zy)^=DfG*naoTdAnx!ODjN1;yQJeW?DUtu;P9Gta+@e!&8hPKZ69QxQa*~G=D(ir%N z^PQLst{g7xu$T}0a31^}^Fv=yP!(QsvPPe*pAG$azD@}ARBhMuk!2`cXEy#53P^Xd zPZX}hNj^9yr|0>WyF1^WWgAzvXJrlA-22W^Z)Hsr!FBZK2H@n8sH!1TPp{ zh@IE^l9OISvC(FBI1iLk@!DJTZpH7c-+2p-{5HRD^4rSqxBP655Bp0}ACi-~*vG(2 z*30K{oj_h3UNfxUlT(D%-biz{UOW$OWA4V`mdT!itto_+4=loT&*eGT^fpSXt*$Uu ze%ki?7#Yz-Vn1v&3z289=^#!>phzz+&|Qz~heEH<$M~Z0I&Igz1r7o4_AD+D#{zxP zJl(NPD9$g$$08L_Yr8tbE7>Y*_lg%(d}Y+1?;M!c8J)E4jS)eFvuVL8kxF3`tBtpn zU|1HsX{^Lza67LT)o9w&f*?^laS_CVcge7Rw905!=B~2#&E5Sblbra-THJeandQAm zu<`Q_L)m?T)LI*s6yV(MlRTLGL9v&1>5g7llPSBU!f@K|VZMU%!jsaqaWBqdiO@MP zDVi?8S^T&|dX2r+qFGQH!F+AIlYYyQ=91HKYrH5j=|{J{Cf%>81k}G`axo!xzoe#t zs%`g6qc!(}$3M6GY|Z@s%>4k@SGd}el2THz3`pV60UF49t|x;54H!MuK(*K`=4qOPQK$m)K(#73wTBSJd18htpzO$jB8QT3n05q&F8&cE&&yfrA zuV`wddIT0xM=|^r6ZjTrVkKr#*lzhJB_hoBnD!sDL!D=$*FGu6)X}^rMXDOT{7Hzf zEqd{jQ{^({$rQP`o)kGvH04P=-9(}xrL%{8puJr^JE0*kbVAUj{5U@C>;nT2^Lw7( zEByY%?*za1_?_jKL0QgULSoo}w=QgXkmQ#-m4J$#&~ia0 zwKG=4aP&=V2AljqmELLbW7PWs;vjuXreb^p@L&RaF(qYMf~IA%b$BoToz8O@UvF7~ z+h%^Ju&IMv%k^&A_H+`|`9>Ju8nJ>aS4>=Weq}-D+2n;rAB(d|g)bQi4p-FWF>VrF zzWQFF&QNQMpH9sS&%l~OCL?pab93rz#h+x3642vFt za+3)X2;=uBDgQ}TpWd>{`xXaf3Cv)BX1`*(~j)&ew<8AbtpQ1AYjM-T)jRoAsC zq!>1kwAgB@>mIWn5u-CQ_($sg)hy#T=+!y)es;F?#IsVyc-$-5g?CVdM(mkYbmFe# zhWN)P%E4n^+5Hp7j&*FjC7$OzfGlP*@UYF9aod-3Yw4^qR}lfi!ri^ z%c!rMK4b_R7{@4Uz5<4tkiU)qmYF+hHwG`1fGuv_e|wCj5Buw)>57Y#pf8iPC(5Qj z<_)-KK0QJp)o|H#Yo@`zPOcw`1>9-PPz{nCs~B;jbg7+CMFG~{tLAi`NnXHN3}8Wu zo~hHL{Uc;Y9g#J+EOYZT-n;Tkhm>d_BpvP@@$?7W%VWTvVHPeNAfRDaplxpyqJqd7 zIfY*i-9Sx}Ijp3v>qE%xP-0m7j|pAR$M=*_u{m?6d4!CQYPCE6?SpP$EH7x-z3R~P{OGp zBR|^Xby2Df0z9+oH=;)od*;n3HjumI8VwIi!0)w4JDK)K_5XAWN3=eRZ&rpA>9yc$T095It;AXzsAbz$ z=90p~{v5bm|2mOIi@Zc%n$uI_1l){9hxv)fSLKuVhNuH(d@LssEcI+yi5-qaDy z@l?C4=Ja^o#{@aNvg+gU7%t1}DJv-D-njR68q`FX5gFbjqS@s!Eep!!)4zR@jy#iP z?$xhimI9;P9Kl#@hPln-4u=Hp%tOJx`2|VOpGXX%@*cMozhCPb-9e8h%8hq<86EoYqeM#*Vanw;BVsc zBmF48r37C$n#A~C0<^U?3DV9TKdvmHb1FHVc!-YJAOx{#uIvq3h4Q2 zIR%e^7jC^OM~2UMx`|Q_7~iVqa*N2H?#aA3p)hAPidt+SHa_u zJ9JNuEifZe%;AFJ;!I_QBIwnf-IDCvFn@aDQaZ1Lr+z?6@g{KT{ri>R=}#YscoS| zS^TABNR6kDPd1s6Di>3siEzOi9XpEWb^9I8Tzk7eMaQu_6<=}*pilsk3ck^4%&Eh* z?jC;*k4Q)qwyqERG2B@f-aISpFW}*hu>W>6pc_ytLGHu;Ro(tTQrMr{?q@2j*2{Ri zQ7^llRQj@2;iY)i-yU9Cr!Q*K7Yv7&4l{h;gB@GTc2IFz=8QaO2*HjoH_r;MAtbSn z<<`(-!E06n;GZq#WtqmaV#N-5knh$2+>GTNM3Gt46sd-LG|J5v0AAU{D|&{YiHO-U zLIU5a5jl@R2w9pnJdrJq$m6Zj`7{ARVMlkF!`bbhm!uzL{Ynj&tqYd{gt9xj%TkiU zjqaYZ97)$xra%>LnH4Tu6$S+KzpO4?ma8MnDVc(vpK{++#`F*dfxjOA3iDEDUYr7{9=}P-{2R=d8+%pCfL!WrJ@*;%n!ld= zPM9~`4aV7X=VTUPUvk%;F{3e$;zZnSU9qY!6_S8u@HnB)lb{wybT{a zXS1q4IzhOx);3y%XeH4=%rqcUdE)a~ofi^nF0dhBZ+5rWI`x{S(A@>LKmnH6lA#DQ zI~Yb`9h3CNCP^CjgYGYY_OB}8ij!f5F;tBpt7VHVaK#77Wv?cLdYfl~j+cJShxD>7z2|aiWxYua_FCuL5ty595fIi|5+$L1bzG54LQIo)mwP zg#Lq#;a_MqeDkOEa)QH#UK_Nd4#3328G8^pW!M>*#L&fFiH(UDnOX2aT+1Wyg_vU@ z2vvv_C+QehEL*2~F?=JS(Hd{l_v-IJ3fMLxldBfnf-+3y!eu$CBg3A(TQAiQsR}7W14*=#;3_2Ud>oCOy^|$zEpt8FxPa0vlmiK$WB(EBf831_@!!XA zBfOw?;4_pJ^CH~O3TJu|=J3|?BK$js#Zo-h|PM7{ljkfFVRFTwnG1~dZIPsW(MI(Xh zJY8G!aozJqs@-9nN!`dHnb@g4#ZKB{6E#;)(~Fj-9Eb{=f9#VuHe8MJ=s%%f?EECaODQ{SqRE}(tj{0P@G1!jaIf^>TvFgmSTuRw zX~{)1*MOo42Fa4oM7&f~l1$xfL&4_1MVE7Y*}mp1mFoGO=6Cn#ch4(Z3z#u|zz}Jv zy(j-bkATTWLdpMb^a43{Pv1E4tR@@QLzJA1zV5p)F zU_-_#QSFvxaqeF+LT!||>Pdzlo8e+;S%|Z-9>I?LS}zQS`+vEjY^* z5GjJPthg-}?+ABAt*ui=VF+d2FSv;#erU+uas^97eshlgYJAJSh(*>61=eRAWI58C zbL{Ucj#ke9i`NkRF+1K`SN^LUDTumz5flxNW+v9KS-yz4N{3snGRr3xMZAKym(d0! z?R~~Zt9ZQ4i8Xb18ryqbQ>zmdqh^&_gNE!4uO%Gv|Xk?}oJAyXXVwm#!Uphhhg+9?h|xqctpN&s=M z?Ei`rwtnWPrUCqrM5=gRtFM+;W5y^A58uo>mKk0&zSYQ_tcL5QL*Zh#pl@f`L%;$E zlnw;F1#AV>v8M5^%mLpD4~L2~9ZLO%(J~Is!ywbVnL*d?>5PITja0l|FJWr$hl!<| zBuD-mi?m|S2*F2_UwKm4EFgIY_J?<@_jES60tHXX_;SDLQ=-A>Gj3AA5izM4jtpLG zZS~hD`R`COtu7DJQ*C?`i{;qzvj{h~*yQ6X^ADYuDScwOUIDq+-AaDr4rnvQz!5HX zx)PzR#(pyAJd@6m#w?5zmcx&z!Nab6bnrf53jHIsv**@k2JRGjMza$12ABWus~~#8 z2i37hVUII92?%^Qi{b4v{!9dBDhz&=2|tz{jPZkNnZ+#Bg)Jz;l8LAM)7=o^&0;S3 zUfiQpug$h&OnSt)PlS#L%|eDFkZZb3lv%u-J(_3njnJ7s)7lr#5od74Ifm^q)3jn| zq}WXymN2Fk2Y2|V=O(q61!OjqZ7@=YWVsXr(nLI$VY2WcHbe;N_cAraNEb-v_aol2 z1uw5333Uz9?`zG81UhWw={101QM_)y)25e+3RFag;WX@<`;1P$bLxeJc%*6t@f((iCD~blsUC08aEKRq0~l_tX7rkF{QUIPd|wX8os9S_kYc(6V+rM#G5$n!YF!(Usx%t0o349Y-EI&QYB3$n z5?eBy50@ulu9x4Xmb7rH;fgV;Rs#h;PssWy1W8FU8&^Ylv7l}z-p&(c8q;!B)I%68|Vu~?kd2y#g9GNhsh3EIOff#|Af@+u%_ zPeMsLsxh?|gd0~|cV>fxo(VB?)u54|94Q(Ji&@?z9(-72WZ^#Oh!*NM5on`A2Bpk7 z(&(0*lps}>iYO77ynxtBVQq)g%N1=qvgHFTQHZR%7Irs~|GuT0gRR zjy@Gug(-E@50hl$3exl$KSV@E)1W`(nN}aDF$T-5JP7*h+@AwS3-qb@hE`ERMa1u* z3=#AHK#jAr-m?L|TZ~P}GaeQ!71i6}yW-?rgoqO`1Gr z!8}9?7#m4Jk!+Zjs%j-dhQ~iuj}6b>tDqD#kdjxEaYg4F4t)!VXNjf9CG(PO3&}QG z$@Da{w9qqNNvS4WyiDN>*C&;4pm>KVm9&uCgs0fso)CXw6vtCIP=g~xCKx5e(ZT!L z)Xtf+T^WK@>l5bq96?CgooSfW5mBVm9a%YOyt$5UElu)t24{!1Qq0A$Z2FQxV|dSb z<%n~)=`11@m}N_Z1=Tb)z8#?xv(=XE1(9%Oi=I$x!*fpL$r$evV`GZera>A_4gF=@ z>8Y5TsdjCYc5QS;R*A!74&u>g=ffn8cC5Y{|IembR=aFb~=Y6{v?bdwm-_ZNFcW$G(u3W+t}|iF4^Qu zWrZ+vyiBf_vvZ9%UKK#_;Th-4t8??XrMmUnHC^93^-Re!+le9;Qn{W=_$j{wZZ2`Djk94U zJ(Dev>E_KMCd$vD9_gj6Wg?-iMmD9X)xuhRDvUa{yAUp{Nl2F*hLTE)Q2j?3X%7CkU^)8frmLyt+8(>CZi&t8L3<%`IS2o7 zR%mkJ3Odq|Y9>q!=NLy|`U5!^b_bny;mA(fadCyxME`Iz<0z3Th-G05UOn(l%0#=Z zygpk_`BIaDcOg12JUsGvJ70_`vE)d5*6Ee(!qqMqz34lr$;A+vGi}*mJD5?nZKOX9wN6{KR2)rkM4v2#5qTT&30=hAKOll9K*X*s! z64ECIJ8O=!QswYerR75c0K|kEI6;+)?M`t%}p7w~xM1uHbB%4*B$-ioh)4*~d8u04A*u8g z(KevWRyM8|2rMQUODg$b`mJt;ykvSIc9}N{IJC$f$rQ+S4csF0f*Uh7OK`F*r6T(4 zSRxRSQ1HM^V)UeS7pG!Sj=A{s9aSl(x*UOvEd%ol2vXhp`upuwDY~yBT$~-gxx&IW z1mCBM$&ss1RVL}#x?P#1XEM88`T}?BZKg|QQFgep0^x}wIp%DU1V`mOKo>2lGTwnl zGY3d0kz}tcXCx|(Ij_-vNqj^Nl(GAj(Jcn}S1Cb7z`)3zZlQ~J3H`at)q1zX5h)TU zA9?v%dHGovap60=dhY(KXA2Y(S zY=Pff9VZk(?}+M1;XY3faRxBoJYRyW=DSnuP_?{HW(m`MuYMZR#6<44VWg8|yU}Lz z+8T2kz>44}6q8c+Uy4>O8Gb~7X3hBRuhMLu z7g|!AUiAz$ycnlC@#(78?-T#q_B`?H^V;*ZkI|k6&6t(Yp3NWD9_$k&+|Bj4=pyIU z7dV0!dloucv?hlqdDCdzC2Z^f0n{zMvch;&(L|@bA)B4I6M~cZj|nH>=#0bbntejw z@7_Do;262iIA`Wk(Oo5Le13mu{f!?||F1uy{uq45*8f*?Gc&e+wKoQwA}r zeVhoU+V=}-AI3=t*`$4)B$|e+@MmM~`)<5_7mD(M$PwSeBqr8AL?0jCKDA?pCipX- zY=x@TXX<}kKcRfO-bX=I#;RB`I2-I6iCzj5YL=A{=tyZSVI1~R#vUnS{iiCX6W&dN z((glG{IG=dtx;t0i!YAtKk^b&MF81Uqg1UHr}<)9^xAy9FE-2F>k{$cxaR2!))ML~ zcys6swo&?JdW$2PZJiZ((D?2twMAq==E6#4$`SyB%UcfoWwCot3UC~G{M-CDRv^KUg{>nPlttbd zy-D(EZFjKth}hpRYtRCT`0&B`GvoO`Z7~U2n`lU+GRp>ZY=v)p*{V=$dmF@Ktq14( zB^sFVm`GEK5%jqg8fb0%6lN0A`ncT8VS#;un>fAJwZab1Bohe)YROmoY_ox69@icG zmh+p$uZW+#$7VD+$)4s&8~sa3O-oWlR_MLpO9`|3U3gn;hy%IV>roE10VdjYv+L<( zxfUB>OK8Y}hXLqPp%+X17I~g5&)!JYpwYULbgX-!dxlDaU($;QTeqayg15!9YHe3i z6v;8U=O$8h+*m@Efr;`^JQ&)0ynZSX){npw6c~jHz|aD1`(K2+5W9D&Piu3<3Q6N; zK;p!P?lDSmgeyL-Dx9dfi;?daA0H4j(W?e!X_ZBFxh$&7T~G7YCN9u0=b4_<%~g?2 z$4&Aj-9Z*Yci4mfas`>=yM%JdixZI?;@5S$-_xswzC}6qLuIPRe|5(TWINaNc<5|i z<5s1k zp%niW0-o$+lF4=@Pb#OhESa4Z#>lM-#|C~T1ICv~(d3GHGvt!qILGk*6R+WL5kt+( zwNq4XyDz2N=g7pH5ThZA3@`IaN#Q%4-M&;?cS({Pqal~xqxvA7iF1_itDZm)^bhWU z&n@lm(?78Nv@N%#TeZ7W(G^fGQ7|ZNS5rK{r}NJa``~WjV)J_hGn0IrVVR^obUQ1P zMOOrx3Jyo=DlpwM7W~0vzv=>t8~gV^CXh$9KA3C`{J*7rFhDBdgC*wQXF`UCbi$$k z(fCTef+qVHTX509Ljuz@{C&*b2GThzPM@qL5U#K&-GyGvg#@^Rg+gy+TQc&v6m7hT z;6l-xz*OXjH8nEzji0L;Vl2LstE8|RHG5bdZTBnbN4%<$@5Cde;RaJ@M z4?)sP?`ONXX80ET#tUC93}%LdnJtsq>%F)sBV!4nXhIz$p~JBOsQWhUs5X2@X@so5 zN`H5hHV|Vw2{#Z`d8S$U#EjE{IfWgChfT1paY}uxi6^O0@6Fhc1LzW0;VXp)!%H$- z(p8NPd-s$-s^oRM)rcNrfMXmY_2ED-&O#k67m$44rW}Ns>`PNZXF3`QBU^Zw(J6JF zexB~G8Tc~Quun{Dc`J0ryXiF(3Tp;F!)vodp@&4$^p)U#g4_;JviMa%1&I?|>D~Tf za|z+u2$dV7kF9r)u%0CcBvgdG)EOnX$}m0=SZ-=_lY$reLp_dAm(%lJ(^0m<7M$ZN zB2}vTASp6tTU?CUDzEtSoJ8w~lFRrXA*m~IwngNJc_ouEoQ`L-AC%%e#0UR_YoyX0 z+M5zyiG_LzyWo3>AHGrBzSjWfclfvcPyA+j7MXMN|Gk5bWHm241aMy*G&I&iwNt3n?p=dgk`bXo9K{L~Or@dDu;Q$t$@ zF>#GERH2SR^j4y7Y3sPl_32j14!x6vJaxKR8Vu4V3}NFk66A7wJB?{x23VrjL@EdK z`}0>0cb>%w(AUp|YM!WK22rT-pQ5*jHA^s}3~jU-=>`!hR+;98Yug*PjuzXt_ibLA ztpQiogiqIh+GqO#zZLxc&d*L~C-Ae`#N&fY;$I4G4g^q4Nr}6ID13TzXxj9!@251kkGH({>i7roFa??xAM zv)6e4u%fPR71PHms;kpr96Bgw7M>jyxV^7L^KEl$?h+p+>-)DCE($|6CY05>R?(Ma^<< zXBn-i9Yq!_5H=w<@Ks61fj5(+e(Xu=#|txG+*i#u*ZZ<+V*Q>_0tzBEU4sP z7VYRa&Pwnhfh{euTH%t!O}VoKM0&|?H>VMjKmo;ctW0NgrFosv6xB)^EY(>+;;RDE zp|Kz$&Y=aOebHKs^ZSiuG?eI2@Gv4{3;0CHbIOk}CeMoel%uCAVT|HuaC8|XjG;|A z2t>)0g~`}Jl?c}b!ZbwnZaL<*#_;*QyG9byGjc9<=o;!7?-`zL{fwEG8mC7$|P+pF@i*Z3OB<$;58Zw;S`9Ws7Y#zE`ScPj`U zrqj=SUYSlqW@&SdX?$FeXnJf~PZQ=eOECANZKuO&OomdDVh1Jixtl`goDJxFLvN*Z z4%kE8&IL!_3Y~Q}Or?EiIjIYy2WMpA$dTi49zYCWW>yP2WLyvZqg6r@VV@Ntn?B%kR5B5iURwGj&~t#IE! zwT#0dQ2M`6v<&3Q)5k%?S^p3b*;GkIvcb(Is3Q@a((Od>bjX~XQiNs;wHB}xIsd>p zQRE^ounzB@+?M+oucMbm9#%I(|K3u%&s*7$nja~~Wr}nV_~)pc$;ivvavztRGX%%U zEf0t=|J%%crOK_|0e9s0i4a;zQv^Z+pZc_c=Y@j(Uj@WW0fd;Xj}(})xC`!q zB~A<1#Bt>?i~U$!>6JbSuE-70I7s*xpkd;QdUrlFOkC-goH1y~1JL-2ncKt_^-e+K z=5e^PNO+DIB%A{WKklUY$0)&+l%vF42{YkXtaoxl@7^I0Onj`>yYqWzj`eZL8S9-q z(7Rumxy`Xw?-ItkcFb6R5fhzw4>Jb-B1HG&jCE`g|B&^GNcyUW({$mC3iy>{o6BVu zzr~ob$RWIo>FBp;s=0St59wSC%8CA1R?Bi(1w{$h;z&EA1tF1x^)x zMoqkct7!NNGFI?CYX+HTNOftPT@j-|O-RzL&gRrl9I$=d&i-Q>$Z#fhHit&8GCM2% zUTt+&PBHx{@oq*tyV~lk1jtw=Yunh)t|Rm9@y@POovn`-Af3IPjO(Pc8D!27Fei5Q zAq;Y*v-Oh(rpO}laYprj-O;+yj&86zx`B>%p`{t^=!S%j)}7zcjdU~+@90L=QJlH0 z0;Hn>I=WFhT1ZC=$9MF{VyPh=)doH(G#iFnf)`9X-Kp42Fm#`o)%C((ap@EO3T|iI zverMAzd{F~@b^MJDcqLZD$|N(xh+=&chO71-iOt#@jN<0)lseOza-D*Y%Or>Y!I^+ITtur}W&#xk^#4&>Ck z2i_98_kSObJEgY@jt_HZ!BK9Fue=(EW49!V!SObK>#^EUiIuE2}nJp#>#)jI{y zs?ppEpk_MV%q3t&7IVmU`gxSH4?WImhAg9F(`N+27ikZCj~4>vNwE_Ya@2~apeGF; z1@ypgND8bk(jKZ;nY;}NnM4Z}&ot1^Qyid^2fi+3_T$XJ@pw6w?@wSRX2}|QCCewp zW{q5@7E|K|wF|!kT#6nEegoO3`PU`u6A=5`nhA9 z9WZJ8Nv>H;$iQDn&Ly`2H=&wq*m&C z6eQF;3xcZu1!|2qSLz|j8H1xd0LKYtZZRr(AXmKujy%ZHCsr%9KnXDBVY!kgmMd5N zcbe_x%S51LaCVs%uneGOMzEWu1BcVTqrMR*h-+e z-qVLjkwx~z#k`A*^;4*Iv01DAuwHUhtduUnN(nLCyrZ^&8)s)zh7;!WZZaq_KgEg)p!NI~uW z##3IacXzrw|29c-MI8U_v|4&fLPJ~gbkcY^Q2IU}JF z%A7~d1oB#?a>27$Gf&XC<8&mpODgDo~w3Rt&7c#~4_^w252RboKtlbKPka0ZrP2>1$8Uh@E==PV)VIIt38O^rKHmA3R7pBG7& zjQ!sj`#3}&C7LzG{YHx0A?F$WLRB4+AlGBCd7%&u1lS_n$`p?9Al^b^YK{phM!_}D zS~C*qCl+urTXBwR|5tOs#^UP0wNg5eXPBs4#X|ifadvUM5Vvwyyr}KBOZIA!_GWV= zf_?*2N>ro;u$Qvi5#1MRs8o^gV5h{oN#jI-9NLm?Yo4To`NU%pr(NLu+*C-# z1=zu`$+7gE2;qtl)tgRhNQos`!`qTY+DQLor;$wvp!^>3r=;RApv6iz{z!lWWhG7` zCDzVCN=;aUf$3Okb0ESLZ9A@sHvM`#=G0}m;PfoL(J^I^8!@oWLi;nbB^AdF+vZDA zILs}{bu|@e4^0p|?=m-!vo>Eo@V=0pvP|ZbOMB?AJTy(@qf9aF{#SV%ozgPNnbtH~ zwsAFx#R|eTvwOTB4Sz=1(JYplFfzY3bggoi*;AG!eIbhXCChTd z(-O9-hj~paWFbxv6XcMMv&&*_F!mpjMN4a&k2X{-T#|rnbc#3-YWbuG_8>0+6mQ#d z^Q4FzijbSgvK-?+tBk(@0ab>4AZZy=vpj(c0KujzE`Uo@#Yn73#SX{~)5dF+@<^-{ zd5>TTRJPV}vZa9}CfWWgQ}@4wYzx{5>HZVKJ87e&h}0BxlAx$Sn_QGb1UyROle?Nn zR6c3uMAaq};KF6hIRG}9R2uqhtt22V#m3bvrV3?9RCeb=Em=0Ltz>FldAFK z(7m&D$4+#o2%ciARe0kJ9FnW_=j~~#trnGs zy94UQk!u&%-Wz&-Ox@&vsk6&vuNTw!mlm48IP3f9LnTg+AN=@VjLZagO*o z7vo*U?_ZYtY)hArcB#+y_%fd@vx2hueYujn{9?8XauxdppLtkChL}kAt{LEP9h;m} zQ4~L?VquCEZJG0e7r6CgIeN9v)bIl zrfc^APFVP%47Dx=G zd1D_J#~;D}7gqReZd#ti??LV_<9ZFhzjA*)S6foD-H|eC_?9|)Yu&|8Ry0S2Fgbcv z9md)B)B%a*I{`&nFe7w#t}T!fxqDXh2EB-dUT??^FQ0|hEnmV$;V6RI5;dl#PMx(A zdi#K}2@cc>7-G6n{y~TT3jQ1ufcRihrPzHC-=L|dtb(CoQ@Gf?tTHdF%?qYznCZ*W zCMm|n6nv_zfM{ZROtht19?uSpm>KW8R zB6(DH7UC5UyyTQW%Nw{Ip8_G^_`L^K5o3vwd0 z6D*sdoQNhXTYWoWEDso$kdDJm*w1)VLdWe|=^1i`x^q-U&tO9v5$Id*xzUFAYH>vv zEB>mOr_brW1p=%3e-Y1MeiqzEOShtFN^qo<;h}V{dqp?Y&Zlj+~C&N zobbH2375(e(kzwOASS4mCV;9m2C8`kcmohq6(BhM%7mCq&dHRmwC7VT@Ju3Hj#;yz z&Qn)#@x0gYFX9g00!VJumsN-l_rmOOO$;j3X@N5EOZq77KGo?BbXl7CJ>~|T5b3{y zg`A=j)u$+1%BWdofiScc^BNp{R|{ZkR*#xFsR^a<2mAdO6y^xB7oOU&DDB8`JI=pb zhXkCPoSO>^M`HGn#lUk8@SLn?&QZvLMb(fo6YYRM)Z_MSayGoAj*}neEECV*rkfK` z&7T0j8)ESLltMKkv73NP2XN{r^oV0AFY@bU4;>%5D9kJ)Fjo~SNkOfGIj zy1#^WOjNi|m?dx+EUuQ&im@YcwxF9W9GTnfZq6@!QTNX}Rg$G3otdQubOJn(%cvqz znFJ$gb`y<+awUhW8Dn^_o;j2Nt^-D%B=t1An%1P%{fi4h_%>Ktew)=MqK3tUWquo5l6Y*pJn%F+WpzJ zoyU`v*NTY&YWxWWh-p=!5IznOvTeR5vMClHRw0#UAr(iV8DF9<34LBBBmmE);ii}5 zajlnv9SH?n2xgU!6AyExN@Cu`pgNs`3P)6Zi%09zCm|*%z_ZtfWwG&QtT1?x+o>bK?_qww;Md0QX?|jzr!4ctbnk=y2;fZnL(PkA9F2Ne zs{jVp`YM<%c^7<7;#mU!ch)D^<2SEjNiu_!>3?KNE6`iA$ut}MXIf^d!Y1RZ(PwI*Kol;G>EuU=8=2 zZupT-2=iOARa1iZ($;YZsoE88*5;;r4egF?<8vaSE;gi+W$cD@sPa(IDUZBg_m%?1oHZ!=UUkFvBv!PR8b5d-E z8{I76x9D4kcS1D*dojh$SH;Cxl}~}b8>O_oII9x4R61@!LZZc<-~aa-ey$cbCxdEs zY4-MMGOof|-Ck)IN zS4oNI(z6VFAdUgEMBBA61>5^U`*xf(4&jG$2y$k(bLdSnFmuiIXK&TyWq#M8Ayffho5e_roHWUw zDS>dUKiZEuKCu`8qZN_)?HuFByCE^pIQWmLVd8Ourv0#r|BBP_3hd6*@T@}yT((ZR ziQpo#qcWxS_0#Q@DLcw;oR{1%d0tB6L|jT*Umwb~r*~PKLDWZLWs<`Y)f}(aC(;>X zK3iMs*d5D1Umd;MdL~udF7DPl{DCJ$P1jzM%RvHV^U0JYVbTb3Dt$vXRBzj}?lyMf zm~P55k{bejF_khg2+uKH>;wpYg5~C5dt-e0w;kb%5OhausG(9ke&Md0pV5ou1|mo2Dp%8gxNLrJPwj(7`h zuy=(08_cKC@k7Zf9H+2f!6Ei*PJ$0>av-~eVPy5c2kz4m430dplUFL-v$0tjbqc>& z%NX6z)$nP?=u@10$#LtsLs*}x!!Px+5>Gc0nL(Vo#T~^B`v_Kex&wbD2x7RbgaMB% z^YV;bLQf*?5YYk%A6-t!&c<>!_j0JfSc*aacVD(W${En7KbHx9jkM^SHtJ^|>HJ&D z=@Ej|r)WPv9Zh*keW-HUt6X|le)rnQ4o1Dz(^;!6>E(FJMXvvkws(P#vbY-mce9&h zfrVWlLe!|KM2iNM7E~}n6GAS4z+yC!Dxj^>ZE9Ofb^&Whf}04-<5u2Qt+uwceQn>i zZ(n<}7O_=AEa6fUF0JDIQZExjH7JFEl>EPE=6QBEAyPlTPyf+n_j#UqX3m^BbLPyM zbBR~`%qpe%o%Ro?5Scg;x*>6Gm6buyMjH8Ums|kY2r!YeYy*Vqu`=Rr^2hI%d(rnG z;8@cQdWA(+)d9A~OGmjEJpc=b4-$iFYh|%#YvtuGHG+j5BqVA}m^1zA7#k0Ld6T~U zhq+93Tlj zGRBN2^3M>!|5MB>YOa+4XmfNwuIE>Y>5=XQIzqpC)jV=;1XU+D^p$Fv2!X9ACe#J0 zC{KHmY8gN6$UF z&v4}#C@&}J6$c)MgoSoStS>vTRw5+e2jTq^;%FIBM%YylN=^Msa8MT9S~kN8O=a!u zDAUBFK7|w&yB!J6%VWt!YEvCEbt{iRKofLKd>H~F%sW=+PSlh@dl_mrqF}sYmh`*K z?`G&|GwV*#!hArz2~HE*_-lU6aN3S$SvzL7b)V(g@xbBZ zMcahu9B_CJQP-QUa78EL0==oZt-s&1&15=t5|GyV;|l~U?GC+@kD2Zl_O3ZDc}g3z zP^4r>yY;{53@F(>44yy)(!)&=g3WtseP7zV4U%_Qn&D^*{P9|!C4T4KFHnum+-1EG zl?ZXKAwP!sayMHh_sa1S_&PbBw;3X4NV$zxbw*5ON5(twb*VU1VBe1RQbcQP*3X}@ z_qCrlG0J4d?NT>WhFkiPeLtd-)ny@#cB#^2Jz2UQrzv@MPV!lHv{z#rw(f9v;C5L% z9%$>%Jbc8k_$0ck{hn&hdOx1U3;*07luUCb0*<#pz15WIdTFE&n-*5=mlq%8z|X{o z(XnkNaOuRh*|y>o^^LD*yNH!KLspa(zQem@IYP_kh_MTGc+x9ssz7tB@07sWwTulC z?9^Md1e?bfTLv31RTI#QWa6~7bjczK+>oIbQ!US*6ehO!?fDPHI^Bnla}?b6My3aM zvqkNxm#yJd6H0Ldbl$gyt6!asOtT<)p4Q8Yb0&Py_I9R+gu(ha;fVWpYQV7%;yFBT4dLO+ew!<)3|fn{$JYvUkC4a0hNtDaKRdab<&Bs zBi2ag$boM*wt{(0S@5@Ut=m_QS)M(Eo;I%>#*NIPGT(|DwSVbjOaZHR%J$mC67rF& z?>wd1D)oJq#B#%<{zH{0c(N={QFbJsfSSBK8AMFk?&-DPxY>Cl(#c|#Q+TTcHf}qf zSt6Lw%s70LIrqs?N4}RfL7)$lytvvrs?K6Gtd$b+v}kMnX_DH3oD$++>DdvR?ut$? zL2*{Jb@_)5&I`BheS>JYr$OjC`$VkG=jn7x<`->gFrf_>wrR&7xu)m5>Kc;EUGt{id9$(Bs-lB9 zwy!=GzowV41UQp!DcVhNx;BCoue}cHvbGiOER~D%xriO{1@3qYXe1W(>)C;cGeXRU zK<%Nx#P}ao^J~0t*=52n@ntp$*-N%nBr?2DR z2dA$Bh06k;-xrwJ!Pkyuf#ZMHuPCmbUlv&LN?_v7Wq}uaxOx5bjmrYBZsXUi=@|0% zbo1-V>0GD3{q(^1{%+prdA;bBz@4|saIHQ@8*c?BQm}rXkKeD^zp;8a{@SuYg?Vigj;^lrZM=f9v?sZxohz4)w7S{>#MS522Obq z-_u$NGpwDxkGH*(xq&TT?EQRC$9$|DT#=h&t8&LiYpoFEOEB+-In10r5%i%eOP2fA z90ljiD=*>BX9=`7W%~@-%Pb$+rpRLD(--w0!g_o`ytc17MriGMef{1wntHImkaTyR zU1j3_T7D2^TdR1~w!25$u%mWZy2Kr{Qlg7qMCcDIhy>+IRJw%;23A%`Fw73gYd6hay=d)Bzm61YZ(Q zUiKfm0gWj?27yv?c&w|)CINwt!dB(R%5j$l)=bix*RhfIsqfLM1~f+xC6dp0wCWSP`*WCc1eKhmnnkl z_0n}qvafR>3OB$_u2PSDhvDC$J}o^lfAmKJInMKmRq_~h1{i~#q+~du50U2!Y{e(+ zGe6dpLn;a%NANk(;Z6jEo>3{*ucc%n?26@5xsMpwBSHviH)^rTi=epa)~|CK%?{Yw zNo0qK9NkY0sn7q&W}<;s>56`_{%f46=U7B^lz}s*32dSXDC_sMX$m}@z=&?^IrJU0 z@RS&TVZp;XDeqOtxdEk%K3LvKb=J-jO%Nux8v=3xwrN+vHPxjT7#!;eg2BYK97e3F z;Ltu#f~jVroAva@8v6*kug?!2V3TXCIs!D7FM)b4$&d>0hpr&dhAZ}7KKql~{sL#` zT)%M~u;fWe>Jq)ob~F==s7=QvW>5LQbmyHcG+Tez->=qCPUvmT{`?F4^G)L<&Zv~WL1a~)4I=U+pUWBt;n}72^F#h@DDe2{DDCw41MX^zZ%Vd9JA zgn3Zp3{Hx44^j2vM%rZ$@4M&g;f2=_#kNNB6Um_emAh;o@-+o@=pw9^PX3YDewIkh zwn$v550ykZ3AFsTEPj|lU#fkth;9&u(#%Xej#Kw=4uAel_LB1p)TV@BqS9Z?)E zC?<`=WUsg{b~~!(;R1M|HH&J|0bNk+t+{r}_-z3oY4njkqWQiZ)AtqJUM;v+mabikfcml`Vbs7wDU%d=jUu4S|9lz;>5 z2`kwd=4#39-1Rj&dfu56^4`x=M@Lh1%Y8CnxCOHr3 zpXL121f%&Y%LVZww#v?CN35+swu_^QmE)FY7A^4AlbFp9AHr68sYg}MX3Aa|Qer33wnROF{C|N#(VoxZW8rT3+KTn$w{>13zhy%lP)X_lf zlT4{!;xUU3oQ(2R|E%>YibS>_v8@Cs;n2$;drlGo*!CQq1gvpL_EboA-og4YoU3Bv z_qv$&iQRl#PcdSPA-ma-9T!y-$i12ADRpS~R-xThL({Ha$HS~i0J0c()-bC5SFrcW zB-aIwbPpePdk%FA2jMJiO2646?!*E7A+4J9O<(2XoNp^R<^Y`AadTU$MX$UST}13T zjJqAVkq#B^IK7=7V#0pJy<)D2Tw92#^J?Ii``o*GszW?dv(hRVX+;kbq>A*Ii~ZOT zkReB-i5ye9Cg$=Vf%S-c4q^Ge z;;e*s+-_xU^K6ebba9*T&^;OKX3!GE`rIpDx3)@jAfc|EvhT z+tHDMwJ*T|`wQ-!+yJSUlSw6rlsER893A_oP+y%cSN+kP{-`7rmLNwZGqTCeI^fof zKL~LL2i^Uj$LzZzRbAtsP#&CMSIyOk^5BTn)s*t!loJ}Nb!vq^iB@#@dE9>v?+Y!o z;h2_utgE+!GHKAM|M0HEgfKFJjFxSvzP;3SBcHGFxr5I{IxL_2`TYo=Kl0hZXCI&U z_>AOP9v^4ERa-B?EJVb8+Ix-lWpDhJ06O@*8bdJ_1e{? z*hyd8#+X=tzYfjF^{JnWQa_hCKh=FJi00%JUeab%JLSDE^FIz^KB6tXytr5NIs})M zn3z(l?Z;$ayozGmZ2Y-fhPjKY$qdYkh$5vOQ6hBGqVtvB`YfnXvfUOoZX||fn zmxyW-5OIVx-^I|HS5>ftHaXff#v3d^$Lhzc(<|VGe2H*E=7kU}IEPQ3^1vG*Cy159j)h(hs)Z3clU{>m!Y*g^oGNE= z@bi*~#YP~|(o8{+PpxTY^Ae#syXO>&ioWj@T{N;t7Zb~TY6wi+hwex68xTPm8gZ=m zQ*FxXgJLOXdZjNKkZ9$X>XoKj)-A-kK&vn{D$DA*lkVgt%CbVtMno-@d6o!~PJATJ zQEM6*JH})O-!4~%TmCZ8aeXZP66%QH(g)Ocew68&LLL-InvYx%9bRD@!u5<|vxRn{`AA`)e5=*leEH-+ z>!l3k`U-dPs)(=n+CZ!ELP&H0MbA4VMmNm_ zBUPMv3~xR%IhxsD-q$m^GS+`)(|Lg>?dKUpSlqm;Co8s%L(E!qE}K6LyuBHU$Nlu$ zZ9VRpI%TVSPDRhR*%Ej<0xdtG1^SmLzE^q_pS(V+_|}NGI264BI4h=XFTNl;%r*?{ z8CG1#HiKNr`_p=!5xIH&IJ5o*p4^h~$Jf`8ze!bK5EXcAivc@>^PDzV)9OA~U{;$4 zOC}JiZU3?ZwIjs?vDQp;e}S6uP$m;xG1Bl68C82;E@e~a{I(gAUZ4H3)xK3Ch*<}s zBzE?xaWHvkvD`-hZ{3!Bk4dy0ld0nP#Q<0!^0*_6Lb>+wUzZxBpJk6NW zZ=$Wv6w!Ako3cGA~seKpv9^HKOf~c?bNg>Lfky8#OO5M#z zA?`M7+xpQQSv4P>9KC6MsZh7K_}b{A^$Rm%Z5c@-2nJgA@+MX=XfRjzGEbown?44R zZQ$XLybp*nuW#%N>leC9Q#C}N>HZ#7ByVIGek6u9t9zGi2t2tb_U>e+@|ut6pnv(4 zz}jC@e2v~+EI-HG4XhOn!EyqG3lair*K?Jq$R>2t-A(+IUGsC+hk=Km&1icg!*le3 zv9AD++tZ&0&6Gn9*g=BW^{k_PjTGrsl6=TFHxPfQrIAdO&)9saL#%n@;SVfOf^ST6(b9ooq?XjSJ)w9ZApAwe7+acAj89%F6|VS z^e9)tZYgVW3s4%`&k`FVae6Y;pG<`y&6)NjA40{yMT0h;+Q#V6G zNo1Z;qt}g{YV}CrYf)+e?ovL16nTi8yFSWq*Xw&LVRASa1w3k^hNUSXvq;geis{!K#V z6ukCsI>dS-`Ez(5JzhcJ$x?T0^NX>*`GK`!GQp~T*E+qbhxuZ`&E2$*zQ-CLu|+ zHyrTzWREm7KB~US@Cz=wPzENh>Q$1@r@Kp#HK-%~lOcntVWr97H$l+2QvAZvG5JG1 zUy;)Kh$Fr4mT%3GW~!82~VN9K!**0=3`x8Mpw{P~*`EBedU zkr!jf%6Cyd7SPn>LwgF_GxiMMUA<1i+fL=p>`nV=9SfB%l|SMW4)_-nb_dCC0c`mM zrObfDRMYF}1lIa%5oJ)3)cSRKU~-prsk_&s3WbtG;a*KtPc=KKH2-Fynz`qNxOJu%zpRq@@OVv0$4o!vT}aeJ6Y^{Id0|Dt^l8iI5rifY z^2O&D#8!D-(J{cAi-}vOnvtWG)jj80KCLCnh~pN*+4VSF0IV_MSGUr!xBu-nXq9@S zzf3cyboA|^x?$=7i}fIV`!E>;4%tdNN;u4rj%ib#j*_Y7%IIrLCYvkmI?+)ANK$f| z`N}n4CFVhqeb3fmF6_~Gy=BrA+1}X4GEr{vo5lkel8V=<%LTWm2 zqt+B{{Zwv%Y30>X0W8|)+(yif! zN8WvoTc8|89Sm#-7qO?O*+_)GgtBhSpK^%vy|b)EsM1IT=$l@3jGVl_)tMYYMgkRN z=qx(i@U9l6kcGS}EN_eiCYysCu{%>ke^Vd%Vh@M`i6m*L@b#}q<}W)PO_x{&&Su4o zkCOal6_A$M3Xls$ZwcgmQ9W8)*dz)uF=xIaCb?y@`$(%&s8>QVEJ6pwT)!$2>PKXY zkAvZhrglF5mHm-o_5krL9Div^l!liVy&9MOp#!z&vEIea-k@i~@Hl8^f*v?u(na+fMBFZRq(OKzNm_D6Bce2Eh~nkl2Qq9yqa zkJB*L1=kfFSzTzKRbR34BEWN?OL!Bys(A-Psym>03LwTC^Nmcde$PG3z19EmJ%C=J z{Uc9a%)5!TL0I1gD|F0uin?1EbiC@Ah^tP0hT4 z?U?!w8;ZKon|MDM z@7uZX2xzoB<7a#~yks+AXTEW=Q7r}(2T{3jl(|a0F;L&`!t|o;-Arrgw3$=(6>V8Q z!CHNg{T%etuaA`rKY(7^4ZS>H^g;bwV!lE4^2%Ixt3;-qu+u7Dm+-D5PdlN_TN(s( z*~?dE7j27v5iPVtqCH@Ue|V8EN^p4*&AFk8KhW|LZ>%4FnUBOg$Nv>*c}6bhxG$@6 zN6%#v1X}*6Z)99nl@UEfXO;e6eZzBE6;XYE$Zwjnn*1nd)?3%?H=)g^*W@+iui-Sg z|B9wu0ve&86QL36sK8%grvaD#V^+KpA2La|K$+**nXocgVrji@K_-B2t@M(wzJyq_ zjV1A=J{V4QfAk#U$lJ$ydgVIHHFvunk&- zde+Y_Za&~?*%p0kU1etSsZC`zeE?ECM>c@5zKJWz^;vF|33g4fzW3{EtlMmW1@>ub zg223>7-z+DIX@OfWA3`SnOn=eIo5)b_=xz@l6bvO5^ims)-hZA*Ksm|$ zli~Z9NeZlsSESAZ;jb@j{9V_lE%y>4Fr^!eEOiw2~Bg)dP~+L%!PC8XYw6rI?62X!TqPfYTgluC}0 zQj`hheYJ_(f;0Mgt$u8*G3X-qX!J^_hMv#Jt*zylhE8+tIki$H70YvUi_uf{HmoL=4=Ezkw` zpHOfZq0gUH1<)NJ(k)!cNGvZ(*wzC0icNL5-pjcupTG0j#OHlJt`m<Zec09LQRm8_zKI^$Vt2wN=%Y|2N8w3ZjB#q9}T- zK{>>)>qq$4{wBJMWqz$eKWL-;U}~@ou|N$|P*FAFF*u7=L$Fd-vVK;dSCBkzXe6gf zWuBx|Wzp)shDRL8(&#A#AHf&AQ~DwM+wpvaE3H0eH+d`trWx0^cQT|zG#8;D2dFg3 z)=x`Ot&ZeiSC(&Ah7X=yU)m%v^&!39O#Vn~ZZT4>KcLFw09ALs*qW6MMSSd=sZy8% z9klCDL#wGj*5QwR<(NDA0~@Z*bdnrV(n%TalMDxE#tg@)wmdYKTt=4vi284~-XQc? z!#@TfRK{EE-Na#3ZWDCadiu?^_(ruZk<&y!i63YJ~XQ!FqjePP7!Wv z79peUGQq(^V9HGVw`JB>W}!bD;nXu^Tk9*cKS3Gazb!+Quam;Vb9OlbIh4cE0Np21 z@?>GbNq(odIXZr^>~}Un2>Q-K=SLMHgToUYd?OO$_)D#VENZLshO2%z+m)(R9)j}h zY6lG?hC;cNa790B2IYhjs41N4v%<5G4o|G!`){lNPn7We+g46q0zEMYMC_6wFIak# z4E=+-tzZq_ovC!BHR6FK>ph{UIS~?0dgMvjP(0xqU5z|`&lE9{W*lc8=4(MP?j3~$ zZTZI$Kc)Fb?)aRW)*M&7*|38tWp7IvUztgIUq#JWH;LJg*x`z0)3Ob= z;m@r@+a+lm4nHz)R^WfhkFI@b25xwD{T~pgM-upLiK$FXK~x5T0*R7$&jx`;f};?) z5Q}2IB<{pz5;F)9{n0hjO=Gq)Ck?EbVzeU0QXc~pMp{X6$Ue`&B$y~?87vbd?pd9K zzooTAVxs$L2g`U#?jUJxF%ksO}M=ct~dFCunlC(Ith9yt>1bQr}#Zke};eTNx(X=w^+`1tN?uJR; zOyqxogNQF0=o-MJA{*$cK|rSfrVfpNA|Osrf}BDwzmog`!j!XdO!hv&Oa$jo^(p8w zh7MvgyPMv zP2zYH8aRDCmgYR{)^5Us;Hu^LQmr`k_0Cu9Ej<1i}bSxEclvRW>0 zN?y+5@@9ak=JO06{g>g&kTd-BKhs|^F^8DwF9|EBSzFON`n6*--s)LJ#~T7YGZRy< z*yyDeRI69^qP;<1JY~<}sK032%8LWP!mev;;8*2-YbS?lezd<=Q{P0i#m_W=3_P}2{hd(v@vCKZ4Dl2t$P-7jw(`-4$5bS|Vn^BvjPI>1&$-DsrLd^>-@I4k(f=>`|ZWwB&S7M0%E(QH7XzxL0b8 zzv%j<)0F@3KU%0{1k{9N6dol7S-fSgBZ7a@NgKt@XQ~d?j_{7vU$s1YmqIz z%{OEoLp=APSFq;XgywVRO;*nL!!S}9sQUw5jHARdcbQQ^*yTo{fLK?N75ivh!>&Qo zAaTblOiEcC`#dYpWS2EUxN${s|K#xf0NKA{s`~jmdLArkUvt!req#05tHK-XN8fZF zS>AhZ8d>dHbM#YEVst3^@-0pYyPty3{UwHx9VLv7gqB$%syP^E&O#J!iFunD{qWFw<%&7W!_ z13imti~+zIPvNA{g4H+`%w0-EZ!}h7Rp3p`AuFRlep=wMx!&0Jk~ooB(Oj)4iK!qe z7hzGI>hRzC`;C!g5MmM&$1e5lJ(?wHc6WY zuQS*2cS&7odN;}@t9BaMVLzLw=#OVW%>iq{G-CG!9t)NbjBMc!5DhZ#vCg_uJU4ArBP?BkRQ!!7>yXKKo- z%V&6Hh;zlRDtVxCwvMe;$mxljWwEk24v7>qo{V?CjCUFrS^U*OU55S^BBx9rAFXGE zYf=MDpvGxSQX{OFt@!w*`XuIK#(IJoYl7`~XFK|Kv)nzldx`xn!!AD)Gc%+n)?Bk} zCx^kF4}m8UE`ZAlh)o?S`9=qxoayE}wM<(}i`nIpW(!a?m>4YrAIj2kKgIkcKQHvb~}=CZ9<^*FB`JR8KRf(iD^WtmtTbK5AJ1-@c2Q! z95kmckx7fO#fd#Tm7a;s{gBg^a2Yw1 zxdTR3P7~wfyO{x)F-XUAPUv``Wt+6l+(h}L6~^g9D-{GD+f5zkQ%9`tLck2P3cLe= zT{sZf9qc0p49-@s`@+E^GbE%>3yL(P`6oacIU6WR1spkTXb5#~58&0**ZmD@8UW)H z1E}wof9Ei$&mm9>k$!>;0Efx zeY&h9Uci{)NwG=MlIKL;nFQby3)^Fx-H{3~nj1SlHaZ&7A>`dS0nFL6W+`bqM!Pni z&7DEhW)6d&nncB1g{9P{eTJ?Ixsl{1DS6F=c;vK5QWn?RGfSqMB!ZixdB~?79&)`5 z;Fu&2(f&mAO9n9`zFen{8!m=7>+;7<~-PASGBvh;T_058OI6C%w#>o*l_Jyf=BinHs%DT(!~$i=T%7%Mp{Xe+I}e zd=L#QTmp76S3ANCW)B?$+2OUs-5T8S;J@#<%?^XP#R{r>8(mi_l`a zsMYpp2DbDLl76x!=u%eMp%BhVQku{RAKjbea3}I&qUvfs92uA7aKd~!${*kTJ>D~% zO@jEPV+@bFL2XDN-XW%;8ChvVl6DW#Mp3ej&z!6Vp$(~F$fXh@h>ypj;A~hPIgK*4YJEU11SJ)nwi{6RNu8m!+=b|BFuu-!4z`&+YN>|9|u^!=A797QyCC{vmkN zZU`%lHh<3!XE4R+UFj#1ScZ_rWEeyi8*&&9-62N*EdJ5+Vn_QUOTqi2vc*brZhpa$ zFHecPJ=4uQXx3s|c4;dq5mcAPcI3z2tzBYm8MG+a^7B`T;iL57c?qsr__?@O|3J(IT0RnnklYS-e<+t->Q#6f&g>$?+N6$y=tcFSxWOhghhSd3;Q3@L*Cp5<7WF-ypYd=8J~J_M7a{Gp7(a}*w{aSm2motf1}HV})FPmuMT8dm`UT)V0WCzG zOGnEgE@MYm+xV2-A}^jl)QhhUeDOKCOyV3;JzK7l_!be36)HadyehA_q-x^)SY(I* zCdeoN2eTbyPzCrHqL#{H7_GU#R9A0mPw}Zuz^|h4q7>;D8`6JBo?JKJNtJmb>8@1i zfG0PYC%5n!6CEH<5zG45Am~Xd1?KY z-QAcQzbod(P5l+?D&0l9SH62_x0Hrf@-wyC7T%vebtvF=mShJ_9cY7e%MoqB1kA-%Hw+v$&EGH2;WFhRY z@Jc=(6ogIxa{`xdAOP6M^cTB~1Lzh-en`c4u_Q5M?x8ip&~Tj)n-*&cW@kqe-a8UG zrL;5Deo@oUSOfO_sp?WdHaz6^04oo=b}H+ykf~R;`O* z&hREZ+~BRh`$W7sa!wLt;0;IzQh2+>;0?htg|`y~OGMm&@TC;a;^T@Ce*-NSuzj-5 z6rozIq5BpG)_wy{j37B_lNKcN_`)JnNNkAB%q{Zvm}D1<>4I=m8UBp;H+&+JWY`;- zA-j;P^?P;~SU!g8g1vmCcj0+7d^`IAIDTfV@Akmj&%^8h`Dp|4U3@)}Ewr27=4}Je z79ZDL#!FB5DAx1b6LRj?v+D_r>0LeBpTJnj)w4yXI_P=g2@G*uJ&!WbUu7T5!OcE( zGe6q?PAnl*$FUOc@t*s5`fC&}-Ft=WcB%r%Ojp(|CMITp*rpBcU7CDo_fBL`eva$@ zDes94Ilvd0x&nS?(}T~yOKpxnV{~J;L?1d7v-!eVrk9Vh7B+{1fbUL#)%i~}$ zej@0$?v=%19O&5#0E6*)X$qg%?|jrB`I3%Y__HC3R-_dzRrl?svR&}6POvDGYz&94 zp_%G(#eF$t;w&ZZ9v~BTsvm(zb-n$j;YSY|ezcY+T4dj}&fHibH?-7f-?*6@8;(3) z>Ke{WseG)|^}CIw|NqMJ8Ot_Q(O&cq@D$oR%I8!3p2+7SK9}&B!RJeSX7QQJXB(gS z0@ujopL^s;{y*_ALvHDRPJDLqJNhM$mqM9#!7RSBNBV{hA30*A-{I$C5`;UaWGG%s=5E*8paV% z^t<*r+}S8Q=`#(NatB&|Cu`G5mfxI#%Wt#J!u4-?N}%Og*{P%tVE0k(XwMu+IPO$$ zumWf#X&%r5^1#qWnS^#3a1v;32E>imflueflMcyOyUYk$ottLxj`{(d04P3-)>N`#)N>_5xC#vM^R3#dhS2>mZP*>9Ui7I*d znPgWl6G%onmAtJhxy-2q&R(rv(+bl8G@zG~b>ta6IYw8cnjzGjOa1gsjnOkV$rZzN zAJ>A#!}~IGQ#f{3?~JH_qZD+2k!ZSa0;qkxQItE*vyWpzY5I>7mq#OVcn~>S6S6+C zhIN|wcdK9Lk_`o{`jRXX#RhO{$&^!L2Z(~y?-VW|tz5ZEa!RW`K5hW0 zLr9Erav>5UCl@JDt#%QtoOfl**}gPB&QP;i86P!ExAYw(?stXgXt^(iv@MiQZM&>5`A@2JqX0;45eNunlK zox%y9n0rfnQ3+Xf1fLZ#1c+nkm7~71i&4Z#K=M{-uj^8t$vJ-Np#SNgQsf#u$`8Mw z)}6|4)-Ye9rdK`jdwfX6N~?nKv>2TnD(MTzd4nr(@8(4&o~hV}=4oeY?J2dhrdE|x zg|;|guR|oI*DyEABzY;X)w!$HcP8q65=`sLx{OUN;+C>g&1Aa=nQ`;dI?txN%*_ju zH_yhtVY#n9$$iBRQQ^UI?OkLA3A{hnlxSO9voq@Y0=5T|rs3Wj; zwcI(-aAi|=QQwLR{HX|F8GD6vD*|=s96CRcF-!r!KF>}m3A+tV++pZQX)u4Kv8IRWTa$(_eZp~&sJjB2&_cGlvH z{aa?c9JIDI98aA`=L{V0YsQ~!y#ME1JwgM=`zn-wCye)uWsi-p;ofrC&_Yh%Q2b z)KrRf8mHm))1feE%M^%HfFYbD9|7*jr{x71!d%@rFE(^F=@*xGK%nv#rW!Qhik10; z)oPo5!Nl=)MpF+PmF3A%?toz%&OoL#NRB)_RS&w@)RFt6R^59FFs#z_?6XR|cD$it z(m_3Oy+CKejEFckt3Y&#(?FqL+bZeQ9YJ+#@{;#4Ig>`E9-nOoB~5q?yHr%INi&K!pfeb~{&UJsyU z*xrvr8+qGXw;Mw44E%62d2JvRc`H|aH~G$pB;`avd5!ATBPrgTXFF`FQ+@BKjgQF4 zx_{NE2cf+*V(e6No$3ND_luaBVm@)XydE0sBuo-fnrsG{)@pTijkY=9DTdald!c6 zhO7+Dr=vHW&ge9p61aPXyvpE^8++o4VclP}FVWpknvS+yPC@VfFJ6LSVG$WvD;}8B z(E>I!HF;60-i9&BWLM)ExRWz4Wl-h{@0DO3PY0!I49+#2McyS`y2*!Q;2po>m#1s& z-m4Z$@w|Lpd=fAeaJQYHYH-gQ)ly*YGx4MvdLG-$p=Q&c8kXhp7 z5O<>C`lf8|OmnTM2ANYq#$>Z!OttjevxaWzw81U8V|!giAg-ZZPx5KYpAc;d)EgW_ z4fFj=Q&zxkOoM|)$T3VB`fG+^GX+F!yjyJ#S)a*Z8sk@OjR4VphQKZMGvK8r$jI4%63s=_*R4Xy zKu9F#KD#f)IBnh18Gbq$q-^9#bKtp6<<(c|xe>95)a^;RS?nB!FYlk){z1 zckw8<`*!B0{3z;;E-X3{oo4{KEFF+%0_lLDTJ?~(NQ3x0o*0SjLIY{fc?nj(h3a!a z2V~~rj63wjMlkJ2_SjO_*7Q$p?Q5Iu3Rgi>)oT180@|s560r%$Szn0nh;2GySt>bj z_ZRwN-9d6+FRTUCx#}<=BVeNAHU!uedoQTQ0AON1e!@j<_2VS?LU1^C^;p;jMi1ld zqTS2iC8|G9vI0Sz2qb@XVDu>7B%=Sjpv8|*bDz86G*WF`g~U^ z({?=&-uIi?E=+24({TxjBgRT146D0G0hbt~-FK!YTpJDPCWub|?0BS_;2^%=uNJ%o zF$dLCbEnm-W>T3!_*{eV#xnb%`n0rTE>F$A#-25S7IEwpW+$Vr z%Z%3azg`;i>9ZUWYJx>a8UnD(-W4h9$HJ|rcM-1o8-%MCj$Z$DxOGUTLcWUAx|yoi zQ*TaDU(*E;H&RFaIm|~$7WM%A|1EI5T}EO zkU7H5npS$SuSkg>a$bkf@q*@NY*SR;NC!)^43?tB5*264A(g=sy(2+gf5^{K&`07Y z8yRPBD@=^1#B~~1xR=YZCf4w*cyeg^XI_Br64hq!;+Ekh0>w(d`d@h>8y&c8;;Q2W zMbgiB@?SiWI6`{2WA4`am-ScP65Fy%-80uvgvp4;JtkF`S|XKINs_Hx;++ydb($+O zN>dG$ipjK?uqJ;B8XWo&Pnc@V$?=alDnn?IK|%Z@ZH`>2JXFnt9Hg@HNVUYd*D>75 za1@_r>*){*HR-ZO@RZ22p^z%p#N)3!E&z5aIHgQ(*z#ovqJ(D~#>^If6AnClbwvNU zMfQE$AO{l6mHGnrZl>rx)TX1KNXcN&?`)Xns;`YmgK5D4m~u}7)6cFJApCXxoBkyn z4109G4OCN$UR{2hhUdEiPqljKCnv&l|3G;DQ0L;UJT0RADNlC$)w0t6mY=NV-J9sL zP^i=@_rI%)=+bwaB1xb4@Pm+OjjH;3ibS39(e`CH*SugIAVx>*vzcso)5b^LG(3fh zK+DgdI&`TFQRh{%n8#0sjt8nWI&7?}(+1QeTfzY~oouidn3|lyHt~ODuvgnS`2kyF zMp@ACZM{p*?^$N>9C;W#@0zlmk)J+?ac>iY)*>06`HX!AepfQ~-L-N@6H3`oFEFr! zUbvMzy!jfTfZHM8JlW^A9E2&x`fgf&7NMTBN~n*(An%jaCgH#0@Btzau~c~4domN= zqTR~yWtkG4>bNf*%OYGF++fUL@XY4rB!qX-RRb{n>jAa>AX(cd7_+w)>Y5;7p)Mes z`jOnw+oC(ENXw@%#Tr!zQ?#+4&rhMq@gl~6M4?Lc(T{n5FyhgN48miT+|e^)$51bn zpYXzs+!2yDWF?d++(Z2_TVpU+vysn(J#HEz%{wU{IT$h>w)sf;QMtekp&+oa&5X-m|VUDyyR?@mG-NIHL7BWGm&O^r{hpx_i7;YfW6Nm#X;*m07%=7VH zIN6vN8NdzudooMoRadRqx~6J2U=`wxn4^9m&$qF%=Aq1?wN675JW4F+7Yh4#tv$2A zph=Id4F4pyC#>U@{fHnn>P)VTE1_2-Q2d{Bh&{Qja980@)^AzV^KjoQ+7XC}5-3sC zFL5Y3RTT1Kqroo6C+mM%w+Nm|8v4USJRM9!l7(&HwlEt!9ZckSxgU;s z$6j8xrGm8O-(LSj?Vtw*zfN^(rXvEJs4J{dUuL6hq?M$uuv3lWY{o1gNnIiN4wE;N zx}#3DpHpyC65Uaa`Ue9}ZI14!Q$6Ul8xOR+CMZtrHpC)P#_%-cbQy-e);)o{sAHy%ekPjiAb2RJw1{gedOxIz3LEL(aaGIMATuxQ8YAH|Ptp4rf0_Uvu6k6W z9bOL-2>6flz?B6OD43|GH|YmuJaGDtK3mR<33w20{u8@PtT%E= z`hK=BMtqCKwK=xsHFZ|0Cf^|6~&m%PmGd>g`G#{-^i5}M_)`R=hVR4i2OBkYEvKQ$1lxd5kQ&G-Ou zb+0RuO*sF(E{Ox|!;6JDz>WcCGO%0v6imvWde$cOv;XWr?i^_dQ5l{Q_@4V=mB)@kBhXsKC0Yx= zUetcBd8jO)K~hY#9VeRvdbhPA|h zTi6OugLvyQYErm>$iHkPM&>){@kYxCRdWS-LVg1%^vx-I2W62bG;O7GEhXXl z(^*V>J=dKo<9soqgnpBYJ2z)I4F+0T(?>1x4X2sYrI}s0SfQ=wXeAY}q9SOutP_I( z0#;-IEdeX|5|5~ffEB({Q0lIUyUA>zmjy7dj<1w17`9JXiquf224``565YKwoPh2m z{IX`s^4f6B!I;ll<%_)|CkkEt4)9BoPj7SZnHl{mtEQJDr1=hv>Wc;}9Q`ZPm-um< z@1;N#-mlkp>D7F{S{@YQGm%0hol*E&n~0_ZcKB8F;w~t?3`6n|W@^cJ*IIWzr-0&T9Nq zwzqCJlZ?$~d^ocmCZTr%(l`RnrcH+s7wLVG--bVG;lzN`rJg_P4ABe+*i5{} z`@GQ$Q22-@a3zZ@s1#+NmqtyDjWord3BD7)N0U^o+P5Ut?qK}gl5DIo*;uqb5&9Rn z4JDsl<2)0aWn_nGv5v{p8~yb;8wQPcBl4W?M;!5@Q;njAL~XC-Q?u^V$L<+-K&Kbk)$*1#DPiNX> zTp}D5Q~Hu*{NO?T6M5C9=QmIuIrNRY2jo-fxJG322VZYqU(b{-zV42ClDz=I?x}L%To>$lj2;ajk}KDJzy=Mq#6@ zDIlKTy?PKJFi1*j)s#R|sR6sQg#tPBAO^(yeM(q8^CvynQgS}9U(pO%mR=~K!J0OtqgixOX~~zBmyiHFWX3UHjYU@df zkcR=x;ti;Seb{l3P-AOj)z`F0AQ7ItLPSfKXfiSuofW!tjXjrypi~HI6lqB4&Q`?? z6h7a-HYtwUI)azEGhj#se|j|QGHTTVz=8y2{~%fbX92$UL!f1%nh;p2iJF)xvs*3t z?7&$n+fm{@@RFg5JcH3_jzq2E*u;#qY!k6BGldU*Knu=xMAmjswA?&-i6`0ugwvf~ z)yWkHgapPCEhBZ+W!9=AtYDx)R~Pnvx!M(O)`<@mLM7pRu4`3Al3)z|YX5SGhMho8 zt=C?hcxVfgp)xCzcOm*pVf$IK@?$DVF!@Fe%{=}7lZ$`XR zEdv_;UZ6z`Wu2kHze0PG88y}oAGh5?g%Cu-twvkZtT4G$m!g`E|cH_+fKnn zD?`kJFL5v^9kpkHo&z>{!^>pO444ITAT){(F$-k90kz%N44wtgop9&R`i|D7$@0lt zzvGVKzijNSsvL4ZYSTf?2CLF|H1srp`%LO}h$bE5aGz>f?SzrQMY6m9n?|Ov%hLKl zy}|otDu=GpVbiB=}H|#DC+LR=lYvFVs`B zXI#m$IMMWe#id?MSyUyOp0q#TKfTIZ?}>}^5}p%GqqJ@gWG4?@eY{_N#5q$M2ciE& zKeM&Hpl#CobW@+0<|R)|$C#RzEOlz;9M{J3zurp{n&{>oLSxtelw3C2Ye*+LIklUz z)^mxfAQ{XFMQ_$?Im-$T69(D_PZ$n9igsW~&`~c-`Yg03LDJ_Y%?Se3Q`E8iUE!{q zu7==&_;Ye1Ie(z>EDAOes~jcU+S_GEoEob$()=+8$_pY7>%l7M#iPgB_kZ!KB-eHL zkLj4B|B=cY{aW>i-ch~t4~K|ucQE3O-fE=zojglv2QNfBD3Sbo&ez((#EZ7R$!A^bNE@PWYMQFa3u$8}dZrwt zjbQ7GO#v}Ds~@IyX=7jL8O@KP7aE3Rz_4uvInAvXD3jeFhSYf(cp2-_S$c3US* z>%wyKe#(3n%N7Gom%5&pZBF>!KmrxrT)L1WXl8ZR*d|L-g5`JmdZjQo))Q>|$g2ve+(uXq zxNzu~r6ZHe4oSt$zVst@=NeO8&M1BOu4DIR8)#6ijl_LCO3Z)lWR^pM<7bOH#e8T; zey}yg4~D|8!E8od26!zKjQ+&sV6<2;dg;Hx=p{giAUBZ2u7kz~p%jC2?xr8xbg4N> z+zN#Y{iU(fm%ANKknc?T{>UkeKXc>tWqLh0VZV1|o-Dydyf}4= zP=OX=KKn&kfnDJej#bh{(MQ=^vt*m2g<9UAn5L=lUx|6BC3pL*RZW+tay(L^Whn2a zS+{7$>XsA9lQY%}SHLBwQQVMgr}~Go>pF;lB3nNplJq?^_#vOb^VXJ{DTj#CSQ~h3 ztQ`cvYkkl&drJSIEhUkBvQC`kuC&?;HWxQXXT@H>qV4T0&z=znco_Y=L~?wiDdB%= z?;9gNi1mA#CYYEGD^D+)`X~Pzb6hLNcwS{LWyB{Fwyn&#bq=Y_PvX~(SF~CLN>QTM zVr5tWmiH2NO>Ywf1Uow=!vv_V=a9}H*UQks@~q#7aOvg&TlwvCr4_^Pi_yoklfOATl6Fm03-bTQ}EBhzI}RYOuOR zTnzS%)z$E8>~4(4#!Ao!q}ae+2Z0w$_~Tf@ck`1>(%NJ;aQBN`VL^5vuvX4YW1DqC zsMwx<4!HfRI2(P0yC}?KKb7wnnxxowb{$3Kn=Ucm-D;EX)bO#sC-f)n96#XJDl(S&z>-2CwKtvAz_JQ6_Ie1Ot_J z*tg{_--Y(aBuN@5nr6y4-lfN}M)g%W7vQc(E(D|+RU#w*sQ!5|KlLy><16;8q@Pu{ zya}q)93@h!m2VX~!cHOZY1Imu&?hb@-=Rc=S$XEd@JqVxpChNzU0a3t9E`C8`7gYU zhbSwr1D-SjGwpB83&JZNYQr8|FRrqxF7-QWDrdLRF=92T=8K@yZj-f+fFd3iFq?b^ zLR%vXdb!Tirp>Q3gmo;~@BE#SF!rbcV~+|2XnWJswB{&B{hq@e*e&z(I;cwX39L)Y zv~?+cyDX&p#(Xhk51Y#kDHohaCy@BC@qRfDT&SMZglf394W;fk9%Emq1O^=+e}G8m z;6H~dy?TzB`BlJ*s<%sQci0VR10s<))Xq1O1C*O`M9D)MJ)k|H^r7&hOh*PO57wCr zM%Z~ajBN6@zPLPFFDM)}fq)XsW@L6fFLe3=^Q-j`^K>fgQ!=v#t!;;&$8Kls9a7hh zDSJF^V?Pjn`GI&1eTAF0lh^0@2~UhY+s}i$ujWeoIs^l2tK?1Lx;sbgh+ZzQi8w}v zAsB`nYU=zp{%OsxZ*D%)9BBOox15Ta-Z743?Cf6d7XOL$$#N}!=Muk;%Mr6*te*zZ zw>Ax9;Og{#$5gOtG`-y%8IgP|@(vsT9pI{6O*28mj-F!D|HWQ#t(q!miCoxvsOfxs znZQc@+3T;I=BA_gGa1Mt@5S2tVfVDTPuh&`8Sz4Nq69qFg{(R3oitkGUw6`w$7Uv( zFXe<1W+t`3AjKum#p*h3604aN$x|nFA2JayhWnT^SE+SEI$XWRRh{Q5l}k1wX9_v= z<4;JwTUfLqpSRxO718xUK18w;w=pfSs=HoGlFwv0JU_=w0LbUJ+Up9mMTa>IIw;Go zK1GMql7uVvDk;U9YCyuF`n2^~j@c7juZ^ywd-9{M$S@OK4UC*tDNOdoW`uVvU2(#Sjtey zG)ZHfJT)iQ>B#=uESnV)b6QOV^8@jznUKgSwd#9sYi?%mhk%Dz#wcq`J~~0A`f3bnR}h7}>PD%X?%{<6xJ2M*?VR77=%srmb%d*U$KJlFmtTgC z#be=3&3GNoDs#s+c=|G^8`9wEDveX{xn{q%*Jwqe?ym{UE-Zw_(}Dg|e5JDq6A@_n z7I>Q>_X90!`I*oq>#h%}z?a0LN1T3^vk}+|cCkkjhz3|EY5l`Qy#r`$rI%^?hxv6Z zE803KM_v={Ln0w?EDX2MON4~KaIlFSd%Q;70r|w9&J)#)7Wl(AQKCj!We#a*0@3|x z21-bjE|ipr`BqqNSbd4|W_m`tON_)wm~~2y?q6g|;+kdvU;b@i`}pmMC}Ds2B_~l! zZFrq-{bfV_W-S*0gg!}@QyYGe=Mu0TGp1wVhjrm!Q#hoy|D25QDEe|x^o^G3wb8!e zMZ9SU@5gS+*@^YPs7JR`Jqx>nGz_Y`<*rttjZUi2>~)KycEJxkYD)N*v>E<2{~%P{ zDF?<;fA~=@LF!5_4N@<7MJk>oFOf!Ctg`_*b)>lDTPMYdgc-8J6zNotifMoJm}B8z z?m&Je+kJtY22w~eQ`s3WEkA2}`=i$Ly6Y-SUayx_(m{lk;M1`=lG-I#s}$fzD=|?O zT#ZymcIj0NB^#ncP1#}RrcRp$O)bTdO{i;@7$9uAaBn2Zo$VE+~*uX8nD!JY` zdaQe%Ki<#!=u_847*7s!`fKe?Jo_Z|?CSyt0m@DZGH2L2^*X!1rY9RRsj>bKAF}~w zK8VPQ8-*GT4T=mOy(ko_?mxv(P5N>yd7rV`t**kYQU50K ztW?*1lLTKQNY$&_5@s|`9!TQ$n>3GXw-X)-KYX)qW4`QPUVAi4_8|E(l|iDoUz2zU z|90yGXG_vNjRYci!3SmELN={vFvQ-VW0595UA`AdkM$0#a8Wa8Sy?vMj{GESp-XLj zHaYEW6WQb<)TNFzf_Bzs$8dQ27tA6=zI1s_7NMH(EjS6H=bJ~%C>o*tO<-F)WLer< z@g^zytQC>Pfgb0a+v9^-$zA5n8+dmwty-NJFS?S4Flk z@Ae{h^Pce1q>CiuZIp>#IwA&VMZkOF5hHHNpC{F(J=dbcyJd6pRL&n}yQ-a2^Nb;1 zWIuMEyeP6e)H_@|Mm&+vXql<%=OK?ILCfYygPGNRtR~!(=^MGd7MtE<)-Lr0y2{P# zxHn>HN{tAoIAI3+p40E!>?CbpB7LNbKbxMMi5_$3zSJGf@HJHTEQW36&VQc;< zasnK3({m_b)$qU4JyDmwuDOoA=pWq6-K1DGkz<``xh_@Mz>uYhR3F`7sJT_qWd*wCEZ<5BzAMQyYvXpsClp>VJ6>oqp|9euhXl&th=yQ{cN$#UZa^t8t5$SaF(|QjI?BVdrrM^r-RD@JFr2Rd~h+P z^p558yXb0iM%skEr^gWXy{iV!%A1p~70PQt+}dsIbgCnWD)wp|xzq?g&l&_&Ly1KG z%!rJ}1+G)wpl7Y5teO=r@l#0)lmbUpbnI`_0kz-GyZLn)>Sk@D;#ekD+#(y;*LMqd@x}VGOgeG7_kEa?<}H!2vPGhstp)TIvqhJRoUDUU74ZTN2HD<&6YUE0k~)} zu&+m{)LuzW?-^rH_3%A6 z)5jfhS8tEUussg6N{~AI@&m1h8DqhVUIAN}Vfx4ISRDPE@%`B%@okdfIxh5<8tKXS zHr=kxnuFSGMr>vb5aj@2q#nX4N&K_Osnw1x;du_&leMhkO+E-Z58lxNho~AWzz;Pd zNS(0r!5~DvvXfn#U9YBU?LnqGxUDhPX(pv(C^(p#zCSsg6*&A{@5d!Kyl8GkL0{|h@bOW5MYiX3D zLaVck2!s51Ku(}EEV5}(kL>^~WNvUKU)(FO*emj#uj<%h0fHW_s2tq{0a09YdB~M6 zEbJ!)FPbEFvFcjcFg)!I1S@+nGXySpND0}#B)ZO+Lo+kIr1&f8JyeqEiICDS*!=m- zkF3&Ad}dyJVMtHR;_nOAVpl+v40*p{YBu6V0ID9lF@~iLT5)x7Kik7{Wl$y9lQ}My zNjw@4%Xm#m$ISl+|4P{!$;qj+J^BTHPU%|H)6$w`R{STuI)Au?rUq(FCrRtJxk@;n z4XM@D;hLNQEvC%M)pOf4&brhqh7r^quT@h}D27FG6c%1mtG=x#TMjZsTDDrFuX{78 zPi71BJ;s5h?*zBkw;}eS)ymHaUrTd)Jz}NCwo6^pVUNJ|hIMJ)ZDam61C(7f+zU|Z9H;ywySxY*cKO)@%PT4W&#iX-#}H6t z4bZkKUFv1-v($*K%8zfu(>Xy*3#i!)cYJ1p@`KIscebO zKGs&8fA#_%4&^C)Di3VwQ`3*Ooq-1QcK1qJGK~KW!}uF*Yn*ynFO6gz_4Zsb1(G~| zhISscc0q5WuBuU?3k4jG!%!p{-;k^Zp<9K0yJaDK8fdTG~Zi-(WM3S~MGnJjp(QQu3p@fr3+wQ8#Fl+S79 zmy>iW(x-u9Xg$rOsjpZvZj^>;Z_R!Y+!L+GC=gOVI@|WJja)7rOWZ5BDcvqxzCqqD zgI0xJf_9{K_TiVHSEM_&D21(L{|vsmShNhj=7rR!z9qW`S%m$tcw0z8C=^MgLK;80 zP*|UAd~nZiJ1-5v^jDpOJ2FllxD0I;S0bxaS`$se2Z1G-eI`@6@mY(N`msSw5+6Sh zwn&M5H0-^Vxl3A`><1*YmCVXiXe&{VKiaM*&`$M)Y^>+XK@(Zi9^f3%6c#s1S={jG zrFhs!b*kBUXKmU$zK?y!FYjFGyi=X_4$JY!w38$6kq*^!Z5kJyO5}S=YZ(;R%%`}YG*;m-`|{*r_FFzJ!a&?-Cl9mP`piYuPRw&H zr95D5vtMwmQ~qfwZn5{3*6A7h~IU6jEziS%@0Mf+`vQI^l?OWxP-pd zsCPe&j2gZ{|Nj42`xd|^tF!;4N!tK{H%P!JRVoIpwnDX43aQ$A%RRM_;wKl~9E%+~ zgalAaDW)AwU!rW&&27%z+~%B{x=#`D)&grmv_*7+;$7!X4QjavMX>q*p69&po1_%= z`+uKXX!4%(p38Hd+j-7&p64C@-o)Sc;JcK+9Bg4LuGQDVZ1>D>QThV0Q{Inx)*wJ6 zT^(-p)CVn<(RrZ1!)j+pSeK9H{lieth#WJWlp}wyI z6I-X7r_MG9&kptV2hMAqo-%cIN^m&tjR%~qC6=ib7UbY4KWTZl(PIk!G&)XQcoJ#5 zYjH6r?{{gW=XO{pnkT^E#y7z6;|0i38*KD|BA? z!YECDK!Z;g+zOV`+3J`&GI(~=p1>KcUh~vyb8tkcEhW^R(zGY|5&X(i$F_xbAk#YD zYW^wl59Bc3RhLH?%#IR>(pQbGe>=IK`t<4{S#NjDD5Dznsek4ET{*4dzcq>lveV=?z!!V_3CLs&&NtL^b@Liq&c8Q&GLNWyqr-Sq> zi)|s9fM@x5HiDj+5p|0tL7BS<&%VU+`iafsF)?&hor%XE;&Es@EommRKjy6Bxo0)b zcn`J+Of3k~w<8vHa~<&j6@TqfI@-&@TG+i}l)@yUzDdqE*dq3c#y;2%M}XYYUXbc}RZ83e~nehfMAvv$FXYzdz@$Y90wos6K z=VF*eV+(;>*)bSV|1<-Ecr5-B2YHshi*!-r^%VW3D%$b_ksaRZ8f=;n5Cszfp}mcZ zYuNr^cT9PAHT^^?&RBPCQaUOfgNCDb8co!841J4h((zCR#x$tDTuKtq(3fw@i}{b- zhs|6eFrL)Tzy&xtM^w^h9WzYg?lf8&+;12}Rr}Sg->9nXsH8&+TA)+3)R)I4t%klH zNh<%fkmPa-x%zDeb8rIdiC3XW;@1enRl}MWi@I3AMMn}{klB1CfCM0`eLB=qjTc87 zFAjq(L7i4FrXA>qD`C*4hkU9PZ&_1Kno`L4V(e!J+sM+*&A~Ua527S-Bb&P>frAel zz`_4_@tdB6r|N)>YzczXz%{3eH?s2z2q1&RZ@M1~GU%=>Bv(q(3m-{ z;?)#WHlus#GVG$;*qMe1UmT->u?W9_cr1x<|djUH?)zabBW%aT`8`RE4WX zM`#}0FOvV}D<<*@myZ8FaUK*bMk>wiKPKJ&)y`zcf5XchH?ipcKp(upJ2kg|z=}M< zN5IG9gn30e$F`!F2z*=XIBshl&)ehKy7oLcHNLxQZ1xGY3$G$M5(M$|TFa~AuA7;! zAc9Mm^d=a7%QsTv)G~4)U~**fov<3>s*E^e`N;%Y7r7qt{Gjn3IzLESmaibxGy`?U)~Y9oj2*#ejgomaB`CHCK|wxEw)ucUZgj+LH zz-uobcwa_i%2ZXmgR>8JaG2Zj9h^+MICD)6-4=RO;s7vPUbH&O9M_?CBy(KaKS+;o z$#HwZadBgdv+Dvpnc%o*NRB&9mDSo%YNbSBwoGg%HG9SZ``YguJy}n zH!H5sK3oA0s(b&z>x#Adue|-pWjhi5xT=6#Ii%o%Ww=UV^2MDRJkLpR4u=KR^G^M{ zi`9-(e8gcXesm1hgYM1%-dHC7ss&d#a%STCYAi_gAo7xwsdKF=XOy zD1K$uc;We#KM+?%5NjsyvoQMDFsOxWAK)t^dmqE>h;$Vkkgm3p5JW3ZE$#^^xL+Kj z`GbT5)gWC~aFtE%zwopN^E`VIAP&5=WoBBe!gF|SD#jOm$h^RvMdR^`q383fjGdaE zEAOn3E%9$o;1bfW@62fe1=Fljy;Oj2X0TK>X?#eT-<&GwOIdDnkZ3$u7l!6Z9V-=*tm^eGBExW z-ABhXT{v^aB53-I|FP^6lW$O2b7dz113E#_g&RG#YH@&3UT4hgcfNxO^zdj{hGhIv z&>nHOb%51N)ynfJ0MJ2Prh2g?)Hfk;X{hhIKpJIGzjj;W)I~_9td#F9@w^gnx2BX7 zP6(!YURhx-X`H$+7)8=xs^#(70?x&e;uL)M7cGZTccoo4p*w$u_G1-(X!bbLFdm zayo9O+|#D+gH;V4m3eKR{>6*%0B)R@l$ciG(}d5D@p%BBzv8nQpMT=B2cLKGIe^b_ z%+55-oHA^fWf=am;*&aTSlY1kVYVT|hH8LH*gueeQe?RqVcXtl9npAvQOhhi1K*2F zNQ+>lR>}_{kY)ugvCNA!q-;b8&I!RW$|j$=Lfuu#@#Zn?^HDK6sj(cp@&$n7a3CF~z>3P~WB3C@?Rn}NJ0gcx)<&G?f`z1jD)AO( zHxyTWQ02Cd4KMPf@u8a;Zw3*? zhuSSJ(T6$~y;KybuX{0mzurgScYr9R9N<4ZD8LJwp@Rrm>I@yvT$6>@z_-G4yKuhU zmC@hcf}kGAFQm5+wDiw*lG~Mkqee^FXBf0Z4RU*MFov(06Isz#Ulm!E5y|feT@?!e zEH*s4?QrxWa-w-LlHZvh&iww-r-vN(rEQ& zsH3}f^(tjkvD4GL=7(zi!3=n61ePF|VD>h|=TNlYvWG%~Ml?lS2Jp1;)1)o2QnTgX2T}{ejV~#VJ!uQi7vH{jq?pwb(MX#Dbk1 z+jtjlV>fmaI%JXTVwzptLTQv%NrX|0`gr+^nw9vE%Fo#!l6m~1Jx2XF(w^^0YPw=!A@p;dL zzTs>sb1Q`tlqO1BS2$5-vn#w#X-da$5DgG}E3l=9(sH)?%*yjyLv6c5eOIh{2%POP zbcG&&i$7{HGWn%cd3GzIvoOBavkS%rOIvR@N9J(;d6sPI?N)?MxoBhS$fo?WRPj*f1%6kZhWB(6(aSn71)b+Xpx(-Ax(k;STvTg ztdk(4^EdFpi?HhI-r%{Bij=y3FZ12Nto^tcKbCCVb7_ew>#`El zJNQeV?Rh088(?R_-!eRZSStg}wEryM@;@``rEI(qZC!v*DLyx%&2{*g%+?g^!2c{n zh4KHSJW#h%%!gSBeuadL^8Po1$)xACu?1n8FS|WF%TA|DfmNVRFNo4xBVNgu7qJk! zjc%4N#QT*M>fTTfag-EKnsKbuLmcJ!$v|0a%G5L*D;@s|Crl;gsTFjrbi6;1(^`@; zwStb7j>iJyv}2_+AtAEgwQN)0MYqAQaXlt3_IMIBevX&N9M!YCejHq`zYFmRMxEV` zY-JRW1qvSaGSWLiE!&Hv8nJ*E2U&i|qf@SNJEAjFTY|i$&sGXw3cA!jY z91bNFb}aZ?8Y`ZH9|nLWd}Txp0$}S5XVcE$5LQAV3N6Z}<2ZJPnw$408YJBX%*i_n zaGoRMJCG!JUEKwrdx0pNbRFF0Iac3ea1E9-yl3!JuM4L0S~K6lX?en_JT=n%aWLvkz8U`aNq-uH2irpEQ84+l$s6C6yR7@p z#lehvoOX>}e`QER73OFh=Yw0Kh7&m>YsEiMX81CWMG5aGvFm$!6bfF1Rt$EB^B>wr zH}Awv@d>yEJO(?zt*d6kmb4XtIcU>~8@jKUP(BsAYuv=jLvljwEJN68m`AmFcGOSe zU>BJyFQjX&CCEaa;iet=0%af8&eXw% zDpXJiB3n1MEa@)XG1!}s&Z2ZFky5)lI^&>apuwTVDT z@i;z~1=`a@lV7*^WjY2Bzn6uzXu%Vmpn%Wvlw_7|Vb2dC()5BjzQbpd3MoG-wY`6YXsNcuTokCY>JB{-=x zs@(^KGALs+0kFIeB;ylnQ9wqR@*`w}d5kbq?nZMdG~n0y|GG(u=n@ai2l~m&4Zx~O zYGAhX{Jc$zXltK{8s#U|Sw}3}!j({O`|2#=Rk@b-&dPj7p~dcSWscu8m3Fj?UEw(y zot2qr$0WWZX+3dYpSX}+;+53oh3pb9;K`}$h0CF8J1x>OJ92rI_eRQ(P~3=cuunAn zxj&Y-A0U9Q>8z7e79LT4L>te>!eJ8v7pavtPo;JFTw*-;Ld8_)*g$nOnKN6hmKN*K zSfx#!buzkI*;F>nTcM6Jvjq@hV@t<^fL zFcmE0pE#e?|LE^STWRDy{M}^ zzdQ8FrQ&MnSKxxM2?n7DsVi|%=tS-VnBIVAxT|*cZ}3#RBxl4g`~Qi*g~8O4bBXvH zb|XAQYtJHdQa8bWl7&IDzA{ptRwI;X*vU4*<8*@#QRVBP(*{Ok1{l7mzz6{)jehkT zXB!_t4MRGd>en;8q=&R@ynH?SOjjeLQo($9h;!psR zhaToNl}FamUt^GL6S~qk8O)PKyQ#>ClKQ<6l0RNAOE#fI9#P&bD@6S?z%GJm_BQ=4 z%rdxD&|R2U#p^Z9D89kJZX<%iK!(`GnT&Mgq{IdwQY3uhkOiaO5z{kAX04!yZ{uMS z1;q67f1n~0e2|0nIqG_wx&Q*jYSMFT+fJE z10zDQG-UUT;gU%g7*zOv_X7NhY;a#szc#qpQ37(Vv&lUlPv}2qv~didj~G&GJRchJAQ(?JyQ*%8z#82VSJ8PUPj_BrE5V zjn}Yv^peaf6pIf6N44$IrHF^*4rG(z9m<8%9Jz-FQj2uG8C1K-Cw4QJw-Y4PW6@G% zcPw17TD^zI?vd4(pA~81X^|^TFBC%*(`1Ro$b!}paEOV?30FV{k6jeV$1t-ie^5GZ_rEj+aA`WB)1K<}UOevHm65_0pkT2t@hU;D8Xbi$NE~CZA`0bww3`O!- z@kakwaU88t--5k~w*1?z^VA<$!%N*(GC{eNtgXm=)CRVHTxLHC0xWov>N;3s;wS2N zwI{j8lWOhBZ+m5(+sC1CnT2R6dao5X&m*jc-ULEYKfG=m1g%%EA`U!cHNCyC7l-%d zy-F=o_u2D~E>R}!Sg9zrsg3A_6~m77OAaaX+m>`%ugYC5-z^t!-4 zZ!Z*RW|qJ@9#V4JLw!Tnq=wpZk=&xKmfJt1ENE{jyD9~OCe&f6g65B&Qfb`W$jY0= z?02l>M^N6Ynp#aQ)~hPm9*;oxsryiCu#R)Tb;oE;?{3xKFa&SJdX;}QAcXz#T&8;q zvgl|q(&6LZej|bKVy+MeVG_IH^Wp;zC@%-qH*3`jo2SCM9D)=1vW8N-xcg;OM|4=t z<74H9 z?tcQqj;8uI^XMZr2vxb}2$l}U7t+sK(<^!3ay)P?Hc@vC0m?^a9jW$;|6Z*h7DTU3 z9On;EC1IQkXq*Ytn5h-dwy9&FXG4kLd6Z%z&67cRiFGp*np&*QIU$q;15Wa1&WFVZ zH*exn+(EJA=f;u4_khxd&{5X=@RJPc6)>xm!EFkYx(#9#6NW>~E|wOzvG6sd#Ups5 zM%-iLX@L{i`P!WoJee$JN4o~pu;rLyh2wDM1$;h z6s!vDF*V6>pnVWMgC(GI!zqJU8lNn|NnHB|dxU*U8&>{G^x7Cm-SR9@)LVTG;NTML zs;LP?c8qsOp`67<*iT}x$gj)mV*qLg+ClNuFTcV*__Oj76McpP(C?R(n4ZCh7L3-5 z?c;}P!?@>uTzv~UjMCb%kH2%i6Qc`CA1Z{{Z7Yf zb16UYCp>8MObogS*`bhn6P|O$s|P-qs6Pl^PKxbeoULW|V!PgvKB3xMiFk2AJ~8en zyUJ`b0@wKu&`ibSC%}~L0s8tUe3f*}_}I2NK<8x}muu(y6izb(XvEu#*~m5x)XVb9 zl+&PXNXi?<;a>rvz{PPhS!p^7?|R6KEC`cEyk_YJ-YvrpaHe|!j=k!oljvOcYCH}g z0eI+ds4wjqxFCfAl7`!5$M2 zQ6o~;=io2N`bx*|6X~%5G&ofz&SZG(>b}7+*Vr5k!fZW9>OTe2NOpO zZg)3n9AdYow?^T01KK;L1H|U=P8Iu>jL}a$Xq*OO2W2IEyJ6K zTgDcaz}B+B#@RO2S39gW+IRlwCp=S2&`#_I60gjCee^60`+7|7EL>|Qxj^^6nCDy% zRC0soh;Hn!)qSmH?kR=E!91A3_A7T?i(1fa+?szej@qyC3d=98Br*XaoH*A<$(y7n z7ZnR{P@1yvx99uxRs!h1`0*(N^7DZF7*NYTIiPuXi3jA@pg{9A7c+ccOaeqQ6u>YD zoCF1$KkFksAQw{ZGYGThx&z`c_Iem^PZ)@f+F1nrOv0VpVIKxr(Yh8aa8C^?C|!mr z0%uV_xZ(;|Gt+uA{){Gl5{ z7H;cILw)3+zlD+IS|^PsEVI0GGw}}OxWn+t{Qqg6 z4%n!DinNFJ30MQ#AJ&P~i?LYGAp-JF>HqSr#vg|JF~lB`9S4)*b~mT$J!l9(*dt5e zU9YWCDc!|0ZKjptqRvtpSHgq%?3JgfR(OWZm_FsV`&Q!veAkX_-q|o5Z^Lj;?Ev-a z5F?|Wh$>I~@i1uWLHYd`_+IVbA%ASZk3+LdOuxftEj}CZxp5}WkMJp(1-%G=AHXMw z=e782!QcJ(y9=KHK2d!Bj?a(r`2*^I59Qb4b0&zyWFCFm|58#cD6?{TYFheen^u$l z4$;1k9zArJef03rBNWHzk)!SO^bGoE)M%$vW)k%^+&ZE|j^pqR@QDjZbsa&R&WeMp z(24Zm1>kt9t#OJeurM+Ux^y)ZTodo#;m=|TRPo_gpcp2hhKoZdEP)B0IW}d^99yJ1 z*8ECvvbyzr97pYdS?v55u~o(~H=Ankd-0-9T2N?T(s=U`;EF7-lf|CT0diYV`?Vdv zG=8IR1{~lyH5hYv;Suq#li;3^6suy;qROFs*rv=osg%9022ZxwQ`q9|`Lf{(j51Q$ z4{ah`j?8JCf8&u|w)P&JHNeEDly5C*$;ic^@EUep4$t2Dch!YQLTj9+z{R1MtziPA znCEyy1{^aYwa1oh#EV;zD5rROht(DHbk~25`sO=y1ztbz*}Q@D#q0gL{}~8^YIdCBXq2=&XN(s8#8iczeabI?#mlumzzaVa^{IwG%`o2u1^xeD@p}r!x%a*=-Y#%L!x(yc{=>$)?yA7Sg!IsY1 z*5lyO3T8UDroF8wQ0=6Gz#L=m`-n@6rEMkG$tZ;zLnzIl05k9R-VR-d9Pp^O6iMO z{Po!FnU>o;Zz>@dzG2A;YhhG#W1T^&*hGLua0sfDz4A11`<9Fp&%uUEBEEjY zGUbsIHgzlJ;B5cgCT)?Rx0Vb(?v!}gRsW`0Lk0k$r-*hhMo(M%m^IMuGN`16-gWvbYlSaBUyq|FpAKs^`H z6i$i~O?R>Z`~qAVTpvXxoN{Mt^Mtu_4;0AS8n5_r2@}DC03^0i*jh?FkEUw~k86H2 zvX5E%<#;_Cn0DCCN=rjq$`(>ZCAtvQBqVufl1wr*@)rp0DuFNsJv*^>#9(OLsTem% z5bNtEc;151qGBeXxn@kn&IrRy`PB~yHHv7)vYWgZkRu%f7z8zpuybc(%dfEfHi@L;hp^Bn6%oB9fmd@ZNG!{oSXfkr%P$3@a$M|eW5VBi_j;I z7eqBW1eo=O>N;hi23eXgxJP+k=~1u85^sIZwUP!?bzX^SlCQ)xthU7TEIz&3N7p|n9eZK0l!K7vC}_JZ-g#B1dg&Gc0LV> zu-3wI&z}7v_#g6`tnyh7A)PQ>^7~R7uEeTPwq$cUd?Ev%{w8d)|ijDCzxMo_E5tggWazW%l9lyd#+V zTjAgV_#NW5e!kk9{mu-X9v?go^{)Ltw$K`zNh$Au0nh6A#jqEL^^w!+yd$^0qXrM4 zb=`?9}OJIB7G zzN)E?4JG_4w00JGu@&iC=oSmIJ@4@xUNb@6mEAQB>q^5=+o696181ud?b{(qwB9$;!61dCqEo>OAu^3q!4D<7&LE>0ybfx_ z5E7`&`}i*VzfexE(b3L`UZNX4<%%0AS296p8GJnhhbV3G)DK)M7wo#-(udn@bMkhA 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
f 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

-c_vJ`Q7XXS=^f`H4LVvb&~;!Ir6Y~x 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�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 diff --git a/SHADE.sln b/SHADE.sln index ff6afa61..67bacd3b 100644 --- a/SHADE.sln +++ b/SHADE.sln @@ -29,6 +29,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SHADE_Engine", "SHADE_Engin {8EAD431C-7A4F-6EF2-630A-82464F4BF542} = {8EAD431C-7A4F-6EF2-630A-82464F4BF542} EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SHADE_Managed", "SHADE_Managed\SHADE_Managed.vcxproj", "{16DB1400-829B-9036-4BD6-D9B3B755D512}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|x64 = Debug|x64 @@ -71,6 +73,10 @@ Global {3F92E998-2BF5-783D-D47A-B1F3C0BC44C0}.Debug|x64.Build.0 = Debug|x64 {3F92E998-2BF5-783D-D47A-B1F3C0BC44C0}.Release|x64.ActiveCfg = Release|x64 {3F92E998-2BF5-783D-D47A-B1F3C0BC44C0}.Release|x64.Build.0 = Release|x64 + {16DB1400-829B-9036-4BD6-D9B3B755D512}.Debug|x64.ActiveCfg = Debug|x64 + {16DB1400-829B-9036-4BD6-D9B3B755D512}.Debug|x64.Build.0 = Debug|x64 + {16DB1400-829B-9036-4BD6-D9B3B755D512}.Release|x64.ActiveCfg = Release|x64 + {16DB1400-829B-9036-4BD6-D9B3B755D512}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/SHADE_Engine/SHADE_Engine.vcxproj b/SHADE_Engine/SHADE_Engine.vcxproj index fbb9599b..4d6a75e9 100644 --- a/SHADE_Engine/SHADE_Engine.vcxproj +++ b/SHADE_Engine/SHADE_Engine.vcxproj @@ -201,10 +201,10 @@ - - + + diff --git a/SHADE_Engine/SHADE_Engine.vcxproj.filters b/SHADE_Engine/SHADE_Engine.vcxproj.filters index 77e4ac1f..67d6bec9 100644 --- a/SHADE_Engine/SHADE_Engine.vcxproj.filters +++ b/SHADE_Engine/SHADE_Engine.vcxproj.filters @@ -394,18 +394,18 @@ Tools - - Tools - - - Tools - Tools Tools + + Tools + + + Tools + diff --git a/SHADE_Managed/premake5.lua b/SHADE_Managed/premake5.lua new file mode 100644 index 00000000..55ab382c --- /dev/null +++ b/SHADE_Managed/premake5.lua @@ -0,0 +1,45 @@ +project "SHADE_Managed" + kind "SharedLib" + language "C++" + clr "NetCore" + dotnetframework "net5.0" + cppdialect "C++17" + targetdir ("bin/" .. outputdir .. "/%{prj.name}") + objdir ("bin-int/" .. outputdir .. "/%{prj.name}") + systemversion "latest" + pchheader "SHpch.h" + pchsource "%{prj.location}/src/SHpch.cpp" + staticruntime "on" + + files + { + "%{prj.location}/src/**.hxx", + "%{prj.location}/src/**.h++", + "%{prj.location}/src/**.cxx", + } + + includedirs + { + "%{prj.location}/src", + "%{IncludeDir.assimp}/include", + "%{IncludeDir.imgui}", + "%{IncludeDir.imguizmo}", + "%{IncludeDir.imnodes}", + "%{IncludeDir.yamlcpp}", + "%{IncludeDir.RTTR}/include", + } + + flags + { + "MultiProcessorCompile" + } + + warnings 'Extra' + + filter "configurations:Debug" + symbols "On" + defines {"_DEBUG"} + + filter "configurations:Release" + optimize "On" + defines{"_RELEASE"} diff --git a/premake5.lua b/premake5.lua index d54f8e40..be512c36 100644 --- a/premake5.lua +++ b/premake5.lua @@ -19,6 +19,7 @@ workspace "SHADE" include "SHADE_Application" include "SHADE_Engine" + include "SHADE_Managed" group "Dependencies" include "Dependencies/msdf" From 2fb61609e9978a49f5731609c2efedc6e6cec83d Mon Sep 17 00:00:00 2001 From: Kah Wei Date: Mon, 12 Sep 2022 18:17:59 +0800 Subject: [PATCH 04/32] Added C# Math functions and types along with DisposableAssemblyLoadContext --- SHADE_Managed/SHADE_Managed.vcxproj.filters | 44 ++ SHADE_Managed/premake5.lua | 4 + .../Engine/DisposableAssemblyLoadContext.cxx | 36 ++ .../Engine/DisposableAssemblyLoadContext.hxx | 39 ++ SHADE_Managed/src/Math/Math.cxx | 57 +++ SHADE_Managed/src/Math/Math.hxx | 92 ++++ SHADE_Managed/src/Math/Vector2.cxx | 266 +++++++++++ SHADE_Managed/src/Math/Vector2.hxx | 398 ++++++++++++++++ SHADE_Managed/src/Math/Vector3.cxx | 281 ++++++++++++ SHADE_Managed/src/Math/Vector3.hxx | 425 ++++++++++++++++++ SHADE_Managed/src/SHpch.cpp | 10 + SHADE_Managed/src/SHpch.h | 31 ++ 12 files changed, 1683 insertions(+) create mode 100644 SHADE_Managed/SHADE_Managed.vcxproj.filters create mode 100644 SHADE_Managed/src/Engine/DisposableAssemblyLoadContext.cxx create mode 100644 SHADE_Managed/src/Engine/DisposableAssemblyLoadContext.hxx create mode 100644 SHADE_Managed/src/Math/Math.cxx create mode 100644 SHADE_Managed/src/Math/Math.hxx create mode 100644 SHADE_Managed/src/Math/Vector2.cxx create mode 100644 SHADE_Managed/src/Math/Vector2.hxx create mode 100644 SHADE_Managed/src/Math/Vector3.cxx create mode 100644 SHADE_Managed/src/Math/Vector3.hxx create mode 100644 SHADE_Managed/src/SHpch.cpp create mode 100644 SHADE_Managed/src/SHpch.h diff --git a/SHADE_Managed/SHADE_Managed.vcxproj.filters b/SHADE_Managed/SHADE_Managed.vcxproj.filters new file mode 100644 index 00000000..86a64c06 --- /dev/null +++ b/SHADE_Managed/SHADE_Managed.vcxproj.filters @@ -0,0 +1,44 @@ + + + + + {DBC7D3B0-C769-FE86-B024-12DB9C6585D7} + + + {AFF4887C-9B2B-8A0D-4418-7010302E060F} + + + {4D6F1AE8-B94E-9983-C266-245A2EC5FFE4} + + + + + Engine + + + Math + + + Math + + + Math + + + + + + Engine + + + Math + + + Math + + + Math + + + + \ No newline at end of file diff --git a/SHADE_Managed/premake5.lua b/SHADE_Managed/premake5.lua index 55ab382c..61f42fc2 100644 --- a/SHADE_Managed/premake5.lua +++ b/SHADE_Managed/premake5.lua @@ -16,6 +16,10 @@ project "SHADE_Managed" "%{prj.location}/src/**.hxx", "%{prj.location}/src/**.h++", "%{prj.location}/src/**.cxx", + "%{prj.location}/src/**.h", + "%{prj.location}/src/**.hpp", + "%{prj.location}/src/**.c", + "%{prj.location}/src/**.cpp", } includedirs diff --git a/SHADE_Managed/src/Engine/DisposableAssemblyLoadContext.cxx b/SHADE_Managed/src/Engine/DisposableAssemblyLoadContext.cxx new file mode 100644 index 00000000..7ee674a4 --- /dev/null +++ b/SHADE_Managed/src/Engine/DisposableAssemblyLoadContext.cxx @@ -0,0 +1,36 @@ +/************************************************************************************//*! +\file DisposableAssemblyLoadContext.cxx +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Jan 20, 2022 +\brief Contains the implementation of the managed DisposableAssemblyLoadContext + class. + + Note: This file is written in C++17/CLI. + +Copyright (C) 2021 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//*************************************************************************************/ +// Precompiled Headers +#include "SHpch.h" +// Primary Header +#include "DisposableAssemblyLoadContext.hxx" + +namespace SHADE +{ + /*---------------------------------------------------------------------------------*/ + /* Constructor */ + /*---------------------------------------------------------------------------------*/ + DisposableAssemblyLoadContext::DisposableAssemblyLoadContext() + : AssemblyLoadContext { true } + {} + + /*---------------------------------------------------------------------------------*/ + /* Helper Functions */ + /*---------------------------------------------------------------------------------*/ + System::Reflection::Assembly^ DisposableAssemblyLoadContext::Load(System::Reflection::AssemblyName^ assemblyName) + { + return nullptr; + } +} // namespace PlushieAPI \ No newline at end of file diff --git a/SHADE_Managed/src/Engine/DisposableAssemblyLoadContext.hxx b/SHADE_Managed/src/Engine/DisposableAssemblyLoadContext.hxx new file mode 100644 index 00000000..433dd85e --- /dev/null +++ b/SHADE_Managed/src/Engine/DisposableAssemblyLoadContext.hxx @@ -0,0 +1,39 @@ +/************************************************************************************//*! +\file DisposableAssemblyLoadContext.hxx +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Jan 20, 2022 +\brief Contains the definitions of the managed DisposableAssemblyLoadContext + class. + + Note: This file is written in C++17/CLI. + +Copyright (C) 2021 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//*************************************************************************************/ +#pragma once + +namespace SHADE +{ + ///

    + /// Custom AssemblyLoadContext marked as collectible so that it can be unloaded. + /// + private ref class DisposableAssemblyLoadContext : public System::Runtime::Loader::AssemblyLoadContext + { + public: + /*-----------------------------------------------------------------------------*/ + /* Constructor */ + /*-----------------------------------------------------------------------------*/ + /// + /// Default Constructor + /// + DisposableAssemblyLoadContext(); + + protected: + /*-----------------------------------------------------------------------------*/ + /* Helper Functions */ + /*-----------------------------------------------------------------------------*/ + System::Reflection::Assembly^ Load(System::Reflection::AssemblyName^ assemblyName) override; + }; +} // namespace PlushieAPI \ No newline at end of file diff --git a/SHADE_Managed/src/Math/Math.cxx b/SHADE_Managed/src/Math/Math.cxx new file mode 100644 index 00000000..5ec850a1 --- /dev/null +++ b/SHADE_Managed/src/Math/Math.cxx @@ -0,0 +1,57 @@ +/************************************************************************************//*! +\file Math.cxx +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Nov 11, 2021 +\brief Contains the implementation of the functions of the managed Math struct. + + Note: This file is written in C++17/CLI. + +Copyright (C) 2021 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//*************************************************************************************/ +// Precompiled Headers +#include "SHpch.h" +// Primary Header +#include "Math/Math.hxx" + +namespace SHADE +{ + /*---------------------------------------------------------------------------------*/ + /* Utility Functions */ + /*---------------------------------------------------------------------------------*/ + double Math::Wrap(double value, double min, double max) + { + while (value < min) + { + value = max - (min - value); + } + while (value > max) + { + value = min + (value - max); + } + return value; + } + double Math::DegreesToRadians(double degrees) + { + return degrees * Deg2Rad; + } + double Math::RadiansToDegrees(double radians) + { + return radians * Rad2Deg; + } + double Math::Lerp(double a, double b, double t) + { + return LerpUnclamped(a, b, System::Math::Clamp(t, 0.0, 1.0)); + } + double Math::LerpUnclamped(double a, double b, double t) + { + return a + t * (b - a); + } + + double Math::InverseLerp(double a, double b, double value) + { + return (value - a) / (b - a); + } +} diff --git a/SHADE_Managed/src/Math/Math.hxx b/SHADE_Managed/src/Math/Math.hxx new file mode 100644 index 00000000..3ddc5149 --- /dev/null +++ b/SHADE_Managed/src/Math/Math.hxx @@ -0,0 +1,92 @@ +/************************************************************************************//*! +\file Math.hxx +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Nov 11, 2021 +\brief Contains the definition of the managed Math static class. + + Note: This file is written in C++17/CLI. + +Copyright (C) 2021 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//*************************************************************************************/ +#pragma once + +namespace SHADE +{ + /// + /// Contains utility Math functions. + /// + public ref class Math abstract sealed + { + public: + /*-----------------------------------------------------------------------------*/ + /* Static Constants */ + /*-----------------------------------------------------------------------------*/ + /// + /// Degrees-to-radians conversion constant + /// + static constexpr double Deg2Rad = System::Math::PI / 180.0; + /// + /// Radians-to-degrees conversion constant + /// + static constexpr double Rad2Deg = 180.0 / System::Math::PI; + /// + /// Small value used for single precision floating point comparisons. + /// + static constexpr float Epsilon = 0.001f; + + /*-----------------------------------------------------------------------------*/ + /* Utility Functions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Wraps a value if they get to low or too high. + /// + /// Value to wrap. + /// Minimum value to wrap at. + /// Maximum value to wrap at. + /// Wrapped value. + static double Wrap(double value, double min, double max); + /// + /// Converts an angle from degree representation to radian representation. + /// + /// Degree-based angle to convert. + /// The specified angle in radians. + static double DegreesToRadians(double degrees); + /// + /// Converts an angle from radian representation to degree representation. + /// + /// Radian-based angle to convert. + /// The specified angle in degrees. + static double RadiansToDegrees(double radians); + /// + /// Linearly interpolates between a and b by t. + /// The parameter t is clamped to the range [0, 1]. + /// + /// The start value. + /// The end value. + /// The interpolation value between the two double. + /// The interpolated double result between the two double values. + static double Lerp(double a, double b, double t); + /// + /// Linearly interpolates between a and b by t. + /// The parameter t is not clamped and a value based on a and b is supported. + /// If t is less than zero, or greater than one, then LerpUnclamped will result + /// in a return value outside the range a to b. + /// + /// The start value. + /// The end value. + /// The interpolation value between the two double. + /// The interpolated double result between the two double values. + static double LerpUnclamped(double a, double b, double t); + /// + /// Calculates the linear parameter t that produces the interpolant value within the range [a, b]. + /// + /// Start value. + /// End value. + /// Value between start and end. + /// Percentage of value between start and end. + static double InverseLerp(double a, double b, double value); + }; +} diff --git a/SHADE_Managed/src/Math/Vector2.cxx b/SHADE_Managed/src/Math/Vector2.cxx new file mode 100644 index 00000000..276c6ea8 --- /dev/null +++ b/SHADE_Managed/src/Math/Vector2.cxx @@ -0,0 +1,266 @@ +/************************************************************************************//*! +\file Vector2.cxx +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Nov 2, 2021 +\brief Contains the definitions of functions of the Vector2 struct. + + Note: This file is written in C++17/CLI. + +Copyright (C) 2021 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//*************************************************************************************/ +// Precompiled Headers +#include "SHpch.h" +// Primary Header +#include "Math/Vector2.hxx" +// Standard Libraries +#include +#include +// Project Headers +#include "Math.hxx" +// Undefinitions +#undef min +#undef max + +namespace SHADE +{ + /*---------------------------------------------------------------------------------*/ + /* Constructors */ + /*---------------------------------------------------------------------------------*/ + Vector2::Vector2(double _x) + : Vector2 { _x, 0.0 } + {} + Vector2::Vector2(double _x, double _y) + : x { _x } + , y { _y } + {} + + /*---------------------------------------------------------------------------------*/ + /* Usage Functions */ + /*---------------------------------------------------------------------------------*/ + void Vector2::Normalise() + { + *this = GetNormalised(); + } + + Vector2 Vector2::GetNormalised() + { + return *this / GetMagnitude(); + } + + double Vector2::GetMagnitude() + { + return sqrt(x * x + y * y); + } + + double Vector2::GetSqrMagnitude() + { + return x * x + y * y; + } + + double Vector2::AngleFromRightRadians() + { + return atan2(y, x); + } + + double Vector2::AngleFromRightDegrees() + { + return Math::RadiansToDegrees(AngleFromRightRadians()); + } + + bool Vector2::IsNearPoint(Vector2 point) + { + return IsNearPoint(point, Math::Epsilon); + } + + bool Vector2::IsNearPoint(Vector2 point, double tolerance) + { + return (*this - point).GetSqrMagnitude() < (tolerance * tolerance); + } + + /*---------------------------------------------------------------------------------*/ + /* IEquatable */ + /*---------------------------------------------------------------------------------*/ + bool Vector2::Equals(Object^ o) + { + try + { + Vector2 vec = safe_cast(o); + return Equals(vec); + } + catch (System::InvalidCastException^) + { + return false; + } + } + + /*---------------------------------------------------------------------------------*/ + /* Object Overrides */ + /*---------------------------------------------------------------------------------*/ + bool Vector2::Equals(Vector2 other) + { + return IsNear(*this, other); + } + int Vector2::GetHashCode() + { + const int HASH = 19; + return x.GetHashCode() * HASH + y.GetHashCode(); + } + + /*---------------------------------------------------------------------------------*/ + /* Static Functions */ + /*---------------------------------------------------------------------------------*/ + bool Vector2::IsNear(Vector2 lhs, Vector2 rhs) + { + return IsNear(lhs, rhs, Math::Epsilon); + } + bool Vector2::IsNear(Vector2 lhs, Vector2 rhs, double tolerance) + { + return (std::abs(lhs.x) - std::abs(rhs.x)) < tolerance + && + (std::abs(lhs.y) - std::abs(rhs.y)) < tolerance; + } + double Vector2::Dot(Vector2 lhs, Vector2 rhs) + { + return lhs.x * rhs.x + lhs.y * rhs.y; + } + + Vector2 Vector2::Perpendicular(Vector2 lhs) + { + return Perpendicular(lhs, true); + } + + Vector2 Vector2::Perpendicular(Vector2 lhs, bool inward) + { + if (inward) + { + return Vector2 + ( + -lhs.y, lhs.x + ); + } + else + { + return Vector2 + ( + lhs.y, -lhs.x + ); + } + } + + Vector2 Vector2::Project(Vector2 vec, Vector2 direction) + { + return direction.GetNormalised() * vec.GetMagnitude(); + } + Vector2 Vector2::Reflect(Vector2 vec, Vector2 normal) + { + return vec - (Project(vec, normal.GetNormalised()) * 2.0); + } + Vector2 Vector2::RotateRadians(Vector2 vec, double radians) + { + const double SINE = sin(radians); + const double COSINE = cos(radians); + + return Vector2 + ( + vec.x * COSINE - vec.y * SINE, + vec.x * SINE + vec.y * COSINE + ); + } + Vector2 Vector2::RotateDegrees(Vector2 vec, double degrees) + { + return RotateRadians(vec, Math::DegreesToRadians(degrees)); + } + Vector2 Vector2::Min(Vector2 lhs, Vector2 rhs) + { + double lx = lhs.x, rx = rhs.x; + double ly = lhs.y, ry = rhs.y; + + return Vector2(std::min(lx, rx), + std::min(ly, ry)); + } + Vector2 Vector2::Max(Vector2 lhs, Vector2 rhs) + { + double lx = lhs.x, rx = rhs.x; + double ly = lhs.y, ry = rhs.y; + + return Vector2(std::max(lx, rx), + std::max(ly, ry)); + } + Vector2 Vector2::Lerp(Vector2 a, Vector2 b, double t) + { + return LerpUnclamped(a, b, std::clamp(t, 0.0, 1.0)); + } + Vector2 Vector2::LerpUnclamped(Vector2 a, Vector2 b, double t) + { + return a + ((b - a) * t); + } + Vector2 Vector2::MoveTowards(Vector2 current, Vector2 target, double maxDistanceDelta) + { + // Ignore if it is exactly on the same point + if (current == target) + return target; + + // Calculate new position + const Vector2 DELTA = (target - current).GetNormalised() * maxDistanceDelta; + Vector2 newPos = current + DELTA; + + // Check if check if is behind or ahead of target + const Vector2 DIFF = target - newPos; + if (Dot(DELTA, DIFF) < 0.0) + { + newPos = target; + } + return newPos; + } + Vector2 Vector2::operator+(Vector2 lhs, Vector2 rhs) + { + return Vector2 + ( + lhs.x + rhs.x, + lhs.y + rhs.y + ); + } + Vector2 Vector2::operator-(Vector2 lhs, Vector2 rhs) + { + return Vector2 + ( + lhs.x - rhs.x, + lhs.y - rhs.y + ); + } + Vector2 Vector2::operator*(Vector2 lhs, Vector2 rhs) + { + return Vector2 + ( + lhs.x * rhs.x, + lhs.y * rhs.y + ); + } + Vector2 Vector2::operator*(Vector2 lhs, double rhs) + { + return Vector2 + ( + lhs.x * rhs, + lhs.y * rhs + ); + } + Vector2 Vector2::operator/(Vector2 lhs, double rhs) + { + return Vector2 + ( + lhs.x / rhs, + lhs.y / rhs + ); + } + bool Vector2::operator==(Vector2 lhs, Vector2 rhs) + { + return lhs.Equals(rhs); + } + bool Vector2::operator!=(Vector2 lhs, Vector2 rhs) + { + return !(lhs == rhs); + } +} // namespace PlushieAPI::Mathematics \ No newline at end of file diff --git a/SHADE_Managed/src/Math/Vector2.hxx b/SHADE_Managed/src/Math/Vector2.hxx new file mode 100644 index 00000000..c52cdc72 --- /dev/null +++ b/SHADE_Managed/src/Math/Vector2.hxx @@ -0,0 +1,398 @@ +/************************************************************************************//*! +\file Vector2.hxx +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Nov 2, 2021 +\brief Contains the definitions of Vector2 struct. + + Note: This file is written in C++17/CLI. + +Copyright (C) 2021 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//*************************************************************************************/ +#pragma once + +// Standard Libraries +#include + +namespace SHADE +{ + /// + /// CLR version of the the PlushieEngine's Vector2 class that represents a + /// 2-Dimensional Vector. Designed to closely match Unity's Vector2 struct. + /// + [StructLayout(LayoutKind::Sequential)] + public value struct Vector2 : public System::IEquatable + { + public: + /*-----------------------------------------------------------------------------*/ + /* Constants */ + /*-----------------------------------------------------------------------------*/ + #pragma region Constants + /// + /// Shorthand for writing Vector2(0, -1). + /// + static const Vector2 Down = Vector2(0.0, -1.0); + /// + /// Shorthand for writing Vector2(-1, 0). + /// + static const Vector2 Left = Vector2(-1.0, 0.0); + /// + /// Shorthand for writing Vector2(double.NegativeInfinity, + /// double.NegativeInfinity). + /// + static const Vector2 NegativeInfinity = Vector2(std::numeric_limits::lowest(), + std::numeric_limits::lowest()); + /// + /// Shorthand for writing Vector2(1, 1). + /// + static const Vector2 One = Vector2(1.0, 1.0); + /// + /// Shorthand for writing Vector2(double.PositiveInfinity, + /// double.PositiveInfinity). + /// + static const Vector2 PositiveInfinity = Vector2(std::numeric_limits::max(), + std::numeric_limits::max()); + /// + /// Shorthand for writing Vector2(1, 0). + /// + static const Vector2 Right = Vector2(1.0, 0.0); + /// + /// Shorthand for writing Vector2(0, 1). + /// + static const Vector2 Up = Vector2(0.0, 1.0); + /// + /// Shorthand for writing Vector2(0, 0). + /// + static const Vector2 Zero = Vector2(0.0, 0.0); + #pragma endregion + + /*-----------------------------------------------------------------------------*/ + /* Public Members */ + /*-----------------------------------------------------------------------------*/ + /// + /// X-component of the Vector2. + /// + double x; + /// + /// Y-component of the Vector2. + /// + double y; + + /*-----------------------------------------------------------------------------*/ + /* Constructors */ + /*-----------------------------------------------------------------------------*/ + /// + /// Constructor to construct a Vector2 with the specified components with the + /// Y-component set to 0.0. + /// + /// X-coordinate to set. + Vector2(double _x); + /// + /// Constructor to construct a Vector2 with the specified components.. + /// + /// X-coordinate to set. + /// Y-coordinate to set. + Vector2(double _x, double _y); + + /*-----------------------------------------------------------------------------*/ + /* Usage Functions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Normalises this current Vector2. This changes the data of this Vector2. + /// If you would like to get a copy, use GetNormalised() instead. + /// This function does nothing to a zero vector. + /// + void Normalise(); + /// + /// Creates a copy of this Vector2 and returns a normalized version. + /// + /// + /// Returns a normalised copy of this Vector2. + /// If this Vector2 is a zero vector, a zero vector will be returned. + /// + Vector2 GetNormalised(); + /// + /// Calculates and returns the magnitude of this Vector2. Note that this function + /// incurs a performance cost from the square root calculation. If you do not + /// need the precise magnitude, consider using GetSqrMagnitude() instead. + /// + /// Returns the length of this Vector2. + double GetMagnitude(); + /// + /// Calculates and returns the squared magnitude of this Vector2. + /// + /// Returns the squared length of this Vector2. + double GetSqrMagnitude(); + /// + /// Calculates and returns the angle of this vector from the right vector. This + /// function returns values between -Math.PI and Math.PI. + /// + /// Returns the angle of this vector from the right vector in radians. + double AngleFromRightRadians(); + /// + /// Calculates and returns the angle of this vector from the right vector. This + /// function returns values between -180.0 and 180.0. + /// + /// Returns the angle of this vector from the right vector in degrees. + double AngleFromRightDegrees(); + /// + /// Checks if a specified point is near this Vector2 that represents a point with + /// a tolerance value of PLS_EPSILON. + /// + /// The other point to check if we are near. + /// + /// True if this Vector2 representing a point and the specified point are within + /// the range of the specified tolerance. False otherwise. + /// + bool IsNearPoint(Vector2 point); + /// + /// Checks if a specified point is near this Vector2 that represents a point. + /// + /// The other point to check if we are near. + /// + /// The amount of tolerance before we consider these points as "near". + /// + /// + /// True if this Vector2 representing a point and the specified point are within + /// the range of the specified tolerance. False otherwise. + /// + bool IsNearPoint(Vector2 point, double tolerance); + + /*-----------------------------------------------------------------------------*/ + /* IEquatable */ + /*-----------------------------------------------------------------------------*/ + /// + /// Compares equality with an object of the same type. + /// + /// The object to compare with. + /// True if both objects are the same. + virtual bool Equals(Vector2 other); + + /*-----------------------------------------------------------------------------*/ + /* Object */ + /*-----------------------------------------------------------------------------*/ + /// + /// Compares equality with another unboxed object. + /// + /// The unboxed object to compare with. + /// True if both objects are the same. + bool Equals(Object^ o) override; + /// + /// Gets a unique hash for this object. + /// + /// Unique hash for this object. + int GetHashCode() override; + + /*-----------------------------------------------------------------------------*/ + /* Static Functions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Checks if two specified Vector2s are near in value. + /// + /// Vector2 to check if is near in value. + /// Another Vector2 to check if is near in value. + /// + /// True if the two Vector2s are within the tolerance value specified + /// + static bool IsNear(Vector2 lhs, Vector2 rhs); + /// + /// Checks if two specified Vector2s are near in value. + /// + /// Vector2 to check if is near in value. + /// Another Vector2 to check if is near in value. + /// + /// Amount of tolerance to do the comparison with. + /// + /// + /// True if the two Vector2s are within the tolerance value specified + /// + static bool IsNear(Vector2 lhs, Vector2 rhs, double tolerance); + /// + /// Computes and returns the dot product of 2 specified Vector2s. + /// + /// Vector2 to calculate dot product with. + /// Another Vector2 to calculate dot product with. + /// + /// Scalar value representing the dot product of the two Vector2s. + /// + static double Dot(Vector2 lhs, Vector2 rhs); + /// + /// Computes the inward perpendicular Vector2 to the specified Vector2. + /// Equivalent to calling Perpendicular(lhs, true). This means, the + /// resultant Vector2 is rotated 90-degrees in a counter-clockwise. + /// + /// Vector2 to find a perpendicular of. + /// + /// The perpendicular Vector2 relative to the specified Vector2. + /// + static Vector2 Perpendicular(Vector2 lhs); + /// + /// Computes a perpendicular Vector2 to the specified Vector2. + /// + /// Vector2 to find a perpendicular of. + /// + /// Whether the inward perpendicular Vector is retrieved. If true, the + /// resultant vector is rotated 90-degrees in a counter-clockwise. + /// + /// The perpendicular Vector2 relative to the specified Vector2. + /// + static Vector2 Perpendicular(Vector2 lhs, bool inward); + /// + /// Computes and returns a Vector2 projection. + /// + /// Vector2 to project. + /// Vector2 to project onto. + /// The Vector2 that represents the projected vec onto direction. + static Vector2 Project(Vector2 vec, Vector2 direction); + /// + /// Reflects a Vector2 across another Vector2. + /// + /// A Vector2 to reflect. + /// A normal to reflect the Vector2 across. + /// The Vector2 that represents vec reflected across normal. + static Vector2 Reflect(Vector2 vec, Vector2 normal); + /// + /// Rotates a Vector2 on the Z-axis by a specified angle in an anti-clockwise + /// direction. + /// + /// A Vector2 to rotate. + /// + /// Angle to rotate the vector by in an anti-clockwise direction in radians. + /// + /// The Vector2 that represents the rotated vector. + static Vector2 RotateRadians(Vector2 vec, double radians); + /// + /// Rotates a Vector2 on the Z-axis by a specified angle in an anti-clockwise + /// direction. + /// + /// A Vector2 to rotate. + /// + /// Angle to rotate the vector by in an anti-clockwise direction in degrees. + /// + /// The Vector2 that represents the rotated vector. + static Vector2 RotateDegrees(Vector2 vec, double degrees); + /// + /// Computes and returns a Vector2 that is made from the smallest components of + /// the two specified Vector2s. + /// + /// Vector2 to calculate minimum Vector2 with. + /// Another Vector2 to calculate minimum Vector2 with. + /// + /// The Vector2 that contains the smallest components of the two specified + /// Vector2s. + /// + static Vector2 Min(Vector2 lhs, Vector2 rhs); + /// + /// Computes and returns a Vector2 that is made from the largest components of + /// the two specified Vector2s. + /// + /// Vector2 to calculate maximum Vector2 with. + /// Another Vector2 to calculate maximum Vector2 with. + /// + /// The Vector2 that contains the largest components of the two specified + /// Vector2s. + /// + static Vector2 Max(Vector2 lhs, Vector2 rhs); + /// + /// Linearly interpolates between two specified points. + /// This is most commonly used to find a point some fraction of the way along a + /// line between two endpoints. + /// + /// The start Vector2, returned when t = 0.0. + /// The end Vector2, returned when t = 1.0. + /// + /// Value used to interpolate between a and b which is clamped to + /// the range[0, 1]. + /// + /// The interpolated Vector2. + static Vector2 Lerp(Vector2 a, Vector2 b, double t); + /// + /// Linearly interpolates between two specified points. + /// This is most commonly used to find a point some fraction of the way along a + /// line between two endpoints. + /// Unlike Lerp(), t is not clamped to a range at all. + /// + /// The start Vector2, returned when t = 0.0. + /// The end Vector2, returned when t = 1.0. + /// Value used to interpolate between a and b. + /// The interpolated Vector2. + static Vector2 LerpUnclamped(Vector2 a, Vector2 b, double t); + /// + /// Moves a point current towards target. + /// Similar to Lerp(), however, the function will ensure that the distance never + /// exceeds maxDistanceDelta. Negative values of maxDistanceDelta pushes the + /// vector away from target + /// + /// The current position of the point. + /// The target position to move to. + /// Maximum distance moved per call. + /// Vector representing the moved point. + static Vector2 MoveTowards(Vector2 current, Vector2 target, double maxDistanceDelta); + + /*-----------------------------------------------------------------------------*/ + /* Overloaded Operators */ + /*-----------------------------------------------------------------------------*/ + /// + /// Adds two Vector2s together and returns the result. + /// + /// Vector2 to add. + /// Another Vector2 to add. + /// The result of lhs added to rhs + static Vector2 operator+(Vector2 lhs, Vector2 rhs); + /// + /// Subtracts a Vector2 from another Vector2 and returns the result. + /// + /// Vector2 to subtract from. + /// Another Vector2 to subtract. + /// The result of rhs subtracted from lhs. + static Vector2 operator-(Vector2 lhs, Vector2 rhs); + /// + /// Calculates the component-wise multiplication of two Vector2s and returns the + /// result. + /// + /// Vector2 to multiply with. + /// Another Vector2 to multiply with. + /// The result of rhs subtracted from lhs. + static Vector2 operator*(Vector2 lhs, Vector2 rhs); + /// + /// Calculates the multiplication of a Vector2 with a scalar value and returns + /// the result. + /// + /// Vector2 to multiply with. + /// Scalar to multiply with. + /// The result of the scalar multiplication. + static Vector2 operator*(Vector2 lhs, double rhs); + /// + /// Calculates the division of a Vector2 with a scalar value and returns + /// the result. + /// + /// Scalar to divide with. + /// Vector2 to divide with. + /// The result of the scalar division. + static Vector2 operator/(Vector2 lhs, double rhs); + /// + /// Checks if two Vector2s are approximately equal. This is equivalent to + /// calling Vector2.IsNear() with default tolerance values. + /// + /// Vector2 to compare. + /// Another Vector2 to compare. + /// + /// True if all components are approximately equal within the default + /// tolerance value. + /// + static bool operator==(Vector2 lhs, Vector2 rhs); + /// + /// Checks if two Vector2s are not approximately equal. This is equivalent to + /// calling !Vector2.IsNear() with default tolerance values. + /// + /// Vector2 to compare. + /// Another Vector2 to compare. + /// + /// True if all components are not approximately equal within the default + /// tolerance value. + /// + static bool operator!=(Vector2 lhs, Vector2 rhs); + }; +} diff --git a/SHADE_Managed/src/Math/Vector3.cxx b/SHADE_Managed/src/Math/Vector3.cxx new file mode 100644 index 00000000..4f8ea8b0 --- /dev/null +++ b/SHADE_Managed/src/Math/Vector3.cxx @@ -0,0 +1,281 @@ +/************************************************************************************//*! +\file Vector3.cxx +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Oct 24, 2021 +\brief Contains the definitions of functions of the Vector3 struct. + + Note: This file is written in C++17/CLI. + +Copyright (C) 2021 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//*************************************************************************************/ +// Precompiled Headers +#include "SHpch.h" +// Primary Header +#include "Vector3.hxx" +// Standard Libraries +#include +#include +// Project Headers +#include "Math.hxx" +// Undefinitions +#undef min +#undef max + +namespace SHADE +{ + /*---------------------------------------------------------------------------------*/ + /* Constructors */ + /*---------------------------------------------------------------------------------*/ + Vector3::Vector3(double _x) + : Vector3 {_x, 0.0, 0.0} + {} + Vector3::Vector3(double _x, double _y) + : Vector3 {_x, _y, 0.0} + {} + Vector3::Vector3(double _x, double _y, double _z) + : x { _x } + , y { _y } + , z { _z } + {} + Vector3::Vector3(Vector2 vec) + : Vector3(vec.x, vec.y) + {} + + /*---------------------------------------------------------------------------------*/ + /* Usage Functions */ + /*---------------------------------------------------------------------------------*/ + void Vector3::Normalise() + { + *this = GetNormalised(); + } + + Vector3 Vector3::GetNormalised() + { + return *this / GetSqrMagnitude(); + } + + double Vector3::GetMagnitude() + { + return sqrt(x * x + y * y + z * z); + } + + double Vector3::GetSqrMagnitude() + { + return x * x + y * y + z * z; + } + + double Vector3::Angle2DFromRightRadians() + { + return atan2(y, x); + } + + double Vector3::Angle2DFromRightDegrees() + { + return Math::RadiansToDegrees(Angle2DFromRightRadians()); + } + + bool Vector3::IsNearPoint(Vector3 point) + { + return IsNearPoint(point, Math::Epsilon); + } + + bool Vector3::IsNearPoint(Vector3 point, double tolerance) + { + return (*this - point).GetSqrMagnitude() < (tolerance * tolerance); + } + + /*---------------------------------------------------------------------------------*/ + /* IEquatable */ + /*---------------------------------------------------------------------------------*/ + bool Vector3::Equals(Object^ o) + { + try + { + Vector3 vec = safe_cast(o); + return Equals(vec); + } + catch (System::InvalidCastException^) + { + return false; + } + } + + /*---------------------------------------------------------------------------------*/ + /* Object Overrides */ + /*---------------------------------------------------------------------------------*/ + bool Vector3::Equals(Vector3 other) + { + return IsNear(*this, other); + } + int Vector3::GetHashCode() + { + const int HASH = 19; + const int HASH2 = 23; + return x.GetHashCode() * HASH + y.GetHashCode() * HASH2 + z.GetHashCode(); + } + + /*---------------------------------------------------------------------------------*/ + /* Static Functions */ + /*---------------------------------------------------------------------------------*/ + bool Vector3::IsNear(Vector3 lhs, Vector3 rhs) + { + return IsNear(lhs, rhs, Math::Epsilon); + } + bool Vector3::IsNear(Vector3 lhs, Vector3 rhs, double tolerance) + { + return (std::abs(lhs.x) - std::abs(rhs.x)) < tolerance + && + (std::abs(lhs.y) - std::abs(rhs.y)) < tolerance + && + (std::abs(lhs.z) - std::abs(rhs.z)) < tolerance; + } + double Vector3::Dot(Vector3 lhs, Vector3 rhs) + { + return lhs.x * rhs.x + lhs.y * rhs.y + lhs.z * rhs.z; + } + Vector3 Vector3::Cross(Vector3 lhs, Vector3 rhs) + { + return Vector3(lhs.y * rhs.z - lhs.z * rhs.y, + lhs.z * rhs.x - lhs.x * rhs.z, + lhs.x * rhs.y - lhs.y * rhs.x); + } + Vector3 Vector3::Project(Vector3 vec, Vector3 direction) + { + return direction.GetNormalised() * vec.GetMagnitude(); + } + Vector3 Vector3::Reflect(Vector3 vec, Vector3 normal) + { + return vec - (Project(vec, normal.GetNormalised()) * 2.0); + } + Vector3 Vector3::RotateRadians(Vector3 vec, double radians) + { + const double SINE = sin(radians); + const double COSINE = cos(radians); + + return Vector3 + ( + vec.x * COSINE - vec.y * SINE, + vec.x * SINE + vec.y * COSINE, + vec.z + ); + } + Vector3 Vector3::RotateDegrees(Vector3 vec, double degrees) + { + return RotateRadians(vec, Math::DegreesToRadians(degrees)); + } + Vector3 Vector3::Min(Vector3 lhs, Vector3 rhs) + { + double lx = lhs.x, rx = rhs.x; + double ly = lhs.y, ry = rhs.y; + double lz = lhs.z, rz = rhs.z; + + return Vector3(std::min(lx, rx), + std::min(ly, ry), + std::min(lz, rz)); + } + Vector3 Vector3::Max(Vector3 lhs, Vector3 rhs) + { + double lx = lhs.x, rx = rhs.x; + double ly = lhs.y, ry = rhs.y; + double lz = lhs.z, rz = rhs.z; + + return Vector3(std::max(lx, rx), + std::max(ly, ry), + std::max(lz, rz)); + } + Vector3 Vector3::Lerp(Vector3 a, Vector3 b, double t) + { + return LerpUnclamped(a, b, std::clamp(t, 0.0, 1.0)); + } + Vector3 Vector3::LerpUnclamped(Vector3 a, Vector3 b, double t) + { + return a + ((b - a) * t); + } + Vector3 Vector3::MoveTowards(Vector3 current, Vector3 target, double maxDistanceDelta) + { + // Ignore if it is exactly on the same point + if (current == target) + return target; + + // Calculate new position + const Vector3 DELTA = (target - current).GetNormalised() * maxDistanceDelta; + Vector3 newPos = current + DELTA; + + // Check if check if is behind or ahead of target + const Vector3 DIFF = target - newPos; + if (Dot(DELTA, DIFF) < 0.0) + { + newPos = target; + } + return newPos; + } + Vector3 Vector3::operator+(Vector3 lhs, Vector3 rhs) + { + return Vector3 + ( + lhs.x + rhs.x, + lhs.y + rhs.y, + lhs.z + rhs.z + ); + } + Vector3 Vector3::operator-(Vector3 lhs, Vector3 rhs) + { + return Vector3 + ( + lhs.x - rhs.x, + lhs.y - rhs.y, + lhs.z - rhs.z + ); + } + Vector3 Vector3::operator*(Vector3 lhs, Vector3 rhs) + { + return Vector3 + ( + lhs.x * rhs.x, + lhs.y * rhs.y, + lhs.z * rhs.z + ); + } + Vector3 Vector3::operator*(Vector3 lhs, double rhs) + { + return Vector3 + ( + lhs.x * rhs, + lhs.y * rhs, + lhs.z * rhs + ); + } + Vector3 Vector3::operator/(Vector3 lhs, double rhs) + { + return Vector3 + ( + lhs.x / rhs, + lhs.y / rhs, + lhs.z / rhs + ); + } + bool Vector3::operator==(Vector3 lhs, Vector3 rhs) + { + return lhs.Equals(rhs); + } + bool Vector3::operator!=(Vector3 lhs, Vector3 rhs) + { + return !(lhs == rhs); + } + + /*---------------------------------------------------------------------------------*/ + /* Conversion Operators */ + /*---------------------------------------------------------------------------------*/ + Vector3::operator Vector2(Vector3 vec) + { + return Vector2(vec.x, vec.y); + } + + Vector3::operator Vector3(Vector2 vec) + { + return Vector3(vec); + } +} // namespace PlushieAPI::Mathematics \ No newline at end of file diff --git a/SHADE_Managed/src/Math/Vector3.hxx b/SHADE_Managed/src/Math/Vector3.hxx new file mode 100644 index 00000000..ab05ddc9 --- /dev/null +++ b/SHADE_Managed/src/Math/Vector3.hxx @@ -0,0 +1,425 @@ +/************************************************************************************//*! +\file Vector3.hxx +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Oct 24, 2021 +\brief Contains the definitions of Vector3 struct. + + Note: This file is written in C++17/CLI. + +Copyright (C) 2021 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//*************************************************************************************/ +#pragma once + +// Standard Libraries +#include +// Project Includes +#include "Vector2.hxx" + +namespace SHADE +{ + /// + /// CLR version of the the PlushieEngine's Vector3 class that represents a + /// 3-Dimensional Vector. Designed to closely match Unity's Vector3 struct. + /// + [StructLayout(LayoutKind::Sequential)] + public value struct Vector3 : public System::IEquatable + { + public: + /*-----------------------------------------------------------------------------*/ + /* Constants */ + /*-----------------------------------------------------------------------------*/ + #pragma region Constants + /// + /// Shorthand for writing Vector3(0, 0, -1). + /// + static const Vector3 Back = Vector3(0.0, 0.0, -1.0); + /// + /// Shorthand for writing Vector3(0, -1, 0). + /// + static const Vector3 Down = Vector3(0.0, -1.0, 0.0); + /// + /// Shorthand for writing Vector3(0, 0, 1). + /// + static const Vector3 Forward = Vector3(0.0, 0.0, 1.0); + /// + /// Shorthand for writing Vector3(-1, 0, 0). + /// + static const Vector3 Left = Vector3(-1.0, 0.0, 0.0); + /// + /// Shorthand for writing Vector3(double.NegativeInfinity, + /// double.NegativeInfinity, double.NegativeInfinity). + /// + static const Vector3 NegativeInfinity = Vector3(std::numeric_limits::lowest(), + std::numeric_limits::lowest(), + std::numeric_limits::lowest()); + /// + /// Shorthand for writing Vector3(1, 1, 1). + /// + static const Vector3 One = Vector3(1.0, 1.0, 1.0); + /// + /// Shorthand for writing Vector3(double.PositiveInfinity, + /// double.PositiveInfinity, double.PositiveInfinity). + /// + static const Vector3 PositiveInfinity = Vector3(std::numeric_limits::max(), + std::numeric_limits::max(), + std::numeric_limits::max()); + /// + /// Shorthand for writing Vector3(1, 0, 0). + /// + static const Vector3 Right = Vector3(1.0, 0.0, 0.0); + /// + /// Shorthand for writing Vector3(0, 1, 0). + /// + static const Vector3 Up = Vector3(0.0, 1.0, 0.0); + /// + /// Shorthand for writing Vector3(0, 0, 0). + /// + static const Vector3 Zero = Vector3(0.0, 0.0, 0.0); + #pragma endregion + + /*-----------------------------------------------------------------------------*/ + /* Public Members */ + /*-----------------------------------------------------------------------------*/ + /// + /// X-component of the Vector3. + /// + double x; + /// + /// Y-component of the Vector3. + /// + double y; + /// + /// Z-component of the Vector3. + /// + double z; + + /*-----------------------------------------------------------------------------*/ + /* Constructors */ + /*-----------------------------------------------------------------------------*/ + /// + /// Constructor to construct a Vector3 with the specified components with the + /// Y and Z-component set to 0.0. + /// + /// X-coordinate to set. + Vector3(double _x); + /// + /// Constructor to construct a Vector3 with the specified components with the + /// Z-component set to 0.0. + /// + /// X-coordinate to set. + /// Y-coordinate to set. + Vector3(double _x, double _y); + /// + /// Constructor to construct a Vector3 with the specified components. + /// + /// X-coordinate to set. + /// Y-coordinate to set. + /// Z-coordinate to set. + Vector3(double _x, double _y, double _z); + /// + /// Conversion constructor to construct a Vector3 using a Vector2. + /// + /// + Vector3(Vector2 vec); + + /*-----------------------------------------------------------------------------*/ + /* Usage Functions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Normalises this current Vector3. This changes the data of this Vector3. + /// If you would like to get a copy, use GetNormalised() instead. + /// This function does nothing to a zero vector. + /// + void Normalise(); + /// + /// Creates a copy of this Vector3 and returns a normalized version. + /// + /// + /// Returns a normalised copy of this Vector3. + /// If this Vector3 is a zero vector, a zero vector will be returned. + /// + Vector3 GetNormalised(); + /// + /// Calculates and returns the magnitude of this Vector3. Note that this function + /// incurs a performance cost from the square root calculation. If you do not + /// need the precise magnitude, consider using GetSqrMagnitude() instead. + /// + /// Returns the length of this Vector3. + double GetMagnitude(); + /// + /// Calculates and returns the squared magnitude of this Vector3. + /// + /// Returns the squared length of this Vector3. + double GetSqrMagnitude(); + /// + /// Calculates and returns the angle of this vector from the right vector. This + /// function returns values between -Math.PI and Math.PI. + /// + /// Returns the angle of this vector from the right vector in radians. + double Angle2DFromRightRadians(); + /// + /// Calculates and returns the angle of this vector from the right vector. This + /// function returns values between -180.0 and 180.0. + /// + /// Returns the angle of this vector from the right vector in degrees. + double Angle2DFromRightDegrees(); + /// + /// Checks if a specified point is near this Vector3 that represents a point with + /// a tolerance value of PLS_EPSILON. + /// + /// The other point to check if we are near. + /// + /// True if this Vector3 representing a point and the specified point are within + /// the range of the specified tolerance. False otherwise. + /// + bool IsNearPoint(Vector3 point); + /// + /// Checks if a specified point is near this Vector3 that represents a point. + /// + /// The other point to check if we are near. + /// + /// The amount of tolerance before we consider these points as "near". + /// + /// + /// True if this Vector3 representing a point and the specified point are within + /// the range of the specified tolerance. False otherwise. + /// + bool IsNearPoint(Vector3 point, double tolerance); + + /*-----------------------------------------------------------------------------*/ + /* IEquatable */ + /*-----------------------------------------------------------------------------*/ + /// + /// Compares equality with an object of the same type. + /// + /// The object to compare with. + /// True if both objects are the same. + virtual bool Equals(Vector3 other); + + /*-----------------------------------------------------------------------------*/ + /* Object */ + /*-----------------------------------------------------------------------------*/ + /// + /// Compares equality with another unboxed object. + /// + /// The unboxed object to compare with. + /// True if both objects are the same. + bool Equals(Object^ o) override; + /// + /// Gets a unique hash for this object. + /// + /// Unique hash for this object. + int GetHashCode() override; + + /*-----------------------------------------------------------------------------*/ + /* Static Functions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Checks if two specified Vector3s are near in value. + /// + /// Vector3 to check if is near in value. + /// Another Vector3 to check if is near in value. + /// + /// True if the two Vector3s are within the tolerance value specified + /// + static bool IsNear(Vector3 lhs, Vector3 rhs); + /// + /// Checks if two specified Vector3s are near in value. + /// + /// Vector3 to check if is near in value. + /// Another Vector3 to check if is near in value. + /// Amount of tolerance to do the comparison with. + /// + /// True if the two Vector3s are within the tolerance value specified + /// + static bool IsNear(Vector3 lhs, Vector3 rhs, double tolerance); + /// + /// Computes and returns the dot product of 2 specified Vector3s. + /// + /// Vector3 to calculate dot product with. + /// Another Vector3 to calculate dot product with. + /// Scalar value representing the dot product of the two Vector3s. + static double Dot(Vector3 lhs, Vector3 rhs); + /// + /// Computes and returns the cross product of 2 specified Vector3s. + /// + /// Vector3 to calculate cross product with. + /// Another Vector3 to calculate cross product with. + /// The cross product of the two Vector3s. + static Vector3 Cross(Vector3 lhs, Vector3 rhs); + /// + /// Computes and returns a Vector3 projection. + /// + /// Vector3 to project. + /// Vector3 to project onto. + /// The Vector3 that represents the projected vec onto direction. + static Vector3 Project(Vector3 vec, Vector3 direction); + /// + /// Reflects a Vector3 across another Vector3. + /// + /// A Vector3 to reflect. + /// A normal to reflect the Vector3 across. + /// The Vector3 that represents vec reflected across normal. + static Vector3 Reflect(Vector3 vec, Vector3 normal); + /// + /// Rotates a Vector3 on the Z-axis by a specified angle in an anti-clockwise + /// direction. + /// + /// A Vector3 to rotate. + /// + /// Angle to rotate the vector by in an anti-clockwise direction in radians. + /// + /// The Vector3 that represents the rotated vector. + static Vector3 RotateRadians(Vector3 vec, double radians); + /// + /// Rotates a Vector3 on the Z-axis by a specified angle in an anti-clockwise + /// direction. + /// + /// A Vector3 to rotate. + /// + /// Angle to rotate the vector by in an anti-clockwise direction in degrees. + /// + /// The Vector3 that represents the rotated vector. + static Vector3 RotateDegrees(Vector3 vec, double degrees); + /// + /// Computes and returns a Vector3 that is made from the smallest components of + /// the two specified Vector3s. + /// + /// Vector3 to calculate minimum Vector3 with. + /// Another Vector3 to calculate minimum Vector3 with. + /// + /// The Vector3 that contains the smallest components of the two specified + /// Vector3s. + /// + static Vector3 Min(Vector3 lhs, Vector3 rhs); + /// + /// Computes and returns a Vector3 that is made from the largest components of + /// the two specified Vector3s. + /// + /// Vector3 to calculate maximum Vector3 with. + /// Another Vector3 to calculate maximum Vector3 with. + /// + /// The Vector3 that contains the largest components of the two specified + /// Vector3s. + /// + static Vector3 Max(Vector3 lhs, Vector3 rhs); + /// + /// Linearly interpolates between two specified points. + /// This is most commonly used to find a point some fraction of the way along a + /// line between two endpoints. + /// + /// The start Vector3, returned when t = 0.0. + /// The end Vector3, returned when t = 1.0. + /// + /// Value used to interpolate between a and b which is clamped to + /// the range[0, 1]. + /// + /// The interpolated Vector3. + static Vector3 Lerp(Vector3 a, Vector3 b, double t); + /// + /// Linearly interpolates between two specified points. + /// This is most commonly used to find a point some fraction of the way along a + /// line between two endpoints. + /// Unlike Lerp(), t is not clamped to a range at all. + /// + /// The start Vector3, returned when t = 0.0. + /// The end Vector3, returned when t = 1.0. + /// Value used to interpolate between a and b. + /// The interpolated Vector3. + static Vector3 LerpUnclamped(Vector3 a, Vector3 b, double t); + /// + /// Moves a point current towards target. + /// Similar to Lerp(), however, the function will ensure that the distance never + /// exceeds maxDistanceDelta. Negative values of maxDistanceDelta pushes the + /// vector away from target + /// + /// The current position of the point. + /// The target position to move to. + /// Maximum distance moved per call. + /// Vector representing the moved point. + static Vector3 MoveTowards(Vector3 current, Vector3 target, double maxDistanceDelta); + + /*-----------------------------------------------------------------------------*/ + /* Overloaded Operators */ + /*-----------------------------------------------------------------------------*/ + /// + /// Adds two Vector3s together and returns the result. + /// + /// Vector3 to add. + /// Another Vector3 to add. + /// The result of lhs added to rhs + static Vector3 operator+(Vector3 lhs, Vector3 rhs); + /// + /// Subtracts a Vector3 from another Vector3 and returns the result. + /// + /// Vector3 to subtract from. + /// Another Vector3 to subtract. + /// The result of rhs subtracted from lhs. + static Vector3 operator-(Vector3 lhs, Vector3 rhs); + /// + /// Calculates the component-wise multiplication of two Vector3s and returns the + /// result. + /// + /// Vector3 to multiply with. + /// Another Vector3 to multiply with. + /// The result of rhs subtracted from lhs. + static Vector3 operator*(Vector3 lhs, Vector3 rhs); + /// + /// Calculates the multiplication of a Vector3 with a scalar value and returns + /// the result. + /// + /// Vector3 to multiply with. + /// Scalar to multiply with. + /// The result of the scalar multiplication. + static Vector3 operator*(Vector3 lhs, double rhs); + /// + /// Calculates the division of a Vector3 with a scalar value and returns + /// the result. + /// + /// Scalar to divide with. + /// Vector3 to divide with. + /// The result of the scalar division. + static Vector3 operator/(Vector3 lhs, double rhs); + /// + /// Checks if two Vector3s are approximately equal. This is equivalent to + /// calling Vector3.IsNear() with default tolerance values. + /// + /// Vector3 to compare. + /// Another Vector3 to compare. + /// + /// True if all components are approximately equal within the default + /// tolerance value. + /// + static bool operator==(Vector3 lhs, Vector3 rhs); + /// + /// Checks if two Vector3s are not approximately equal. This is equivalent to + /// calling !Vector3.IsNear() with default tolerance values. + /// + /// Vector3 to compare. + /// Another Vector3 to compare. + /// + /// True if all components are not approximately equal within the default + /// tolerance value. + /// + static bool operator!=(Vector3 lhs, Vector3 rhs); + + /*-----------------------------------------------------------------------------*/ + /* Conversion Operators */ + /*-----------------------------------------------------------------------------*/ + /// + /// Explicit conversion operator to enable explicit casting from a Vector3 to a + /// Vector2. + /// + /// Vector3 to convert from. + static explicit operator Vector2(Vector3 vec); + /// + /// Explicit conversion operator to enable explicit casting from a Vector2 to a + /// Vector3. + /// + /// Vector2 to convert from. + static explicit operator Vector3(Vector2 vec); + }; +} // namespace PlushieAPI::Mathematics diff --git a/SHADE_Managed/src/SHpch.cpp b/SHADE_Managed/src/SHpch.cpp new file mode 100644 index 00000000..2a36c693 --- /dev/null +++ b/SHADE_Managed/src/SHpch.cpp @@ -0,0 +1,10 @@ +/**************************************************************************************** + * \file SHpch.h + * \brief Empty source file for generating SHADE Engine's precompiled header. + * + * \copyright Copyright (C) 2022 DigiPen Institute of Technology. Reproduction or + * disclosure of this file or its contents without the prior written consent + * of DigiPen Institute of Technology is prohibited. +****************************************************************************************/ + +#include "SHpch.h" \ No newline at end of file diff --git a/SHADE_Managed/src/SHpch.h b/SHADE_Managed/src/SHpch.h new file mode 100644 index 00000000..b54a8a5b --- /dev/null +++ b/SHADE_Managed/src/SHpch.h @@ -0,0 +1,31 @@ +/**************************************************************************************** + * \file SHpch.h + * \brief Precompiled header file for SHADE Engine. + * + * \copyright Copyright (C) 2022 DigiPen Institute of Technology. Reproduction or + * disclosure of this file or its contents without the prior written consent + * of DigiPen Institute of Technology is prohibited. +****************************************************************************************/ + +#pragma once + +#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers +// Windows Header Files +#include +// C RunTime Header Files +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include From b0e9469e4ec571627d6374406a45c9f3f0310b1d Mon Sep 17 00:00:00 2001 From: Kah Wei Date: Mon, 12 Sep 2022 19:00:54 +0800 Subject: [PATCH 05/32] Added Entity and WIP GameObject --- SHADE_Managed/SHADE_Managed.vcxproj.filters | 12 + SHADE_Managed/premake5.lua | 1 + SHADE_Managed/src/Scripts/Entity.cxx | 28 ++ SHADE_Managed/src/Scripts/Entity.hxx | 41 +++ SHADE_Managed/src/Scripts/GameObject.cxx | 205 ++++++++++++++ SHADE_Managed/src/Scripts/GameObject.hxx | 282 ++++++++++++++++++++ 6 files changed, 569 insertions(+) create mode 100644 SHADE_Managed/src/Scripts/Entity.cxx create mode 100644 SHADE_Managed/src/Scripts/Entity.hxx create mode 100644 SHADE_Managed/src/Scripts/GameObject.cxx create mode 100644 SHADE_Managed/src/Scripts/GameObject.hxx diff --git a/SHADE_Managed/SHADE_Managed.vcxproj.filters b/SHADE_Managed/SHADE_Managed.vcxproj.filters index 86a64c06..182a3937 100644 --- a/SHADE_Managed/SHADE_Managed.vcxproj.filters +++ b/SHADE_Managed/SHADE_Managed.vcxproj.filters @@ -25,6 +25,12 @@ Math + + Scripts + + + Scripts + @@ -40,5 +46,11 @@ Math + + Scripts + + + Scripts + \ No newline at end of file diff --git a/SHADE_Managed/premake5.lua b/SHADE_Managed/premake5.lua index 61f42fc2..27ed920f 100644 --- a/SHADE_Managed/premake5.lua +++ b/SHADE_Managed/premake5.lua @@ -31,6 +31,7 @@ project "SHADE_Managed" "%{IncludeDir.imnodes}", "%{IncludeDir.yamlcpp}", "%{IncludeDir.RTTR}/include", + "%{wks.location}/SHADE_Engine/src" } flags diff --git a/SHADE_Managed/src/Scripts/Entity.cxx b/SHADE_Managed/src/Scripts/Entity.cxx new file mode 100644 index 00000000..bd915c42 --- /dev/null +++ b/SHADE_Managed/src/Scripts/Entity.cxx @@ -0,0 +1,28 @@ +/************************************************************************************//*! +\file Entity.cxx +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Oct 28, 2021 +\brief Contains the definition of the functions for the EntityUtils managed + static class. + + Note: This file is written in C++17/CLI. + +Copyright (C) 2021 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//*************************************************************************************/ +// Precompiled Headers +#include "SHpch.h" +// Primary Header +#include "Entity.hxx" +// External Dependencies +#include "Engine/ECS_Base/System/SHEntityManager.h" + +namespace SHADE +{ + bool EntityUtils::IsValid(Entity^ entity) + { + return SHEntityManager::IsValidEID(static_cast(entity)); + } +} diff --git a/SHADE_Managed/src/Scripts/Entity.hxx b/SHADE_Managed/src/Scripts/Entity.hxx new file mode 100644 index 00000000..525522c2 --- /dev/null +++ b/SHADE_Managed/src/Scripts/Entity.hxx @@ -0,0 +1,41 @@ +/************************************************************************************//*! +\file Entity.hxx +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Oct 28, 2021 +\brief Contains the definitions of a managed Entity identifier and declarations + of useful utility functions for working with Entity identifiers. + + Note: This file is written in C++17/CLI. + +Copyright (C) 2021 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//*************************************************************************************/ +#pragma once + +// External Dependencies +#include "Engine/ECS_Base/Entity/SHEntity.h" + +namespace SHADE +{ + /// + /// Managed representation of a native ECS Entity. + /// + using Entity = System::UInt32; + + /// + /// Static class that contains useful utility functions for working with Entity. + /// + private ref class EntityUtils abstract sealed + { + public: + /// + /// Checks if the specified entity is valid. This is done by checking if it + /// matches Pls::Entity::INVALID. + /// + /// The Entity to check. + /// True if the specified Entity is valid. + static bool IsValid(Entity^ entity); + }; +} diff --git a/SHADE_Managed/src/Scripts/GameObject.cxx b/SHADE_Managed/src/Scripts/GameObject.cxx new file mode 100644 index 00000000..3fe1c92f --- /dev/null +++ b/SHADE_Managed/src/Scripts/GameObject.cxx @@ -0,0 +1,205 @@ +/************************************************************************************//*! +\file GameObject.cxx +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Oct 28, 2021 +\brief Contains the definition of the functions for the GameObject managed class. + + Note: This file is written in C++17/CLI. + +Copyright (C) 2021 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//*************************************************************************************/ +// Precompiled Headers +#include "SHpch.h" +// Primary Header +#include "GameObject.hxx" +// External Dependencies +#include "Engine/ECS_Base/System/SHEntityManager.h" +// Project Headers + +namespace SHADE +{ + /*---------------------------------------------------------------------------------*/ + /* Static Functions */ + /*---------------------------------------------------------------------------------*/ + GameObject GameObject::Create() + { + throw gcnew System::NotImplementedException(); + } + + void GameObject::Destroy(GameObject obj) + { + SHEntityManager::DestroyEntity(static_cast(obj.GetEntity())); + } + + System::Nullable GameObject::Find(System::String ^ name) + { + // Search the GameObjectLibrary for an Entity with the specified name + throw gcnew System::NotImplementedException(); + } + + /*---------------------------------------------------------------------------------*/ + /* Properties */ + /*---------------------------------------------------------------------------------*/ + System::String^ GameObject::Name::get() + { + throw gcnew System::NotImplementedException(); + } + bool GameObject::IsActiveSelf::get() + { + throw gcnew System::NotImplementedException(); + } + bool GameObject::IsActiveInHierarchy::get() + { + throw gcnew System::NotImplementedException(); + } + + /*---------------------------------------------------------------------------------*/ + /* GameObject Property Functions */ + /*---------------------------------------------------------------------------------*/ + void GameObject::SetName(System::String^ name) + { + throw gcnew System::NotImplementedException(); + } + void GameObject::SetActive(bool active) + { + throw gcnew System::NotImplementedException(); + } + + /*---------------------------------------------------------------------------------*/ + /* Component Functions */ + /*---------------------------------------------------------------------------------*/ + generic + T GameObject::AddComponent() + { + throw gcnew System::NotImplementedException(); + //return ECS::AddComponent(GetNativeEntity()); + } + + generic + T GameObject::GetComponent() + { + throw gcnew System::NotImplementedException(); + //return ECS::GetComponent(GetNativeEntity()); + } + + generic + T GameObject::GetComponentInChildren() + { + throw gcnew System::NotImplementedException(); + //return ECS::GetComponentInChildren(GetNativeEntity()); + } + + generic + T GameObject::EnsureComponent() + { + throw gcnew System::NotImplementedException(); + //return ECS::EnsureComponent(GetNativeEntity()); + } + + generic + void GameObject::RemoveComponent() + { + throw gcnew System::NotImplementedException(); + //ECS::RemoveComponent(GetNativeEntity()); + } + + /*---------------------------------------------------------------------------------*/ + /* Script Access Functions */ + /*---------------------------------------------------------------------------------*/ + generic + T GameObject::AddScript() + { + throw gcnew System::NotImplementedException(); + //return ScriptStore::AddScript(entity); + } + + generic + T GameObject::GetScript() + { + throw gcnew System::NotImplementedException(); + //return ScriptStore::GetScript(entity); + } + + generic + T GameObject::GetScriptInChildren() + { + throw gcnew System::NotImplementedException(); + //return ScriptStore::GetScriptInChildren(entity); + } + + generic + System::Collections::Generic::IEnumerable^ GameObject::GetScripts() + { + throw gcnew System::NotImplementedException(); + //return ScriptStore::GetScripts(entity); + } + + generic + void GameObject::RemoveScript() + { + throw gcnew System::NotImplementedException(); + //ScriptStore::RemoveScript(entity); + } + + /*---------------------------------------------------------------------------------*/ + /* Constructors */ + /*---------------------------------------------------------------------------------*/ + GameObject::GameObject(EntityID entity) + : entity { entity } + {} + + GameObject::GameObject(Entity entity) + : entity { entity } + {} + + /*---------------------------------------------------------------------------------*/ + /* Getters */ + /*---------------------------------------------------------------------------------*/ + SHEntity GameObject::GetNativeEntity() + { + throw gcnew System::NotImplementedException(); + //return Convert::ToNative(entity); + } + + /*---------------------------------------------------------------------------------*/ + /* IEquatable */ + /*---------------------------------------------------------------------------------*/ + bool GameObject::Equals(GameObject other) + { + return entity == other.entity; + } + + /*---------------------------------------------------------------------------------*/ + /* Object */ + /*---------------------------------------------------------------------------------*/ + bool GameObject::Equals(Object^ o) + { + try + { + GameObject^ cmp = safe_cast(o); + return Equals(cmp); + } + catch (System::InvalidCastException^) + { + return false; + } + } + + int GameObject::GetHashCode() + { + return entity.GetHashCode(); + } + + bool GameObject::operator==(GameObject lhs, GameObject rhs) + { + return lhs.Equals(rhs); + } + + bool GameObject::operator!=(GameObject lhs, GameObject rhs) + { + return !(lhs == rhs); + } +} diff --git a/SHADE_Managed/src/Scripts/GameObject.hxx b/SHADE_Managed/src/Scripts/GameObject.hxx new file mode 100644 index 00000000..0b030354 --- /dev/null +++ b/SHADE_Managed/src/Scripts/GameObject.hxx @@ -0,0 +1,282 @@ +/************************************************************************************//*! +\file GameObject.hxx +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Oct 28, 2021 +\brief Contains the definitions of the GameObject managed class which define an + abstraction for working with Entities in managed code. + + Note: This file is written in C++17/CLI. + +Copyright (C) 2021 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//*************************************************************************************/ +#pragma once + +// Project Includes +#include "Entity.hxx" + +namespace SHADE +{ + /*---------------------------------------------------------------------------------*/ + /* Forward Declarations */ + /*---------------------------------------------------------------------------------*/ + ref class PlushieScript; + ref class BaseComponent; + + /*---------------------------------------------------------------------------------*/ + /* Class Definitions */ + /*---------------------------------------------------------------------------------*/ + /// + /// Lightweight object for an PlushieEngine Entity that allows for easy access + /// to Component and Script operations. + /// + public value class GameObject : public System::IEquatable + { + public: + /*-----------------------------------------------------------------------------*/ + /* Static Functions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Creates a new GameObject in the current Scene. If multiple Scenes are loaded, + /// and you would like to create an object in a specific Scene, call the Scene's + /// CreateGameObject(). + /// + /// GameObject that represents the newly created GameObject. + static GameObject Create(); + /// + /// Destroys the specified GameObject. Note that the specified GameObject will no + /// longer be a valid GameObject after this function is called. + /// + /// The GameObject to be destroyed. + static void Destroy(GameObject obj); + /// + /// Retrieves a GameObject with the specified name. If there are multiple + /// GameObjects with the same name, the first found GameObject will be retrieved. + /// There is no guaranteed order of which GameObject is considered "first". + /// + /// Name of the GameObject to find. + /// GameObject that has the specified name. Null if not found. + static System::Nullable Find(System::String^ name); + + /*-----------------------------------------------------------------------------*/ + /* Properties */ + /*-----------------------------------------------------------------------------*/ + /// + /// Name of the object that this Entity represents. + /// + property System::String^ Name + { + System::String^ get(); + } + /// + /// Whether or not this Entity alone, is active. This does not mean that this + /// object is active in the scene. For example, if this Entity's parent is not + /// active, then this Entity would also be not active. + /// + property bool IsActiveSelf + { + bool get(); + } + /// + /// Whether or not this Entity is active in the Scene hierarchy. + /// + property bool IsActiveInHierarchy + { + bool get(); + } + + /*-----------------------------------------------------------------------------*/ + /* GameObject Property Functions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Sets the name of this GameObject. + /// + /// The name to set. + void SetName(System::String^ name); + /// + /// Sets the active state of this GameObject. + ///
    + /// The actual "activeness" of this GameObject is still dependent on the parents' + /// active states. + ///
    + /// + /// Whether to activate or deactivate this GameObject. + /// + void SetActive(bool active); + + /*-----------------------------------------------------------------------------*/ + /* Component Access Functions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Adds a Component to this GameObject. + /// + /// Type of the Component to add. + /// Reference to the Component that was added. + generic where T : BaseComponent + T AddComponent(); + /// + /// Gets a Component from this GameObject. + /// + /// Type of the Component to get. + /// + /// Reference to the Component or null if this GameObject does not have the + /// specified Component. + /// + generic where T : BaseComponent + T GetComponent(); + /// + /// Retrieves the first Component from this GameObject's children that matches + /// the specified type. + /// + /// Type of the Component to get. + /// + /// Reference to the Component or null if neither of this GameObject's children + /// does not have the specified Component. + /// + generic where T : BaseComponent + T GetComponentInChildren(); + /// + /// Ensures a Component on this GameObject. + /// + /// Type of the Component to ensure. + /// + /// Reference to the Component. + /// + generic where T : BaseComponent + T EnsureComponent(); + /// + /// Removes a Component from this GameObject. If no Component exists to begin + /// with, nothing happens. + /// + /// Type of the Component to get. + generic where T : BaseComponent + void RemoveComponent(); + + /*-----------------------------------------------------------------------------*/ + /* Script Access Functions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Adds a PlushieScript of the specified type to this GameObject. + /// + /// Type of PlushieScript to add. + /// Reference to the created PlushieScript. + generic where T : ref class, PlushieScript + T AddScript(); + /// + /// Retrieves a PlushieScript of the specified type from this GameObject. + /// If multiple PlushieScripts of the same specified type are added on the same + /// GameObject, this will retrieve the first one added. + /// + /// Type of PlushieScript to retrieve. + /// Reference to the PlushieScript to retrieve. + generic where T : ref class, PlushieScript + T GetScript(); + /// + /// Retrieves a PlushieScript of the specified type from child GameObjects. + /// If multiple PlushieScripts of the same specified type are added on the same + /// child GameObject, this will retrieve the first one added. + /// + /// Type of PlushieScript to retrieve. + /// Reference to the PlushieScript to retrieve. + generic where T : ref class, PlushieScript + T GetScriptInChildren(); + /// + /// Retrieves a immutable list of PlushieScripts of the specified type from this + /// GameObject. + /// + /// Type of PlushieScripts to retrieve. + /// Immutable list of PlushieScripts of the specified type. + generic where T : ref class, PlushieScript + System::Collections::Generic::IEnumerable^ GetScripts(); + /// + /// Removes all PlushieScripts of the specified type from this GameObject. + /// + /// Type of PLushieScripts to remove. + generic where T : ref class, PlushieScript + void RemoveScript(); + + internal: + /*-----------------------------------------------------------------------------*/ + /* Constructors */ + /*-----------------------------------------------------------------------------*/ + /// + /// Constructor for the GameObject. + /// + /// + /// The ECS Entity that this GameObject should represent. + /// + GameObject(SHEntity entity); + /// + /// Constructor for the GameObject. + /// + /// + /// Managed numerical representation of the ECS Entity that this GameObject + /// should represent. + /// + GameObject(Entity entity); + + /*-----------------------------------------------------------------------------*/ + /* Getters */ + /*-----------------------------------------------------------------------------*/ + /// + /// Retrieves the CLR Entity object that this GameObject represents. + /// + /// Entity object that this GameObject represents. + inline Entity GetEntity() { return entity; } + /// + /// Retrieves the native Entity object that this GameObject represents. + /// + /// Native Entity object that this GameObject represents. + SHEntity GetNativeEntity(); + + private: + /*-----------------------------------------------------------------------------*/ + /* Data Members */ + /*-----------------------------------------------------------------------------*/ + Entity entity; + + public: + /*-----------------------------------------------------------------------------*/ + /* IEquatable */ + /*-----------------------------------------------------------------------------*/ + /// + /// Compares equality with an object of the same type. + /// + /// The object to compare with. + /// True if both objects are the same. + virtual bool Equals(GameObject other); + + /*-----------------------------------------------------------------------------*/ + /* Object */ + /*-----------------------------------------------------------------------------*/ + /// + /// Compares equality with another unboxed object. + /// + /// The unboxed object to compare with. + /// True if both objects are the same. + bool Equals(Object^ o) override; + /// + /// Gets a unique hash for this object. + /// + /// Unique hash for this object. + int GetHashCode() override; + /// + /// Checks if two GameObject references are the same. + /// + /// GameObject to check. + /// Another GameObject to check with. + /// True if both Components are the same. + static bool operator==(GameObject lhs, GameObject rhs); + /// + /// Checks if two GameObject references are different. + /// + /// GameObject to check. + /// Another GameObject to check with. + /// True if both Components are different. + static bool operator!=(GameObject lhs, GameObject rhs); + }; + +} + From 216a9ac7cb2e2a09c2308c927f416433984cdb2b Mon Sep 17 00:00:00 2001 From: Kah Wei Date: Mon, 12 Sep 2022 22:42:46 +0800 Subject: [PATCH 06/32] Added Script class --- SHADE_Managed/SHADE_Managed.vcxproj.filters | 37 ++- SHADE_Managed/premake5.lua | 16 +- .../src/{Scripts => Engine}/Entity.cxx | 0 .../src/{Scripts => Engine}/Entity.hxx | 0 .../src/{Scripts => Engine}/GameObject.cxx | 0 .../src/{Scripts => Engine}/GameObject.hxx | 0 SHADE_Managed/src/Scripts/Script.cxx | 171 +++++++++++ SHADE_Managed/src/Scripts/Script.hxx | 274 ++++++++++++++++++ SHADE_Managed/src/Utility/Convert.cxx | 49 ++++ SHADE_Managed/src/Utility/Convert.hxx | 68 +++++ SHADE_Managed/src/Utility/Debug.cxx | 112 +++++++ SHADE_Managed/src/Utility/Debug.hxx | 240 +++++++++++++++ .../DisposableAssemblyLoadContext.cxx | 0 .../DisposableAssemblyLoadContext.hxx | 0 14 files changed, 958 insertions(+), 9 deletions(-) rename SHADE_Managed/src/{Scripts => Engine}/Entity.cxx (100%) rename SHADE_Managed/src/{Scripts => Engine}/Entity.hxx (100%) rename SHADE_Managed/src/{Scripts => Engine}/GameObject.cxx (100%) rename SHADE_Managed/src/{Scripts => Engine}/GameObject.hxx (100%) create mode 100644 SHADE_Managed/src/Scripts/Script.cxx create mode 100644 SHADE_Managed/src/Scripts/Script.hxx create mode 100644 SHADE_Managed/src/Utility/Convert.cxx create mode 100644 SHADE_Managed/src/Utility/Convert.hxx create mode 100644 SHADE_Managed/src/Utility/Debug.cxx create mode 100644 SHADE_Managed/src/Utility/Debug.hxx rename SHADE_Managed/src/{Engine => Utility}/DisposableAssemblyLoadContext.cxx (100%) rename SHADE_Managed/src/{Engine => Utility}/DisposableAssemblyLoadContext.hxx (100%) diff --git a/SHADE_Managed/SHADE_Managed.vcxproj.filters b/SHADE_Managed/SHADE_Managed.vcxproj.filters index 182a3937..c83321cd 100644 --- a/SHADE_Managed/SHADE_Managed.vcxproj.filters +++ b/SHADE_Managed/SHADE_Managed.vcxproj.filters @@ -10,9 +10,15 @@ {4D6F1AE8-B94E-9983-C266-245A2EC5FFE4} + + {594615A9-C525-9444-CE3D-1F1B3A9CFAA5} + - + + Engine + + Engine @@ -25,15 +31,24 @@ Math - + Scripts - - Scripts + + Utility + + + Utility + + + Utility - + + Engine + + Engine @@ -46,11 +61,17 @@ Math - + Scripts - - Scripts + + Utility + + + Utility + + + Utility \ No newline at end of file diff --git a/SHADE_Managed/premake5.lua b/SHADE_Managed/premake5.lua index 27ed920f..137e950e 100644 --- a/SHADE_Managed/premake5.lua +++ b/SHADE_Managed/premake5.lua @@ -25,7 +25,7 @@ project "SHADE_Managed" includedirs { "%{prj.location}/src", - "%{IncludeDir.assimp}/include", + "%{IncludeDir.spdlog}/include", "%{IncludeDir.imgui}", "%{IncludeDir.imguizmo}", "%{IncludeDir.imnodes}", @@ -34,11 +34,25 @@ project "SHADE_Managed" "%{wks.location}/SHADE_Engine/src" } + links + { + "yaml-cpp", + "imgui", + "spdlog", + } + flags { "MultiProcessorCompile" } + dependson + { + "yaml-cpp", + "imgui", + "spdlog", + } + warnings 'Extra' filter "configurations:Debug" diff --git a/SHADE_Managed/src/Scripts/Entity.cxx b/SHADE_Managed/src/Engine/Entity.cxx similarity index 100% rename from SHADE_Managed/src/Scripts/Entity.cxx rename to SHADE_Managed/src/Engine/Entity.cxx diff --git a/SHADE_Managed/src/Scripts/Entity.hxx b/SHADE_Managed/src/Engine/Entity.hxx similarity index 100% rename from SHADE_Managed/src/Scripts/Entity.hxx rename to SHADE_Managed/src/Engine/Entity.hxx diff --git a/SHADE_Managed/src/Scripts/GameObject.cxx b/SHADE_Managed/src/Engine/GameObject.cxx similarity index 100% rename from SHADE_Managed/src/Scripts/GameObject.cxx rename to SHADE_Managed/src/Engine/GameObject.cxx diff --git a/SHADE_Managed/src/Scripts/GameObject.hxx b/SHADE_Managed/src/Engine/GameObject.hxx similarity index 100% rename from SHADE_Managed/src/Scripts/GameObject.hxx rename to SHADE_Managed/src/Engine/GameObject.hxx diff --git a/SHADE_Managed/src/Scripts/Script.cxx b/SHADE_Managed/src/Scripts/Script.cxx new file mode 100644 index 00000000..ecd27325 --- /dev/null +++ b/SHADE_Managed/src/Scripts/Script.cxx @@ -0,0 +1,171 @@ +/************************************************************************************//*! +\file Script.cxx +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Oct 28, 2021 +\brief Contains the definition of the functions for the PlushieScript managed + class. + + Note: This file is written in C++17/CLI. + +Copyright (C) 2021 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//*************************************************************************************/ +// Precompiled Headers +#include "SHpch.h" +// Primary Header +#include "Script.hxx" +// Project Headers +#include "Utility/Debug.hxx" + +namespace SHADE +{ + /*---------------------------------------------------------------------------------*/ + /* Component Access Functions */ + /*---------------------------------------------------------------------------------*/ + generic + T Script::AddComponent() + { + return owner.AddComponent(); + } + generic + T Script::GetComponent() + { + return owner.GetComponent(); + } + + generic + T Script::GetComponentInChildren() + { + return owner.GetComponentInChildren(); + } + + generic + T Script::EnsureComponent() + { + return owner.EnsureComponent(); + } + generic + void Script::RemoveComponent() + { + throw gcnew System::NotImplementedException; + //ECS::RemoveComponent(owner.GetNativeEntity()); + } + + /*---------------------------------------------------------------------------------*/ + /* Script Access Functions */ + /*---------------------------------------------------------------------------------*/ + generic + T Script::AddScript() + { + throw gcnew System::NotImplementedException; + //return ScriptStore::AddScript(owner.GetEntity()); + } + generic + T Script::GetScript() + { + throw gcnew System::NotImplementedException; + //return ScriptStore::GetScript(owner.GetEntity()); + } + + generic + T Script::GetScriptInChildren() + { + throw gcnew System::NotImplementedException; + //return ScriptStore::GetScriptInChildren(owner.GetEntity()); + } + + generic + System::Collections::Generic::IEnumerable^ Script::GetScripts() + { + throw gcnew System::NotImplementedException; + //return ScriptStore::GetScripts(owner.GetEntity()); + } + + generic + void Script::RemoveScript() + { + throw gcnew System::NotImplementedException; + //ScriptStore::RemoveScript(owner.GetEntity()); + } + + /*---------------------------------------------------------------------------------*/ + /* "All-time" Lifecycle Functions */ + /*---------------------------------------------------------------------------------*/ + void Script::OnAttached() + { + SAFE_NATIVE_CALL_BEGIN + onAttached(); + SAFE_NATIVE_CALL_END(this) + } + void Script::OnDetached() + { + SAFE_NATIVE_CALL_BEGIN + onDetatched(); + SAFE_NATIVE_CALL_END(this) + } + + /*---------------------------------------------------------------------------------*/ + /* Lifecycle Functions */ + /*---------------------------------------------------------------------------------*/ + void Script::Awake() + { + SAFE_NATIVE_CALL_BEGIN + awake(); + SAFE_NATIVE_CALL_END(this) + } + void Script::Start() + { + SAFE_NATIVE_CALL_BEGIN + start(); + SAFE_NATIVE_CALL_END(this) + } + void Script::FixedUpdate() + { + SAFE_NATIVE_CALL_BEGIN + fixedUpdate(); + SAFE_NATIVE_CALL_END(this) + } + void Script::Update() + { + SAFE_NATIVE_CALL_BEGIN + update(); + SAFE_NATIVE_CALL_END(this) + } + void Script::LateUpdate() + { + SAFE_NATIVE_CALL_BEGIN + lateUpdate(); + SAFE_NATIVE_CALL_END(this) + } + void Script::OnDestroy() + { + SAFE_NATIVE_CALL_BEGIN + onDestroy(); + SAFE_NATIVE_CALL_END(this) + } + + /*---------------------------------------------------------------------------------*/ + /* Constructors */ + /*---------------------------------------------------------------------------------*/ + Script::Script(GameObject gameObj) + : owner { gameObj } + {} + + /*---------------------------------------------------------------------------------*/ + /* Virtual "All-Time" Lifecycle Functions */ + /*---------------------------------------------------------------------------------*/ + void Script::onAttached() {} + void Script::onDetatched() {} + + /*---------------------------------------------------------------------------------*/ + /* Virtual Lifecycle Functions */ + /*---------------------------------------------------------------------------------*/ + void Script::awake() {} + void Script::start() {} + void Script::fixedUpdate() {} + void Script::update() {} + void Script::lateUpdate() {} + void Script::onDestroy() {} +}// namespace PlushieAPI diff --git a/SHADE_Managed/src/Scripts/Script.hxx b/SHADE_Managed/src/Scripts/Script.hxx new file mode 100644 index 00000000..cef9f4cd --- /dev/null +++ b/SHADE_Managed/src/Scripts/Script.hxx @@ -0,0 +1,274 @@ +/************************************************************************************//*! +\file Script.hxx +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Oct 28, 2021 +\brief Contains the definition of the Script class. + + Note: This file is written in C++17/CLI. + +Copyright (C) 2021 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//*************************************************************************************/ +#pragma once + +// Project Includes +#include "Engine/GameObject.hxx" + +namespace SHADE +{ + /*---------------------------------------------------------------------------------*/ + /* Forward Declarations */ + /*---------------------------------------------------------------------------------*/ + ref class BaseComponent; + + /*---------------------------------------------------------------------------------*/ + /* Class Definitions */ + /*---------------------------------------------------------------------------------*/ + /// + /// Class that forms the basis of all "script"-objects that can be attached to + /// Entities to update each Entity's Components via C# code. + /// + public ref class Script + { + public: + /*-----------------------------------------------------------------------------*/ + /* Properties */ + /*-----------------------------------------------------------------------------*/ + /// + /// GameObject that this Script belongs to. + /// + property GameObject Owner + { + GameObject get() { return owner; } + } + + /*-----------------------------------------------------------------------------*/ + /* Component Access Functions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Adds a Component to the GameObject that this Script belongs to. + /// + /// + /// Type of the Component to add. Must be derived from BaseComponent. + /// + /// Reference to the Component that was added. + generic where T : BaseComponent + T AddComponent(); + /// + /// Gets a Component from the GameObject that this Script belongs to. + /// + /// + /// Type of the Component to get. Must be derived from BaseComponent. + /// + /// Reference to the Component that was retrieved. + generic where T : BaseComponent + T GetComponent(); + /// + /// Retrieves the first Component from this GameObject's children that matches + /// the specified type. + /// + /// + /// Type of the Component to get. Must be derived from BaseComponent. + /// + /// Reference to the Component that was retrieved. + generic where T : BaseComponent + T GetComponentInChildren(); + /// + /// Ensures a Component on the GameObject that this Script belongs to. + /// + /// + /// Type of the Component to ensure. Must be derived from BaseComponent. + /// + /// Reference to the Component. + generic where T : BaseComponent + T EnsureComponent(); + /// + /// Removes a Component from the GameObject that this Script belongs to. + /// + /// + /// Type of the Component to remove. Must be derived from BaseComponent. + /// + generic where T : BaseComponent + void RemoveComponent(); + + /*-----------------------------------------------------------------------------*/ + /* Script Access Functions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Adds a Script to this GameObject. + /// + /// + /// Type of script to add. + /// This needs to be a default constructable Script. + /// + /// Reference to the script added + generic where T : ref class, Script + T AddScript(); + /// + /// Retrieves the first Script from this GameObject that matches the specified + /// type. + /// + /// + /// Type of script to get. + /// This needs to be a default constructable Script. + /// + /// Reference to the script added + generic where T : ref class, Script + T GetScript(); + /// + /// Retrieves the first Script from this GameObject's children that matches the + /// specified type. + /// + /// + /// Type of script to get. + /// This needs to be a default constructable Script. + /// + /// Reference to the script added + generic where T : ref class, Script + T GetScriptInChildren(); + /// + /// Retrieves a immutable list of scripts from the specified Entity that + /// matches the specified type. + ///
    + /// Note that this function allocates. It should be used sparingly. + ///
    + /// + /// Type of scripts to get. + /// This needs to be a default constructable Script. + /// + /// + /// Immutable list of references to scripts of the specified type. + /// + generic where T : ref class, Script + System::Collections::Generic::IEnumerable^ GetScripts(); + /// + /// Removes all Scripts of the specified type from this GameObject. + /// + /// + /// Type of script to remove. + /// This needs to be a default constructable Script. + /// + generic where T : ref class, Script + void RemoveScript(); + + internal: + /*-----------------------------------------------------------------------------*/ + /* "All-Time" Lifecycle Functions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Used to call onAttached(). This is called immediately when this script is + /// attached to a GameObject. + /// + void OnAttached(); + /// + /// Used to call onDetached(). This is called immediately when this script is + /// detached from a GameObject. + /// + void OnDetached(); + + /*-----------------------------------------------------------------------------*/ + /* Lifecycle Functions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Used to call awake(). This should be called on the first frame that the + /// attached GameObject is active if they are a part of the scene. + /// + void Awake(); + /// + /// Used to call start(). This should be called on the first frame that the + /// attached GameObject is active but always after Awake(). + /// + void Start(); + /// + /// Used to call fixedUpdate(). This should be called in sync with Physics + /// update steps and thus in most cases will execute more than Update() will. + /// This will be called immediately before a Physics update step. + /// + void FixedUpdate(); + /// + /// Used to call update(). This should be called every frame before physics and + /// collision resolution. + /// + void Update(); + /// + /// Used to call lateUpdate(). This should be called every frame after physics + /// and collision resolution but before rendering. + /// + void LateUpdate(); + /// + /// Used to call onDestroy(). This should be called at the end of the frame + /// where the attached GameObject or this script is destroyed directly or + /// indirectly due to destruction of the owner. + /// + void OnDestroy(); + + protected: + /*-----------------------------------------------------------------------------*/ + /* Constructors */ + /*-----------------------------------------------------------------------------*/ + /// + /// Constructor for Script to tie it to a specific GameObject. + /// Constructors of derived Scripts should call this Constructor. + /// + /// + /// GameObject that this Script will be tied to. + /// + Script(GameObject gameObj); + + /*-----------------------------------------------------------------------------*/ + /* Virtual "All-Time" Lifecycle Functions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Called immediately once this script is attached to a GameObject. + /// + virtual void onAttached(); + /// + /// Called immediately once this script is detached from a GameObject. + /// + virtual void onDetatched(); + + /*-----------------------------------------------------------------------------*/ + /* Virtual Lifecycle Functions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Called on the first frame that the attached GameObject is active if they are + /// a part of the scene. + /// + virtual void awake(); + /// + /// Called on the first frame that the attached GameObject is active but always + /// after Awake(). + /// + virtual void start(); + /// + /// Called every frame in sync with Physics update steps and thus in most cases + /// will execute more than update() will. This will be called immediately before + /// a Physics update step. + /// + virtual void fixedUpdate(); + /// + /// Called every frame before physics and collision resolution. + /// + virtual void update(); + /// + /// Called every frame after physics and collision resolution but before + /// rendering. + /// + virtual void lateUpdate(); + /// + /// Called just before the end of the frame where the attached GameObject or + /// this script is destroyed directly or indirectly due to destruction of the + /// owner. + /// + virtual void onDestroy(); + + private: + /*-----------------------------------------------------------------------------*/ + /* Data Members */ + /*-----------------------------------------------------------------------------*/ + GameObject owner; + }; + +} // namespace PlushieAPI diff --git a/SHADE_Managed/src/Utility/Convert.cxx b/SHADE_Managed/src/Utility/Convert.cxx new file mode 100644 index 00000000..e9b0c732 --- /dev/null +++ b/SHADE_Managed/src/Utility/Convert.cxx @@ -0,0 +1,49 @@ +/************************************************************************************//*! +\file Convert.cxx +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Oct 28, 2021 +\brief Contains the definition of the functions for the Convert managed static + class. + + Note: This file is written in C++17/CLI. + +Copyright (C) 2021 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//*************************************************************************************/ +// Precompiled Headers +#include "SHpch.h" +// Primary Header +#include "Convert.hxx" +// External Dependencies +#include "Engine/ECS_Base/System//SHEntityManager.h" +#include + +namespace SHADE +{ + /*---------------------------------------------------------------------------------*/ + /* ECS Conversions */ + /*---------------------------------------------------------------------------------*/ + SHEntity Convert::ToNative(Entity rawId) + { + return *SHEntityManager::GetEntityByID(rawId); + } + Entity Convert::ToCLI(SHEntity entity) + { + return static_cast(entity.GetEID()); + } + + /*---------------------------------------------------------------------------------*/ + /* String Conversions */ + /*---------------------------------------------------------------------------------*/ + std::string Convert::ToNative(System::String^ str) + { + return msclr::interop::marshal_as(str); + } + + System::String^ Convert::ToCLI(const std::string& str) + { + return msclr::interop::marshal_as(str); + } +} // namespace PlushieAPI diff --git a/SHADE_Managed/src/Utility/Convert.hxx b/SHADE_Managed/src/Utility/Convert.hxx new file mode 100644 index 00000000..1281ebb4 --- /dev/null +++ b/SHADE_Managed/src/Utility/Convert.hxx @@ -0,0 +1,68 @@ +/************************************************************************************//*! +\file Convert.hxx +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Oct 28, 2021 +\brief Contains the definition of the Convert static class and the + declaration of its functions. + + Note: This file is written in C++17/CLI. + +Copyright (C) 2021 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//*************************************************************************************/ +#pragma once + +// External Dependencies +#include "Engine/ECS_Base/Entity/SHEntity.h" +// Project Includes +#include "Engine/Entity.hxx" + +namespace SHADE +{ + /// + /// Provides functions easy and consistent syntax for converting between custom + /// managed and native types that are aligned. + /// + class Convert + { + public: + /*-----------------------------------------------------------------------------*/ + /* Deleted Destructors (Static Class) */ + /*-----------------------------------------------------------------------------*/ + Convert() = delete; + + /*-----------------------------------------------------------------------------*/ + /* ECS Conversions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Converts from a managed Entity (UInt32) to a native Entity. + /// + /// Raw ID of an Entity. + /// Native representation of the specified Entity. + static SHEntity ToNative(Entity rawId); + /// + /// Converts from a native Entity to a managed Entity (UInt32). + /// + /// Native Entity to convert from. + /// Managed representation of the specified Entity. + static Entity ToCLI(SHEntity entity); + + /*-----------------------------------------------------------------------------*/ + /* String Conversions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Converts from a managed String to a native std::string. + /// + /// The managed String to convert from. + /// Native copy of a managed String. + static std::string ToNative(System::String^ str); + /// + /// Converts from a native std::Stringto a managed String. + /// + /// The native std::string to convert from. + /// Managed copy of a native std::string. + static System::String^ ToCLI(const std::string& str); + }; +} diff --git a/SHADE_Managed/src/Utility/Debug.cxx b/SHADE_Managed/src/Utility/Debug.cxx new file mode 100644 index 00000000..70392bf1 --- /dev/null +++ b/SHADE_Managed/src/Utility/Debug.cxx @@ -0,0 +1,112 @@ +/************************************************************************************//*! +\file Debug.cxx +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Oct 28, 2021 +\brief Contains the definition of the functions for the Debug managed static + class. + + Note: This file is written in C++17/CLI. + +Copyright (C) 2021 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//*************************************************************************************/ +// Precompiled Headers +#include "SHpch.h" +// Primary Header +#include "Debug.hxx" +// Standard Libraries +#include +// External Dependencies +#include "Tools/SHLogger.h" +// Project Headers +#include "Convert.hxx" + +namespace SHADE +{ + /*---------------------------------------------------------------------------------*/ + /* Logging Functions */ + /*---------------------------------------------------------------------------------*/ + void Debug::Log(System::String^ str) + { + SHLOG_INFO(Convert::ToNative(str)); + } + + void Debug::Log(System::String^ str, Object^ owner) + { + Log(str, owner->GetType()->Name); + } + void Debug::Log(System::String^ str, System::String^ throwerName) + { + Log("[" + throwerName + "] " + str); + } + void Debug::Log(System::String^ str, const std::string& throwerName) + { + std::ostringstream oss; + oss << "[" << throwerName << "] " << Convert::ToNative(str); + SHLOG_INFO(oss.str()); + } + void Debug::LogWarning(System::String^ str) + { + SHLOG_WARNING(Convert::ToNative(str)); + } + void Debug::LogWarning(System::String^ str, Object^ thrower) + { + LogWarning(str, thrower->GetType()->Name); + } + void Debug::LogWarning(System::String^ str, System::String^ throwerName) + { + LogWarning("[" + throwerName + "] " + str); + } + + void Debug::LogWarning(System::String^ str, const std::string& throwerName) + { + std::ostringstream oss; + oss << "[" << throwerName << "] " << Convert::ToNative(str); + SHLOG_WARNING(oss.str()); + } + void Debug::LogError(System::String^ str) + { + SHLOG_ERROR(Convert::ToNative(str)); + } + void Debug::LogError(System::String^ str, Object^ thrower) + { + LogError(str, thrower->GetType()->Name); + } + void Debug::LogErrorNative(System::String^ str, const std::string& throwerName) + { + std::ostringstream oss; + oss << "[" << throwerName << "] -> " << Convert::ToNative(str); + SHLOG_ERROR(oss.str()); + } + void Debug::LogError(System::String^ str, System::String^ throwerName) + { + LogError("[" + throwerName + "] " + str); + } + void Debug::LogException(System::Exception^ exception) + { + LogError("Unhandled exception: " + exception->ToString(), exception->Source); + } + + void Debug::LogException(System::Exception^ exception, Object^ thrower) + { + LogError("Unhandled exception: " + exception->ToString(), thrower->GetType()->Name); + } + void Debug::LogException(const std::exception& exception, Object^ thrower) + { + LogExceptionNative(exception, Convert::ToNative(thrower->GetType()->Name)); + } + void Debug::LogExceptionNative(System::Exception^ exception, const std::string& throwerName) + { + std::ostringstream oss; + oss << "[" << throwerName << "] Unhandled exception: " << Convert::ToNative(exception->ToString()); + SHLOG_ERROR(oss.str()); + } + void Debug::LogExceptionNative(const std::exception& exception, const std::string& throwerName) + { + std::ostringstream oss; + oss << "[" << throwerName << "] Unhandled exception: " << exception.what(); + SHLOG_ERROR(oss.str()); + } +} diff --git a/SHADE_Managed/src/Utility/Debug.hxx b/SHADE_Managed/src/Utility/Debug.hxx new file mode 100644 index 00000000..e6176792 --- /dev/null +++ b/SHADE_Managed/src/Utility/Debug.hxx @@ -0,0 +1,240 @@ +/************************************************************************************//*! +\file Debug.hxx +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Oct 30, 2021 +\brief Contains the definition of the Debug static class and the declaration of + its functions. + + Note: This file is written in C++17/CLI. + +Copyright (C) 2021 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//*************************************************************************************/ +#pragma once + +// Standard Library +#include +#include + +/*-------------------------------------------------------------------------------------*/ +/* Macro Functions */ +/*-------------------------------------------------------------------------------------*/ +/// +/// Macro expansion that is used together with SAFE_NATIVE_CALL_END or +/// SAFE_NATIVE_CALL_END_N to wrap the body of a function with a try and catch that +/// catches native and managed exceptions. This is needed to prevent crashes when calling +/// managed code from native code. +/// + +#define SAFE_NATIVE_CALL_BEGIN try { +/// +/// Macro expansion that is used together with SAFE_NATIVE_CALL_BEGIN or to wrap the body +/// of a function with a try and catch that catches native and managed exceptions. This +/// is needed to prevent crashes when calling managed code from native code. +///
    +/// Use this instead of SAFE_NATIVE_CALL_END_N if passing in managed types as the owner. +///
    +/// +/// The managed object that owns the function that this macro encapsulates. +/// +#define SAFE_NATIVE_CALL_END(OWNER) \ +} \ +catch (System::Exception^ e) \ +{ \ + Debug::LogException(e); \ +} \ +catch (const std::exception& e) \ +{ \ + Debug::LogException(e, OWNER); \ +} \ +catch (...) \ +{ \ + Debug::LogError("Unsupported native exception.", OWNER); \ +} \ +/// +/// Macro expansion that is used together with SAFE_NATIVE_CALL_BEGIN or to wrap the body +/// of a function with a try and catch that catches native and managed exceptions. This +/// is needed to prevent crashes when calling managed code from native code. +///
    +/// Use this instead of SAFE_NATIVE_CALL_END if passing in a native string that specifies +/// the owner. +///
    +/// +/// The managed object that owns the function that this macro encapsulates. +/// + +#define SAFE_NATIVE_CALL_END_N(OWNER) \ +} \ +catch (System::Exception^ e) \ +{ \ + Debug::LogExceptionNative(e, OWNER); \ +} \ +catch (const std::exception& e) \ +{ \ + Debug::LogExceptionNative(e, OWNER); \ +} \ +catch (...) \ +{ \ + Debug::LogErrorNative("Unsupported native exception.", OWNER); \ +} \ + +/*-------------------------------------------------------------------------------------*/ +/* Type Definitions */ +/*-------------------------------------------------------------------------------------*/ +namespace SHADE +{ + /// + /// Static class that contains the functions for working with time. + /// + public ref class Debug abstract sealed + { + public: + /*-----------------------------------------------------------------------------*/ + /* Logging Functions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Logs a message to the output. + /// + /// The string to output. + static void Log(System::String^ str); + /// + /// Logs a message to the output with a label such that it looks like this: + /// "[Label] Message" + /// + /// The string to output. + /// + /// Object that sent the message to label the message. + /// The name of the object will be used. + /// + static void Log(System::String^ str, Object^ owner); + /// + /// Logs a message to the output with a label such that it looks like this: + /// "[Label] Message" + /// + /// The string to output. + /// + /// Name of the object that sent the message to label the message. + /// The name of the object will be used. + /// + static void Log(System::String^ str, System::String^ throwerName); + /// + /// Logs a message to the output with a label such that it looks like this: + /// "[Label] Message" + /// + /// The string to output. + /// + /// Name of the object that sent the message to label the message. + /// The name of the object will be used. + /// + static void Log(System::String^ str, const std::string& throwerName); + /// + /// Logs a warning message to the output. + /// + /// The string to output. + static void LogWarning(System::String^ str); + /// + /// Logs a warning message to the output with a label such that it looks like this: + /// "[Label] Message" + /// + /// The string to output. + /// + /// Object that threw the warning to label the warning message. + /// The name of the object will be used. + /// + static void LogWarning(System::String^ str, Object^ thrower); + /// + /// Logs a warning message to the output with a label such that it looks like this: + /// "[Label] Message" + /// + /// The string to output. + /// + /// Name of the object that threw the warning to label the warning message. + /// The name of the object will be used. + /// + static void LogWarning(System::String^ str, System::String^ throwerName); + /// + /// Logs a warning message to the output with a label such that it looks like this: + /// "[Label] Message" + /// + /// The string to output. + /// + /// Name of the object that threw the warning to label the warning message. + /// The name of the object will be used. + /// + static void LogWarning(System::String^ str, const std::string& throwerName); + /// + /// Logs a error message to the output. + /// + /// The string to output. + static void LogError(System::String^ str); + /// + /// Logs a error message to the output with a label such that it looks like this: + /// "[Label] Message" + /// + /// The string to output. + /// + /// Object that threw the error to label the error message. + /// The name of the object will be used. + /// + static void LogError(System::String^ str, Object^ thrower); + /// + /// Logs a error message to the output with a label such that it looks like this: + /// "[Label] Message" + /// + /// The string to output. + /// + /// Name of the object that threw the error to label the error message. + /// The name of the object will be used. + /// + static void LogErrorNative(System::String^ str, const std::string& throwerName); + /// + /// Logs a error message to the output with a label such that it looks like this: + /// "[Label] Message" + /// + /// The string to output. + /// + /// Name of the object that threw the error to label the error message. + /// The name of the object will be used. + /// + static void LogError(System::String^ str, System::String^ throwerName); + /// + /// Logs an exception that is formatted nicely to the output. + /// + /// Exception to log. + static void LogException(System::Exception^ exception); + /// + /// Logs an exception that is formatted nicely to the output. + /// + /// Exception to log. + /// + /// Object that threw the exception to label the exception message. + /// The name of the object will be used. + /// + static void LogException(System::Exception^ exception, Object^ thrower); + /// + /// Logs a native exception that is formatted nicely to the output. + /// Equivalent to calling + /// LogException(exception, Convert::ToNative(thrower->GetType()->Name)); + /// + /// Native exception to log. + /// + /// Object that threw the exception to label the exception message. + /// The name of the object will be used. + /// + static void LogException(const std::exception& exception, Object^ thrower); + /// + /// Logs an exception that is formatted nicely to the output. + /// + /// Name of the one responsible for the exception. + /// Exception to log. + static void LogExceptionNative(System::Exception^ exception, const std::string& throwerName); + /// + /// Logs a native exception that is formatted nicely to the output. + /// + /// Native exception to log. + /// Name of the one responsible for the exception. + static void LogExceptionNative(const std::exception& exception, const std::string& throwerName); + }; +} diff --git a/SHADE_Managed/src/Engine/DisposableAssemblyLoadContext.cxx b/SHADE_Managed/src/Utility/DisposableAssemblyLoadContext.cxx similarity index 100% rename from SHADE_Managed/src/Engine/DisposableAssemblyLoadContext.cxx rename to SHADE_Managed/src/Utility/DisposableAssemblyLoadContext.cxx diff --git a/SHADE_Managed/src/Engine/DisposableAssemblyLoadContext.hxx b/SHADE_Managed/src/Utility/DisposableAssemblyLoadContext.hxx similarity index 100% rename from SHADE_Managed/src/Engine/DisposableAssemblyLoadContext.hxx rename to SHADE_Managed/src/Utility/DisposableAssemblyLoadContext.hxx From 5a6ff60fe1ccf09030c46fdadac1388ddd8ef94b Mon Sep 17 00:00:00 2001 From: Kah Wei Date: Tue, 13 Sep 2022 00:18:33 +0800 Subject: [PATCH 07/32] Added ScriptStore --- SHADE.sln | 5 + SHADE_Managed/SHADE_Managed.vcxproj.filters | 6 + SHADE_Managed/src/Scripts/ScriptStore.cxx | 673 ++++++++++++++++++++ SHADE_Managed/src/Scripts/ScriptStore.hxx | 305 +++++++++ 4 files changed, 989 insertions(+) create mode 100644 SHADE_Managed/src/Scripts/ScriptStore.cxx create mode 100644 SHADE_Managed/src/Scripts/ScriptStore.hxx diff --git a/SHADE.sln b/SHADE.sln index 67bacd3b..fadd2bea 100644 --- a/SHADE.sln +++ b/SHADE.sln @@ -30,6 +30,11 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SHADE_Engine", "SHADE_Engin EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SHADE_Managed", "SHADE_Managed\SHADE_Managed.vcxproj", "{16DB1400-829B-9036-4BD6-D9B3B755D512}" + ProjectSection(ProjectDependencies) = postProject + {88F1A057-74BE-FB62-9DD7-E90A890331F1} = {88F1A057-74BE-FB62-9DD7-E90A890331F1} + {C0FF640D-2C14-8DBE-F595-301E616989EF} = {C0FF640D-2C14-8DBE-F595-301E616989EF} + {8EAD431C-7A4F-6EF2-630A-82464F4BF542} = {8EAD431C-7A4F-6EF2-630A-82464F4BF542} + EndProjectSection EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/SHADE_Managed/SHADE_Managed.vcxproj.filters b/SHADE_Managed/SHADE_Managed.vcxproj.filters index c83321cd..ae83954d 100644 --- a/SHADE_Managed/SHADE_Managed.vcxproj.filters +++ b/SHADE_Managed/SHADE_Managed.vcxproj.filters @@ -34,6 +34,9 @@ Scripts + + Scripts + Utility @@ -64,6 +67,9 @@ Scripts + + Scripts + Utility diff --git a/SHADE_Managed/src/Scripts/ScriptStore.cxx b/SHADE_Managed/src/Scripts/ScriptStore.cxx new file mode 100644 index 00000000..86329f29 --- /dev/null +++ b/SHADE_Managed/src/Scripts/ScriptStore.cxx @@ -0,0 +1,673 @@ +/************************************************************************************//*! +\file ScriptStore.cxx +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Oct 28, 2021 +\brief Contains the definition of the functions for the ScriptStore managed + static class. + + Note: This file is written in C++17/CLI. + +Copyright (C) 2021 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//*************************************************************************************/ +// Precompiled Headers +#include "SHpch.h" +// Primary Header +#include "ScriptStore.hxx" +// Standard Libraries +#include +// Project Headers +#include "Utility/Debug.hxx" +#include "Utility/Convert.hxx" +#include "Tools/SHLogger.h" +#include "Script.hxx" +#include "Engine/Entity.hxx" + +namespace SHADE +{ + /*---------------------------------------------------------------------------------*/ + /* Scripts Manipulation Functions */ + /*---------------------------------------------------------------------------------*/ + generic + T ScriptStore::AddScript(Entity entity) + { + // Check if entity exists and is a valid GameObject + if (!EntityUtils::IsValid(entity) /*|| !GameObjectLibrary::Contains(entity)*/) + throw gcnew System::ArgumentException("Invalid Entity provided to add a Script to."); + + System::Collections::Generic::List ^ entityScriptList; + + // Check if storage for scripts of this entity exists + if (!scripts.ContainsKey(entity)) + { + // Create a new list for this set of scripts + entityScriptList = gcnew System::Collections::Generic::List(); + scripts.Add(entity, entityScriptList); + } + else + { + entityScriptList = scripts[entity]; + } + + // Create the script and add it in + array^ params = gcnew array{GameObject(entity)}; + Script^ script = safe_cast(System::Activator::CreateInstance(T::typeid, params)); + entityScriptList->Add(script); + awakeList.Add(script); + startList.Add(script); + script->OnAttached(); + + return safe_cast(script); + } + + bool ScriptStore::AddScriptViaName(Entity entity, System::String^ scriptName) + { + SAFE_NATIVE_CALL_BEGIN + Script^ script; + return AddScriptViaNameWithRef(entity, scriptName, script); + SAFE_NATIVE_CALL_END_N("SHADE.ScriptStore") + return false; + } + + bool ScriptStore::AddScriptViaNameWithRef(Entity entity, System::String^ scriptName, Script^% createdScript) + { + // Check if we are set up to get scripts + if (addScriptMethod == nullptr) + { + Debug::LogError("[ScriptStore] Native AddScript() was not loaded. Unable to add scripts."); + return false; + } + + // Get the script if it exists + System::Type^ scriptType = getScriptType(scriptName); + if (scriptType == nullptr) + { + std::ostringstream oss; + oss << "[ScriptStore] No Script named " + << Convert::ToNative(scriptName) + << " found!"; + SHLOG_ERROR(oss.str()); + return false; + } + + // Otherwise, add the script + System::Reflection::MethodInfo^ method = addScriptMethod->MakeGenericMethod(scriptType); + try + { + array^ params = gcnew array{entity}; + createdScript = safe_cast(method->Invoke(nullptr, params)); + } + catch (System::Exception^ e) + { + std::ostringstream oss; + oss << "[ScriptStore] Failed to add Script named \"" << Convert::ToNative(scriptName) + << "\" to Entity #" << entity << "! (" << Convert::ToNative(e->GetType()->Name) << ")"; + SHLOG_ERROR(oss.str()); + return false; + } + return true; + } + + generic + T ScriptStore::GetScript(Entity entity) + { + // Check if entity exists and is a valid GameObject + if (!EntityUtils::IsValid(entity) /*|| !GameObjectLibrary::Contains(entity)*/) + { + throw gcnew System::ArgumentException("Invalid Entity provided to get a Script from."); + } + + + // Check if entity exists in the script storage + if (!scripts.ContainsKey(entity)) + { + return T(); + } + + // Search for and obtain + for each (Script^ script in scripts[entity]) + { + try + { + T actualScript = safe_cast(script); + return actualScript; + } + catch (System::InvalidCastException^) + { + continue; + } + } + + return T(); + } + + generic + T ScriptStore::GetScriptInChildren(Entity entity) + { + // Check if entity exists and is a valid GameObject + if (!EntityUtils::IsValid(entity) /*|| !GameObjectLibrary::Contains(entity)*/) + { + throw gcnew System::ArgumentException("Invalid Entity provided to get a Script from."); + } + + + // Check if entity exists in the script storage + if (!scripts.ContainsKey(entity)) + { + return T(); + } + + // Get Transform component and get the children list + throw gcnew System::NotImplementedException; + //Pls::Transform* tf = Pls::ECS::GetComponent(Convert::ToNative(entity)); + //if (tf == nullptr) + // return T(); + + //// Search direct children first + //for (const auto& child : tf->GetChildren()) + //{ + // T script = GetScript(Convert::ToCLI(child)); + // if (script != nullptr) + // return script; + //} + + //// Search their children + //for (const auto& child : tf->GetChildren()) + //{ + // T script = GetScriptInChildren(Convert::ToCLI(child)); + // if (script != nullptr) + // return script; + //} + + // None here + return T(); + } + + generic + System::Collections::Generic::IEnumerable^ ScriptStore::GetScripts(Entity entity) + { + // Check if entity exists and is a valid GameObject + if (!EntityUtils::IsValid(entity) /*|| !GameObjectLibrary::Contains(entity)*/) + { + throw gcnew System::ArgumentException("Invalid Entity provided to get a Script from."); + } + + // Create a list to store entries + System::Collections::Generic::List^ foundScripts = gcnew System::Collections::Generic::List(); + + // Check if entity exists in the script storage + if (!scripts.ContainsKey(entity)) + { + return foundScripts; + } + + // Search for and obtain + for each (Script^ script in scripts[entity]) + { + try + { + T actualScript = safe_cast(script); + foundScripts->Add(actualScript); + } + catch (System::InvalidCastException^) + { + continue; + } + } + + return foundScripts; + } + System::Collections::Generic::IEnumerable^ ScriptStore::GetAllScripts(Entity entity) + { + // Check if entity exists and is a valid GameObject + if (!EntityUtils::IsValid(entity) /*|| !GameObjectLibrary::Contains(entity)*/) + return nullptr; + + // Check if entity exists in the script storage + if (scripts.ContainsKey(entity)) + { + return scripts[entity]; + } + return nullptr; + } + generic + void ScriptStore::RemoveScript(Entity entity) + { + // Check if entity exists and is a valid GameObject + if (!EntityUtils::IsValid(entity) /*|| !GameObjectLibrary::Contains(entity)*/) + throw gcnew System::ArgumentException("Invalid Entity provided to remove a Script from."); + + + // Check if entity exists in the script storage + if (!scripts.ContainsKey(entity)) + { + Debug::LogError("[ScriptStore] Attempted to remove a Script that does not belong to the specified Entity!"); + return; + } + + // Search for and obtain + for each (Script^ script in scripts[entity]) + { + try + { + safe_cast(script); + removeScript(script); + } + catch (System::InvalidCastException^) + { + continue; + } + } + } + bool ScriptStore::RemoveScript(Entity entity, Script^ script) + { + // Check if entity exists and is a valid GameObject + if (!EntityUtils::IsValid(entity) /*|| !GameObjectLibrary::Contains(entity)*/) + { + Debug::LogError("[ScriptStore] Attempted to remove a Script from an invalid Entity!"); + return false; + } + + + // Check if entity exists in the script storage + if (!scripts.ContainsKey(entity)) + { + Debug::LogError("[ScriptStore] Attempted to remove a Script that does not belong to the specified Entity!"); + return false; + } + + // Check if the script exists to begin with + if (!scripts[entity]->Contains(script)) + { + Debug::LogError("[ScriptStore] Attempted to remove a Script that does not belong to the specified Entity!"); + return false; + } + + // Script found, queue it for deletion + removeScript(script); + return true; + } + void ScriptStore::RemoveAllScripts(Entity entity) + { + SAFE_NATIVE_CALL_BEGIN + // Check if entity exists and is a valid GameObject + if (!EntityUtils::IsValid(entity) /*|| !GameObjectLibrary::Contains(entity)*/) + { + Debug::LogError("[ScriptStore] Attempted to remove Scripts from an invalid Entity!"); + return; + } + + // Check if entity exists in the script storage + if (!scripts.ContainsKey(entity)) + return; + + // Search for and clear + System::Collections::Generic::List^ scriptList = scripts[entity]; + for each (Script^ script in scriptList) + { + removeScript(script); + } + scriptList->Clear(); + SAFE_NATIVE_CALL_END_N("SHADE.ScriptStore") + } + void ScriptStore::RemoveAllScriptsImmediately(Entity entity, bool callOnDestroy) + { + SAFE_NATIVE_CALL_BEGIN + // Check if entity exists and is a valid GameObject + if (!EntityUtils::IsValid(entity) /*|| !GameObjectLibrary::Contains(entity)*/) + { + Debug::LogError("[ScriptStore] Attempted to remove Scripts from an invalid Entity!"); + return; + } + + // Check if entity exists in the script storage + if (!scripts.ContainsKey(entity)) + return; + + // Clear all + System::Collections::Generic::List^ scriptList = scripts[entity]; + for each (Script ^ script in scriptList) + { + // Call OnDestroy only if indicated and also in play mode + if (callOnDestroy) + { + script->OnDestroy(); + } + script->OnDetached(); + + // Remove scripts from awakening if they were not woken up to begin with + awakeList.Remove(script); + startList.Remove(script); + } + scriptList->Clear(); + SAFE_NATIVE_CALL_END_N("SHADE.ScriptStore") + } + + /*---------------------------------------------------------------------------------*/ + /* Lifecycle Functions */ + /*---------------------------------------------------------------------------------*/ + void ScriptStore::Init() + { + // Create an enumerable list of script types + refreshScriptTypeList(); + // Get stored methods for interop variants of functions + getGenericMethods(); + } + void ScriptStore::FrameSetUp() + { + SAFE_NATIVE_CALL_BEGIN + // Clear the awake queue + for each (Script^ script in awakeList) + { + script->Awake(); + } + awakeList.Clear(); + + // Clear the start queue + for each (Script^ script in startList) + { + if (script->Owner.IsActiveInHierarchy) + { + script->Start(); + } + else + { + inactiveStartList.Add(script); + } + } + startList.Clear(); + startList.AddRange(%inactiveStartList); + inactiveStartList.Clear(); + + SAFE_NATIVE_CALL_END_N("SHADE.ScriptStore") + } + void ScriptStore::FrameCleanUp() + { + SAFE_NATIVE_CALL_BEGIN + // Clear the queue + while (disposalQueue.Count > 0) + { + Script^ script = disposalQueue.Dequeue(); + /*if (Application::IsPlaying) + { + script->OnDestroy(); + + }*/ + auto entity = script->Owner.GetEntity(); + auto scriptList = scripts[script->Owner.GetEntity()]; + scriptList->Remove(script); + if (scriptList->Count <= 0) + { + scripts.Remove(entity); + } + } + SAFE_NATIVE_CALL_END_N("SHADE.ScriptStore") + } + void ScriptStore::Exit() + { + SAFE_NATIVE_CALL_BEGIN + // Run the deinit all scripts if needed + //if (Application::IsPlaying) + { + Debug::Log("Running OnDestroy() for scripts."); + for each (System::Collections::Generic::KeyValuePair entity in scripts) + { + for each (Script^ script in entity.Value) + { + script->OnDestroy(); + } + } + } + + // Clear Script Storage + scripts.Clear(); + awakeList.Clear(); + startList.Clear(); + disposalQueue.Clear(); + scriptTypeList = nullptr; + SAFE_NATIVE_CALL_END_N("SHADE.ScriptStore") + } + + /*---------------------------------------------------------------------------------*/ + /* Script Information Functions */ + /*---------------------------------------------------------------------------------*/ + System::Collections::Generic::IEnumerable^ ScriptStore::GetAvailableScriptList() + { + return scriptTypeList; + } + + /*---------------------------------------------------------------------------------*/ + /* Script Execution Functions */ + /*---------------------------------------------------------------------------------*/ + void ScriptStore::ExecuteFixedUpdate() + { + SAFE_NATIVE_CALL_BEGIN + for each (System::Collections::Generic::KeyValuePair entity in scripts) + { + // Check active state + if (!isEntityActive(entity.Key)) + continue; + + // Update each script + for each (Script^ script in entity.Value) + { + script->FixedUpdate(); + } + } + SAFE_NATIVE_CALL_END_N("SHADE.ScriptStore") + } + void ScriptStore::ExecuteUpdate() + { + SAFE_NATIVE_CALL_BEGIN + for each (System::Collections::Generic::KeyValuePair entity in scripts) + { + // Check active state + if (!isEntityActive(entity.Key)) + continue; + + // Update each script + for each (Script^ script in entity.Value) + { + script->Update(); + } + } + SAFE_NATIVE_CALL_END_N("SHADE.ScriptStore") + } + void ScriptStore::ExecuteLateUpdate() + { + SAFE_NATIVE_CALL_BEGIN + for each (System::Collections::Generic::KeyValuePair entity in scripts) + { + // Check active state + if (!isEntityActive(entity.Key)) + continue; + + // Update each script + for each (Script^ script in entity.Value) + { + script->LateUpdate(); + } + } + SAFE_NATIVE_CALL_END_N("SHADE.ScriptStore") + } + bool ScriptStore::SerialiseScripts(Entity entity, System::Text::StringBuilder^ buffer, int bufferSize) + { + SAFE_NATIVE_CALL_BEGIN + // Create a buffer that we can work with temporarily + System::Text::StringBuilder^ jsonString = gcnew System::Text::StringBuilder(); + + // Check if entity exists and is a valid GameObject, otherwise nothing + if (!EntityUtils::IsValid(entity) /*|| !GameObjectLibrary::Contains(entity)*/) + return true; + + + // Check if entity exists in the script storage + if (!scripts.ContainsKey(entity)) + return true; + + // Serialise each script + System::Collections::Generic::List^ scriptList = scripts[entity]; + for (int i = 0; i < scriptList->Count; ++i) + { + throw gcnew System::NotFiniteNumberException; + //jsonString->Append(ReflectionUtilities::Serialise(scriptList[i])); + + // Only add separator if is not last script + if (i != scriptList->Count - 1) + { + jsonString->Append(",\r\n"); + } + } + + // Check if the size is too big + if (jsonString->Length > bufferSize) + return false; + + // Otherwise we copy it over + buffer->Clear(); + buffer->Append(jsonString->ToString()); + return true; + SAFE_NATIVE_CALL_END_N("SHADE.ScriptStore") + return false; + } + + bool ScriptStore::DeserialiseScript(Entity entity, System::String^ json) + { + SAFE_NATIVE_CALL_BEGIN + // Check if entity exists and is a valid GameObject, otherwise nothing + if (!EntityUtils::IsValid(entity)/* || !GameObjectLibrary::Contains(entity)*/) + return false; + + // Get the name of the script + const int FIRST_QUOTE = json->IndexOf('\"'); + const int FIRST_COLON = json->IndexOf(':'); + if (FIRST_QUOTE < 0 || FIRST_COLON < 0) // No script name, it's invalid + return false; + const int SCRIPT_NAME_START = FIRST_QUOTE + 1; + const int SCRIPT_NAME_END = FIRST_COLON - 1; + System::String^ typeName = json->Substring(SCRIPT_NAME_START, SCRIPT_NAME_END - SCRIPT_NAME_START); + + // Create the script + Script^ script; + if (AddScriptViaNameWithRef(entity, typeName, script)) + { + // Copy the data in + throw gcnew System::NotImplementedException; + //ReflectionUtilities::Deserialise(json, script); + return true; + } + + SAFE_NATIVE_CALL_END_N("SHADE.ScriptStore") + return false; + } + + /*---------------------------------------------------------------------------------*/ + /* Helper Functions */ + /*---------------------------------------------------------------------------------*/ + void ScriptStore::removeScript(Script^ script) + { + // Prepare for disposal + disposalQueue.Enqueue(script); + + // Also remove it fromm awake and start queues if they were created but not initialised + awakeList.Remove(script); + startList.Remove(script); + script->OnDetached(); + } + + namespace + { + /* Select Many */ + ref struct Pair + { + System::Reflection::Assembly^ assembly; + System::Type^ type; + }; + + System::Collections::Generic::IEnumerable^ selectorFunc(System::Reflection::Assembly^ assembly) + { + return assembly->GetExportedTypes(); + } + Pair^ resultSelectorFunc(System::Reflection::Assembly^ assembly, System::Type^ type) + { + Pair^ p = gcnew Pair(); + p->assembly = assembly; + p->type = type; + return p; + } + + /* Where */ + bool predicateFunc(Pair^ pair) + { + return pair->type->IsSubclassOf(PlushieScript::typeid) && !pair->type->IsAbstract; + } + + /* Select */ + System::Type^ selectorFunc(Pair^ pair) + { + return pair->type; + } + } + + void ScriptStore::refreshScriptTypeList() + { + using namespace System; + using namespace System::Reflection; + using namespace System::Linq; + using namespace System::Collections::Generic; + + /* Select Many: Types in Loaded Assemblies */ + IEnumerable^ assemblies = AppDomain::CurrentDomain->GetAssemblies(); + Func^>^ collectionSelector = gcnew Func^>(selectorFunc); + Func^ resultSelector = gcnew Func(resultSelectorFunc); + IEnumerable^ selectManyResult = Enumerable::SelectMany(assemblies, collectionSelector, resultSelector); + + /* Where: Are concrete PlushieScripts */ + Func^ predicate = gcnew Func(predicateFunc); + IEnumerable^ whereResult = Enumerable::Where(selectManyResult, predicate); + + /* Select: Select them all */ + Func^ selector = gcnew Func(selectorFunc); + scriptTypeList = Enumerable::Select(whereResult, selector); + + // Log + std::ostringstream oss; + oss << "[ScriptStore] Successfully retrieved references to " << Enumerable::Count(scriptTypeList) + << " Script(s) from currently loaded assemblies."; + SHLOG_INFO(oss.str()); + } + + void ScriptStore::getGenericMethods() + { + addScriptMethod = ScriptStore::typeid->GetMethod("AddScript"); + if (addScriptMethod == nullptr) + { + SHLOG_ERROR("[ScriptStore] Failed to get MethodInfo of \"AddScript()\". Adding of scripts from native code will fail."); + } + } + + System::Type^ ScriptStore::getScriptType(System::String^ scriptName) + { + // Remove any whitespaces just in case + scriptName = scriptName->Trim(); + + // Look for the correct script + for each (System::Type^ type in scriptTypeList) + { + if (type->FullName == scriptName || type->Name == scriptName) + { + return type; + } + } + + return nullptr; + } + + bool ScriptStore::isEntityActive(Entity entity) + { + // Check active state + return Convert::ToNative(entity).isActive; + } +} // namespace SHADE diff --git a/SHADE_Managed/src/Scripts/ScriptStore.hxx b/SHADE_Managed/src/Scripts/ScriptStore.hxx new file mode 100644 index 00000000..91c98ce9 --- /dev/null +++ b/SHADE_Managed/src/Scripts/ScriptStore.hxx @@ -0,0 +1,305 @@ +/************************************************************************************//*! +\file ScriptStore.hxx +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Oct 28, 2021 +\brief Contains the definitions of the GameObject managed class which define an + abstraction for working with Entities in managed code. + + Note: This file is written in C++17/CLI. + +Copyright (C) 2021 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//*************************************************************************************/ +#pragma once + +// Project Includes +#include "Engine/Entity.hxx" +#include "Script.hxx" + +namespace SHADE +{ + /// + /// Responsible for managing all scripts attached to Entities as well as executing + /// all lifecycle functions of scripts. + /// + public ref class ScriptStore abstract sealed + { + public: + /*-----------------------------------------------------------------------------*/ + /* Scripts Manipulation Functions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Adds a Script to a specified Entity. + /// + /// + /// Type of script to add. + /// This needs to be a default constructable PlushieScript. + /// + /// The entity to add a script to. + /// Reference to the script added. + /// + /// If the specified Entity is invalid. + /// + generic where T : ref class, Script + static T AddScript(Entity entity); + /// + /// Adds a Script to a specified Entity. + ///
    + /// This function is meant for consumption from native code. If you are writing + /// in C# or C++/CLI, use AddScript<T>() instead as it is faster. + ///
    + /// The entity to add a script to. + /// The entity to add a script to. + /// + /// True if successfully added. False otherwise with the error logged to the + /// console. + /// + static bool AddScriptViaName(Entity entity, System::String^ scriptName); + /// + /// Adds a Script to a specified Entity. + ///
    + /// This function is meant for consumption from native code or for serialisation + /// purposes. If you are writing in C# or C++/CLI and not doing serialisation, + /// use AddScript<T>() instead as it is faster. + ///
    + /// The entity to add a script to. + /// The entity to add a script to. + /// + /// Out parameter handle to the Script that was created. + /// + /// + /// True if successfully added. False otherwise with the error logged to the + /// console. + /// + static bool AddScriptViaNameWithRef(Entity entity, System::String^ scriptName, [Out] Script^% createdScript); + /// + /// Retrieves the first Script from the specified Entity that matches the + /// specified type. + /// + /// + /// Type of script to get. + /// This needs to be a default constructable Script. + /// + /// + /// The entity which the script to retrieve is attached. + /// + /// + /// Reference to the script. This can be null if no script of the specified + /// type is attached. + /// + /// + /// If the specified Entity is invalid. + /// + generic where T : ref class, Script + static T GetScript(Entity entity); + /// + /// Retrieves the first Script from the specified Entity's children that matches + /// the specified type. + /// + /// + /// Type of script to get. + /// This needs to be a default constructable Script. + /// + /// + /// The entity which the script to retrieve is attached. + /// + /// + /// Reference to the script. This can be null if no script of the specified + /// type is attached. + /// + /// + /// If the specified Entity is invalid. + /// + generic where T : ref class, Script + static T GetScriptInChildren(Entity entity); + /// + /// Retrieves a immutable list of scripts from the specified Entity that + /// matches the specified type. + ///
    + /// Note that this function allocates. It should be used sparingly. + ///
    + /// + /// Type of scripts to get. + /// This needs to be a default constructable Script. + /// + /// + /// The entity which the scripts to retrieve are attached. + /// + /// + /// Immutable list of references to scripts of the specified type. + /// + generic where T : ref class, Script + static System::Collections::Generic::IEnumerable ^ GetScripts(Entity entity); + /// + /// Retrieves an immutable list of all scripts attached to a specified Entity. + /// + /// + /// The entity which the scripts to retrieve are attached. + /// + /// + /// Immutable list of references to scripts attached to the specified Entity. + /// This can also be null if there are no scripts at all or an invalid Entity + /// was specified. + /// + static System::Collections::Generic::IEnumerable^ GetAllScripts(Entity entity); + /// + /// Removes all Scripts of the specified type from the specified Entity. + /// + /// + /// Type of script to remove. + /// This needs to be a default constructable Script. + /// + /// The entity to remove the script from. + /// + /// If the specified Entity is invalid. + /// + generic where T : ref class, Script + static void RemoveScript(Entity entity); + /// + /// Removes a specific script from the + /// + /// The entity to remove the script from. + /// The script to remove. + /// True if successfully removed. False otherwise. + static bool RemoveScript(Entity entity, Script^ script); + /// + /// Removes all Scripts attached to the specified Entity. Does not do anything + /// if the specified Entity is invalid or does not have any Scripts + /// attached. + /// + /// The entity to remove the scripts from. + static void RemoveAllScripts(Entity entity); + /// + /// Removes all Scripts attached to the specified Entity. Unlike + /// RemoveAllScripts(), this removes all the scripts immediately. + /// Does not do anything if the specified Entity is invalid or does not have any + /// Scripts attached. + /// + /// The entity to remove the scripts from. + /// + /// Whether or not to call OnDestroy on the scripts.This is ignored if not in + /// play mode. + /// + static void RemoveAllScriptsImmediately(Entity entity, bool callOnDestroy); + + internal: + /*-----------------------------------------------------------------------------*/ + /* Lifecycle Functions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Initializes the ScriptStore to allocate and pre-populate reflection data. + /// + static void Init(); + /// + /// Sets up scripts that were marked for initialization. This calls the Awake() + /// and Start() for Scripts that have yet to have done so. + /// + static void FrameSetUp(); + /// + /// Cleans up scripts that were marked for deletion. This calls the OnDestroy() + /// for these Scripts. + /// + static void FrameCleanUp(); + /// + /// Cleans up data stored in the ScriptStore to free up memory for garbage + /// collection. + /// + static void Exit(); + + /*-----------------------------------------------------------------------------*/ + /* Script Information Functions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Retrieves a immutable list of available scripts that can be added. + /// + /// Immutable list of available scripts that can be added. + static System::Collections::Generic::IEnumerable^ GetAvailableScriptList(); + + /*-----------------------------------------------------------------------------*/ + /* Script Execution Functions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Executes FixedUpdate() for all scripts. + /// + static void ExecuteFixedUpdate(); + /// + /// Executes Update() for all scripts. + /// + static void ExecuteUpdate(); + /// + /// Executes LateUpdate() for all scripts. + /// + static void ExecuteLateUpdate(); + /// + /// Executes OnTrigger functions for all scripts. + /// + static void ExecuteOnTrigger(); + + /*-----------------------------------------------------------------------------*/ + /* Serialisation Functions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Generates a JSON string that represents the set of Scripts attached + /// to the specified Entity. + ///

    + /// This function should only be called from native unmanaged code. + ///
    + /// The Entity to Serialise. + /// + /// StringBuilder handle that maps to a native char array that will contain the + /// serialised string. + /// + /// + /// The size of the char array. + /// + /// + /// True if serialisation is successful. False if the buffer is too small for + /// the serialised output. + /// + static bool SerialiseScripts(Entity entity, System::Text::StringBuilder^ buffer, int bufferSize); + /// + /// Processes a JSON string that represents a single Script and attaches + /// it onto the specified Entity. + ///

    + /// This function should only be called from native unmanaged code. + ///
    + /// + /// The Entity to attach the deserialised Scripts to. + /// + /// + /// JSON string that describes the Script to serialise. + /// + /// + static bool DeserialiseScript(Entity entity, System::String^ json); + + private: + /*-----------------------------------------------------------------------------*/ + /* Type Definition */ + /*-----------------------------------------------------------------------------*/ + using ScriptList = System::Collections::Generic::List; + using ScriptDictionary = System::Collections::Generic::Dictionary; + using ScriptQueue = System::Collections::Generic::Queue; + + /*-----------------------------------------------------------------------------*/ + /* Static Data Members */ + /*-----------------------------------------------------------------------------*/ + static ScriptDictionary scripts; + static ScriptList awakeList; + static ScriptList startList; + static ScriptList inactiveStartList; + static ScriptQueue disposalQueue; + static System::Collections::Generic::IEnumerable^ scriptTypeList; + static System::Reflection::MethodInfo^ addScriptMethod; + + /*-----------------------------------------------------------------------------*/ + /* Helper Functions */ + /*-----------------------------------------------------------------------------*/ + static void removeScript(Script^ script); + static void refreshScriptTypeList(); + static void getGenericMethods(); + static System::Type^ getScriptType(System::String^ scriptName); + static bool isEntityActive(Entity entity); + }; +} // namespace PlushieAPI \ No newline at end of file From ccdb1d0e19b8aa7c52fe7f2f40c5647ab45ef23e Mon Sep 17 00:00:00 2001 From: Kah Wei Date: Tue, 13 Sep 2022 00:18:54 +0800 Subject: [PATCH 08/32] Added shlwapi.lib linker input for SHADE_Engine --- SHADE_Engine/SHADE_Engine.vcxproj | 4 ++-- SHADE_Engine/premake5.lua | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/SHADE_Engine/SHADE_Engine.vcxproj b/SHADE_Engine/SHADE_Engine.vcxproj index 4d6a75e9..2613f1dc 100644 --- a/SHADE_Engine/SHADE_Engine.vcxproj +++ b/SHADE_Engine/SHADE_Engine.vcxproj @@ -71,7 +71,7 @@ Windows true - vulkan-1.lib;assimp-vc142-mtd.lib;ktxd.lib;librttr_core_d.lib;%(AdditionalDependencies) + vulkan-1.lib;shlwapi.lib;assimp-vc142-mtd.lib;ktxd.lib;librttr_core_d.lib;%(AdditionalDependencies) libs;$(VULKAN_SDK)\Lib;..\Dependencies\assimp\lib\Debug;..\Dependencies\assimp\lib\Release;..\Dependencies\RTTR\lib;..\Dependencies\ktx\lib\Debug;..\Dependencies\ktx\lib\Release;%(AdditionalLibraryDirectories) bin\Debug_x86_64\SHADE_Engine\SHADE_Engine.lib @@ -99,7 +99,7 @@ Windows true true - vulkan-1.lib;assimp-vc142-mt.lib;ktx.lib;librttr_core.lib;%(AdditionalDependencies) + vulkan-1.lib;shlwapi.lib;assimp-vc142-mt.lib;ktx.lib;librttr_core.lib;%(AdditionalDependencies) libs;$(VULKAN_SDK)\Lib;..\Dependencies\assimp\lib\Debug;..\Dependencies\assimp\lib\Release;..\Dependencies\RTTR\lib;..\Dependencies\ktx\lib\Debug;..\Dependencies\ktx\lib\Release;%(AdditionalLibraryDirectories) bin\Release_x86_64\SHADE_Engine\SHADE_Engine.lib diff --git a/SHADE_Engine/premake5.lua b/SHADE_Engine/premake5.lua index ac128ac5..83c3821b 100644 --- a/SHADE_Engine/premake5.lua +++ b/SHADE_Engine/premake5.lua @@ -60,6 +60,7 @@ project "SHADE_Engine" "imgui", "spdlog", "vulkan-1.lib", + "shlwapi.lib" } defines From 4ed417cbea3b7762467a26df1c8e3f06f4e5d85d Mon Sep 17 00:00:00 2001 From: Kah Wei Date: Tue, 13 Sep 2022 11:43:49 +0800 Subject: [PATCH 09/32] Added EngineInterface --- .../src/Scripting/SHDotNetRuntime.cpp | 2 +- SHADE_Engine/src/Scripting/SHScriptEngine.cpp | 8 +- SHADE_Engine/src/Scripting/SHScriptEngine.h | 4 +- SHADE_Managed/SHADE_Managed.vcxproj.filters | 7 + SHADE_Managed/src/AssemblyInfo.cxx | 39 +++++ SHADE_Managed/src/Engine/EngineInterface.cxx | 138 ++++++++++++++++++ SHADE_Managed/src/Engine/EngineInterface.hxx | 90 ++++++++++++ SHADE_Managed/src/Utility/Debug.cxx | 12 ++ SHADE_Managed/src/Utility/Debug.hxx | 15 ++ 9 files changed, 308 insertions(+), 7 deletions(-) create mode 100644 SHADE_Managed/src/AssemblyInfo.cxx create mode 100644 SHADE_Managed/src/Engine/EngineInterface.cxx create mode 100644 SHADE_Managed/src/Engine/EngineInterface.hxx diff --git a/SHADE_Engine/src/Scripting/SHDotNetRuntime.cpp b/SHADE_Engine/src/Scripting/SHDotNetRuntime.cpp index 2d0cec1e..6226949e 100644 --- a/SHADE_Engine/src/Scripting/SHDotNetRuntime.cpp +++ b/SHADE_Engine/src/Scripting/SHDotNetRuntime.cpp @@ -115,7 +115,7 @@ namespace SHADE ( runtimePath.c_str(), // AppDomain base path "SHADEHost", // AppDomain friendly name - propertyKeys.size(), // Property count + static_cast(propertyKeys.size()), // Property count propertyKeys.data(), // Property names propertyValues.data(), // Property values &hostHandle, // Host handle diff --git a/SHADE_Engine/src/Scripting/SHScriptEngine.cpp b/SHADE_Engine/src/Scripting/SHScriptEngine.cpp index ac8ad84c..5f816066 100644 --- a/SHADE_Engine/src/Scripting/SHScriptEngine.cpp +++ b/SHADE_Engine/src/Scripting/SHScriptEngine.cpp @@ -244,10 +244,10 @@ namespace SHADE true\n\ \n\ \n\ - \n\ - \n\ - \n\ - \n\ + \n\ + \n\ + \n\ + \n\ \n\ \n\ \n\ diff --git a/SHADE_Engine/src/Scripting/SHScriptEngine.h b/SHADE_Engine/src/Scripting/SHScriptEngine.h index 85e3ac3f..bd9fb079 100644 --- a/SHADE_Engine/src/Scripting/SHScriptEngine.h +++ b/SHADE_Engine/src/Scripting/SHScriptEngine.h @@ -183,8 +183,8 @@ namespace SHADE /*-----------------------------------------------------------------------------*/ /* Constants */ /*-----------------------------------------------------------------------------*/ - static constexpr std::string_view DEFAULT_CSHARP_LIB_NAME = "SHADEAPI"; - static constexpr std::string_view MANAGED_SCRIPT_LIB_NAME = "SHADEManaged"; + static constexpr std::string_view DEFAULT_CSHARP_LIB_NAME = "SHADE_Managed"; + static constexpr std::string_view MANAGED_SCRIPT_LIB_NAME = "SHADE_Scripting"; static const std::string DEFAULT_CSHARP_NAMESPACE; /*-----------------------------------------------------------------------------*/ diff --git a/SHADE_Managed/SHADE_Managed.vcxproj.filters b/SHADE_Managed/SHADE_Managed.vcxproj.filters index ae83954d..776142d3 100644 --- a/SHADE_Managed/SHADE_Managed.vcxproj.filters +++ b/SHADE_Managed/SHADE_Managed.vcxproj.filters @@ -15,6 +15,9 @@ + + Engine + Engine @@ -48,6 +51,10 @@
    + + + Engine + Engine diff --git a/SHADE_Managed/src/AssemblyInfo.cxx b/SHADE_Managed/src/AssemblyInfo.cxx new file mode 100644 index 00000000..234bda73 --- /dev/null +++ b/SHADE_Managed/src/AssemblyInfo.cxx @@ -0,0 +1,39 @@ +/************************************************************************************//*! +\file AssemblyInfo.cxx +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Oct 24, 2021 +\brief Defines the properties of this managed .NET Assembly. + + Note: This file is written in C++17/CLI. + +Copyright (C) 2022 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//*************************************************************************************/ +#include "SHpch.h" + +/*-------------------------------------------------------------------------------------*/ +/* Using Declarations */ +/*-------------------------------------------------------------------------------------*/ +using namespace System; +using namespace System::Reflection; +using namespace System::Runtime::CompilerServices; +using namespace System::Runtime::InteropServices; +using namespace System::Security::Permissions; + +/*-------------------------------------------------------------------------------------*/ +/* Assembly Properties */ +/*-------------------------------------------------------------------------------------*/ +[assembly:AssemblyTitleAttribute(L"SHADE_Managed")]; +[assembly:AssemblyDescriptionAttribute(L"")]; +[assembly:AssemblyConfigurationAttribute(L"")]; +[assembly:AssemblyCompanyAttribute(L"")]; +[assembly:AssemblyProductAttribute(L"SHADE_Managed")]; +[assembly:AssemblyCopyrightAttribute(L"Copyright (C) 2022 DigiPen Institute of Technology")]; +[assembly:AssemblyTrademarkAttribute(L"")]; +[assembly:AssemblyCultureAttribute(L"")]; + +[assembly:AssemblyVersionAttribute("1.0.*")]; + +[assembly:ComVisible(false)]; diff --git a/SHADE_Managed/src/Engine/EngineInterface.cxx b/SHADE_Managed/src/Engine/EngineInterface.cxx new file mode 100644 index 00000000..27645342 --- /dev/null +++ b/SHADE_Managed/src/Engine/EngineInterface.cxx @@ -0,0 +1,138 @@ +/************************************************************************************//*! +\file EngineInterface.cxx +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Oct 28, 2021 +\brief Contains the implementation of the managed EngineInterface static class. + + Note: This file is written in C++17/CLI. + +Copyright (C) 2021 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//*************************************************************************************/ +// Precompiled Headers +#include "SHpch.h" +// Primary Header +#include "EngineInterface.hxx" +// Standard Libraries +#include +// Project Headers +#include "Utility/Convert.hxx" +#include "Utility/Debug.hxx" +#include "Scripts/ScriptStore.hxx" + +namespace SHADE +{ + /*---------------------------------------------------------------------------------*/ + /* Constructor */ + /*---------------------------------------------------------------------------------*/ + static EngineInterface::EngineInterface() + { + exceptionHandler = gcnew System::UnhandledExceptionEventHandler(unhandledExceptionHandler); + managedLibPath = System::Reflection::Assembly::GetExecutingAssembly()->Location->Replace("SHADE_Managed.dll", ManagedLibraryName + ".dll"); + } + + /*---------------------------------------------------------------------------------*/ + /* Interop Static Functions */ + /*---------------------------------------------------------------------------------*/ + void EngineInterface::Init() + { + SAFE_NATIVE_CALL_BEGIN + // Set up exception handler + System::AppDomain::CurrentDomain->UnhandledException += exceptionHandler; + LoadScriptAssembly(); + Debug::Log("[EngineInterface] Successfully initialized managed runtime."); + SAFE_NATIVE_CALL_END_N("SHADE_Managed.EngineInterface") + } + void EngineInterface::UnloadScriptAssembly() + { + SAFE_NATIVE_CALL_BEGIN + std::ostringstream oss; + oss << "[EngineInterface] Unloading " << Convert::ToNative(ManagedLibraryName) << ".dll"; + ScriptStore::Exit(); + + // Unload the script + scriptContext->Unload(); + scriptContext = nullptr; + System::GC::Collect(); + System::GC::WaitForPendingFinalizers(); + + // Unload the assembly File + if (managedLibFile != nullptr) + { + managedLibFile->Close(); + managedLibFile = nullptr; + } + + oss.str(""); + oss << "[EngineInterface] Successfully unloaded " << Convert::ToNative(ManagedLibraryName) << ".dll"; + Debug::Log(oss.str()); + SAFE_NATIVE_CALL_END_N("SHADE_Managed.EngineInterface") + } + void EngineInterface::LoadScriptAssembly() + { + SAFE_NATIVE_CALL_BEGIN + scriptContext = gcnew DisposableAssemblyLoadContext(); + loadManagedLibrary(); + ScriptStore::Init(); + SAFE_NATIVE_CALL_END_N("SHADE_Managed.EngineInterface") + } + void EngineInterface::ReloadScriptAssembly() + { + SAFE_NATIVE_CALL_BEGIN + // Stop scripts + UnloadScriptAssembly(); + // Reload assembly and restart scripts runtime + LoadScriptAssembly(); + SAFE_NATIVE_CALL_END_N("SHADE_Managed.EngineInterface") + } + void EngineInterface::Exit() + { + SAFE_NATIVE_CALL_BEGIN + // Clean up ScriptStore + ScriptStore::Exit(); + scriptContext->Unload(); + + // Release exception handler + System::AppDomain::CurrentDomain->UnhandledException -= exceptionHandler; + SAFE_NATIVE_CALL_END_N("SHADE_Managed.EngineInterface") + } + + /*---------------------------------------------------------------------------------*/ + /* Helper Functions */ + /*---------------------------------------------------------------------------------*/ + void EngineInterface::loadManagedLibrary() + { + using namespace System::IO; + + std::ostringstream oss; + try + { + oss << "[EngineInterface] Loading " << Convert::ToNative(ManagedLibraryName) << ".dll"; + managedLibFile = File::Open(managedLibPath, FileMode::Open, FileAccess::Read); + scriptContext->LoadFromStream(managedLibFile); + oss.str(""); + oss << "[EngineInterface] Successfully loaded " << Convert::ToNative(ManagedLibraryName) << ".dll"; + Debug::Log(oss.str()); + } + catch (System::Exception^ e) + { + oss << "[EngineInterface] Unable to load " << Convert::ToNative(ManagedLibraryName) << ".dll!" + << "(" << Convert::ToNative(e->ToString()) << ")"; + Debug::LogError(oss.str()); + } + } + + /*---------------------------------------------------------------------------------*/ + /* Exception Handler Functions */ + /*---------------------------------------------------------------------------------*/ + void EngineInterface::unhandledExceptionHandler(System::Object^ sender, System::UnhandledExceptionEventArgs^ e) + { + std::ostringstream oss; + oss << "[EngineInterface] Unhandled managed exception: " + << Convert::ToNative(e->ExceptionObject->GetType()->ToString()) << ": " + << Convert::ToNative(e->ExceptionObject->ToString()); + Debug::LogError(oss.str()); + } +} diff --git a/SHADE_Managed/src/Engine/EngineInterface.hxx b/SHADE_Managed/src/Engine/EngineInterface.hxx new file mode 100644 index 00000000..7bd5e010 --- /dev/null +++ b/SHADE_Managed/src/Engine/EngineInterface.hxx @@ -0,0 +1,90 @@ +/************************************************************************************//*! +\file EngineInterface.hxx +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Oct 28, 2021 +\brief Contains the definitions of the managed EngineInterface static class. + + Note: This file is written in C++17/CLI. + +Copyright (C) 2021 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//*************************************************************************************/ +#pragma once + +// Project Includes +#include "Utility/DisposableAssemblyLoadContext.hxx" + +namespace SHADE +{ + /// + /// Static class that contains the functions for interfacing with the core + /// PlushieEngine written in C++ for managing the lifecycle of managed code. + /// + private ref class EngineInterface abstract sealed + { + public: + /*-----------------------------------------------------------------------------*/ + /* Constants */ + /*-----------------------------------------------------------------------------*/ + /// + /// Name of the Managed Library that contains the C# scripts written externally. + /// + literal System::String^ ManagedLibraryName = "SHADE_Scripting"; + + /*-----------------------------------------------------------------------------*/ + /* Constructor */ + /*-----------------------------------------------------------------------------*/ + static EngineInterface(); + + /*-----------------------------------------------------------------------------*/ + /* Interop Static Functions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Initialises all required components for managed code. + /// + static void Init(); + /// + /// Unloads the managed script assembly. + /// Take note that this will clear all existing scripts, ensure that the scene + /// is saved before doing so. + /// + static void UnloadScriptAssembly(); + /// + /// Loads the managed script assembly. Ensure this is only called after + /// UnloadScriptAssembly() has been called. + /// + static void LoadScriptAssembly(); + /// + /// Reloads the managed script assembly. + /// Take note that this will clear all existing scripts, ensure that the scene + /// is saved before doing so. + /// Equivalent to calling UnloadScriptAssembly() and then LoadScriptAssembly(). + /// + static void ReloadScriptAssembly(); + /// + /// Cleans up all required components for managed code. + /// + static void Exit(); + + private: + /*-----------------------------------------------------------------------------*/ + /* Data Members */ + /*-----------------------------------------------------------------------------*/ + static DisposableAssemblyLoadContext^ scriptContext; + static System::UnhandledExceptionEventHandler^ exceptionHandler; + static System::String^ managedLibPath; + static System::IO::FileStream^ managedLibFile; + + /*-----------------------------------------------------------------------------*/ + /* Helper Functions */ + /*-----------------------------------------------------------------------------*/ + static void loadManagedLibrary(); + + /*-----------------------------------------------------------------------------*/ + /* Exception Handler Functions */ + /*-----------------------------------------------------------------------------*/ + static void unhandledExceptionHandler(System::Object^ sender, System::UnhandledExceptionEventArgs^ e); + }; +} \ No newline at end of file diff --git a/SHADE_Managed/src/Utility/Debug.cxx b/SHADE_Managed/src/Utility/Debug.cxx index 70392bf1..bba0136f 100644 --- a/SHADE_Managed/src/Utility/Debug.cxx +++ b/SHADE_Managed/src/Utility/Debug.cxx @@ -28,6 +28,10 @@ namespace SHADE /*---------------------------------------------------------------------------------*/ /* Logging Functions */ /*---------------------------------------------------------------------------------*/ + void Debug::Log(const std::string& str) + { + SHLOG_INFO(str); + } void Debug::Log(System::String^ str) { SHLOG_INFO(Convert::ToNative(str)); @@ -47,6 +51,10 @@ namespace SHADE oss << "[" << throwerName << "] " << Convert::ToNative(str); SHLOG_INFO(oss.str()); } + void Debug::LogWarning(const std::string& str) + { + SHLOG_WARNING(str); + } void Debug::LogWarning(System::String^ str) { SHLOG_WARNING(Convert::ToNative(str)); @@ -66,6 +74,10 @@ namespace SHADE oss << "[" << throwerName << "] " << Convert::ToNative(str); SHLOG_WARNING(oss.str()); } + void Debug::LogError(const std::string& str) + { + SHLOG_ERROR(str); + } void Debug::LogError(System::String^ str) { SHLOG_ERROR(Convert::ToNative(str)); diff --git a/SHADE_Managed/src/Utility/Debug.hxx b/SHADE_Managed/src/Utility/Debug.hxx index e6176792..28f2bc88 100644 --- a/SHADE_Managed/src/Utility/Debug.hxx +++ b/SHADE_Managed/src/Utility/Debug.hxx @@ -98,6 +98,11 @@ namespace SHADE /// Logs a message to the output. /// /// The string to output. + static void Log(const std::string& str); + /// + /// Logs a message to the output. + /// + /// The string to output. static void Log(System::String^ str); /// /// Logs a message to the output with a label such that it looks like this: @@ -133,6 +138,11 @@ namespace SHADE /// Logs a warning message to the output. /// /// The string to output. + static void LogWarning(const std::string& str); + /// + /// Logs a warning message to the output. + /// + /// The string to output. static void LogWarning(System::String^ str); /// /// Logs a warning message to the output with a label such that it looks like this: @@ -168,6 +178,11 @@ namespace SHADE /// Logs a error message to the output. /// /// The string to output. + static void LogError(const std::string& str); + /// + /// Logs a error message to the output. + /// + /// The string to output. static void LogError(System::String^ str); /// /// Logs a error message to the output with a label such that it looks like this: From b674805547ddf16414176e6c502ad9712048f82e Mon Sep 17 00:00:00 2001 From: Kah Wei Date: Tue, 13 Sep 2022 13:51:11 +0800 Subject: [PATCH 10/32] Added ECS and Component classes for SHADE_Managed --- SHADE_Engine/src/Scripting/SHScriptEngine.cpp | 18 -- SHADE_Engine/src/Scripting/SHScriptEngine.h | 5 +- SHADE_Managed/SHADE_Managed.vcxproj.filters | 23 ++ SHADE_Managed/src/Components/Component.cxx | 107 ++++++++ SHADE_Managed/src/Components/Component.h++ | 41 +++ SHADE_Managed/src/Components/Component.hxx | 200 ++++++++++++++ SHADE_Managed/src/Engine/ECS.cxx | 255 ++++++++++++++++++ SHADE_Managed/src/Engine/ECS.h++ | 60 +++++ SHADE_Managed/src/Engine/ECS.hxx | 174 ++++++++++++ SHADE_Managed/src/Scripts/ScriptStore.cxx | 52 ++-- 10 files changed, 883 insertions(+), 52 deletions(-) create mode 100644 SHADE_Managed/src/Components/Component.cxx create mode 100644 SHADE_Managed/src/Components/Component.h++ create mode 100644 SHADE_Managed/src/Components/Component.hxx create mode 100644 SHADE_Managed/src/Engine/ECS.cxx create mode 100644 SHADE_Managed/src/Engine/ECS.h++ create mode 100644 SHADE_Managed/src/Engine/ECS.hxx diff --git a/SHADE_Engine/src/Scripting/SHScriptEngine.cpp b/SHADE_Engine/src/Scripting/SHScriptEngine.cpp index 5f816066..d40605e4 100644 --- a/SHADE_Engine/src/Scripting/SHScriptEngine.cpp +++ b/SHADE_Engine/src/Scripting/SHScriptEngine.cpp @@ -60,12 +60,6 @@ namespace SHADE csEngineInit(); // Link events - // - Entity Creation - /*onEntityCreate = [this](const SHEntity& e) - { - csGOLibNotifyNewEntity(e.GetEID()); - }; - ECS::OnEntityCreated += onEntityCreate;*/ // - Entity Destruction /*onEntityDestroy = [this](const SHEntity& e) { @@ -384,18 +378,6 @@ namespace SHADE DEFAULT_CSHARP_NAMESPACE + ".ScriptStore", "DeserialiseScript" ); - csGOLibNotifyNewEntity = dotNet.GetFunctionPtr - ( - DEFAULT_CSHARP_LIB_NAME, - DEFAULT_CSHARP_NAMESPACE + ".GameObjectLibrary", - "NotifyNewGameObject" - ); - csGOLibNotifyDestroyEntity = dotNet.GetFunctionPtr - ( - DEFAULT_CSHARP_LIB_NAME, - DEFAULT_CSHARP_NAMESPACE + ".GameObjectLibrary", - "NotifyDestroyGameObject" - ); csEditorRenderScripts = dotNet.GetFunctionPtr ( DEFAULT_CSHARP_LIB_NAME, diff --git a/SHADE_Engine/src/Scripting/SHScriptEngine.h b/SHADE_Engine/src/Scripting/SHScriptEngine.h index bd9fb079..8182da5a 100644 --- a/SHADE_Engine/src/Scripting/SHScriptEngine.h +++ b/SHADE_Engine/src/Scripting/SHScriptEngine.h @@ -212,9 +212,6 @@ namespace SHADE CsScriptDeserialiseFuncPtr csScriptDeserialise = nullptr; CsScriptSerialiseJsonFuncPtr csScriptsSerialiseJson = nullptr; CsScriptSerialiseJsonFuncPtr csScriptDeserialiseJson = nullptr; - // - GameObject Library - CsScriptBasicFuncPtr csGOLibNotifyNewEntity = nullptr; - CsScriptBasicFuncPtr csGOLibNotifyDestroyEntity = nullptr; // - Editor CsScriptEditorFuncPtr csEditorRenderScripts = nullptr; // Delegates @@ -255,4 +252,4 @@ namespace SHADE static bool fileExists(const std::string_view& filePath); static DWORD execProcess(const std::wstring& path, const std::wstring& args); }; -} // namespace PlushieEngine +} diff --git a/SHADE_Managed/SHADE_Managed.vcxproj.filters b/SHADE_Managed/SHADE_Managed.vcxproj.filters index 776142d3..c1901bac 100644 --- a/SHADE_Managed/SHADE_Managed.vcxproj.filters +++ b/SHADE_Managed/SHADE_Managed.vcxproj.filters @@ -1,6 +1,9 @@ + + {6B7DD516-5735-1764-C03C-F0BFAC13B254} + {DBC7D3B0-C769-FE86-B024-12DB9C6585D7} @@ -15,6 +18,12 @@ + + Components + + + Engine + Engine @@ -52,6 +61,12 @@ + + Components + + + Engine + Engine @@ -87,4 +102,12 @@ Utility + + + Components + + + Engine + + \ No newline at end of file diff --git a/SHADE_Managed/src/Components/Component.cxx b/SHADE_Managed/src/Components/Component.cxx new file mode 100644 index 00000000..ccb056c2 --- /dev/null +++ b/SHADE_Managed/src/Components/Component.cxx @@ -0,0 +1,107 @@ +/************************************************************************************//*! +\file Component.cxx +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Oct 27, 2021 +\brief Contains the definition of the functions for the Component class. + + Note: This file is written in C++17/CLI. + +Copyright (C) 2021 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//*************************************************************************************/ +// Precompiled Headers +#include "SHpch.h" +// Primary Header +#include "Components/Component.hxx" +// External Dependencies +#include "Engine/ECS.hxx" +// Project Headers +#include "Scripts/ScriptStore.hxx" + +namespace SHADE +{ + /*---------------------------------------------------------------------------------*/ + /* Component Access Functions */ + /*---------------------------------------------------------------------------------*/ + generic + T BaseComponent::AddComponent() + { + return ECS::AddComponent(owner.GetNativeEntity()); + } + generic + T BaseComponent::GetComponent() + { + return ECS::GetComponent(owner.GetNativeEntity()); + } + generic + void BaseComponent::RemoveComponent() + { + ECS::RemoveComponent(owner.GetNativeEntity()); + } + + /*---------------------------------------------------------------------------------*/ + /* Script Access Functions */ + /*---------------------------------------------------------------------------------*/ + generic + T BaseComponent::AddScript() + { + return ScriptStore::AddScript(owner.GetEntity()); + } + generic + T BaseComponent::GetScript() + { + return ScriptStore::GetScript(owner.GetEntity()); + } + + generic + System::Collections::Generic::IEnumerable^ BaseComponent::GetScripts() + { + return ScriptStore::GetScripts(owner.GetEntity()); + } + + generic + void BaseComponent::RemoveScript() + { + ScriptStore::RemoveScript(owner.GetEntity()); + } + + /*---------------------------------------------------------------------------------*/ + /* Constructors */ + /*---------------------------------------------------------------------------------*/ + BaseComponent::BaseComponent(Entity entity) + : owner { entity } + {} + + /*---------------------------------------------------------------------------------*/ + /* IEquatable */ + /*---------------------------------------------------------------------------------*/ + bool BaseComponent::Equals(BaseComponent^ other) + { + if (other == nullptr) + return false; + return owner == other->owner; + } + + /*---------------------------------------------------------------------------------*/ + /* Object */ + /*---------------------------------------------------------------------------------*/ + bool BaseComponent::Equals(Object^ o) + { + try + { + BaseComponent^ cmp = safe_cast(o); + return Equals(cmp); + } + catch (System::InvalidCastException^) + { + return false; + } + } + + int BaseComponent::GetHashCode() + { + return owner.GetHashCode(); + } +} diff --git a/SHADE_Managed/src/Components/Component.h++ b/SHADE_Managed/src/Components/Component.h++ new file mode 100644 index 00000000..e2a20998 --- /dev/null +++ b/SHADE_Managed/src/Components/Component.h++ @@ -0,0 +1,41 @@ +/************************************************************************************//*! +\file Component.h++ +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Oct 27, 2021 +\brief Contains the definition of templated functions for the managed Component + classes. + + Note: This file is written in C++17/CLI. + +Copyright (C) 2021 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//*************************************************************************************/ +#pragma once + +// Primary Include +#include "Component.hxx" +// Project includes +#include "Utility/Convert.hxx" +#include "Engine/ECS.hxx" + +namespace SHADE +{ + /*---------------------------------------------------------------------------------*/ + /* Constructors */ + /*---------------------------------------------------------------------------------*/ + template + Component::Component(Entity entity) + : BaseComponent { entity } + {} + + /*---------------------------------------------------------------------------------*/ + /* Helper Functions */ + /*---------------------------------------------------------------------------------*/ + template + typename Component::NativeComponent* Component::GetNativeComponent() + { + return ECS::GetNativeComponent(owner.GetEntity()); + } +} diff --git a/SHADE_Managed/src/Components/Component.hxx b/SHADE_Managed/src/Components/Component.hxx new file mode 100644 index 00000000..4f8e5bab --- /dev/null +++ b/SHADE_Managed/src/Components/Component.hxx @@ -0,0 +1,200 @@ +/************************************************************************************//*! +\file Component.hxx +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Oct 27, 2021 +\brief Contains the definition of the managed Component classes with the + declaration of functions for working with it. + + Note: This file is written in C++17/CLI. + +Copyright (C) 2021 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//*************************************************************************************/ +#pragma once + +// External Dependencies +#include "Engine/ECS_Base/Components/SHComponent.h" +// Project Includes +#include "Engine/Entity.hxx" +#include "Scripts/Script.hxx" + +namespace SHADE +{ + /// + /// Class that serves as the base for a wrapper class to Components in native code. + /// + public ref class BaseComponent : public System::IEquatable + { + public: + /*-----------------------------------------------------------------------------*/ + /* Properties */ + /*-----------------------------------------------------------------------------*/ + /// + /// Retrieves the GameObject that this Component belongs to. + /// + property GameObject Owner + { + GameObject get() { return owner; } + } + + /*-----------------------------------------------------------------------------*/ + /* Component Access Functions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Adds a Component to this GameObject. + /// + /// Type of the Component to add. + /// Reference to the Component that was added. + generic where T : BaseComponent + T AddComponent(); + /// + /// Gets a Component from this GameObject. + /// + /// Type of the Component to get. + /// + /// Reference to the Component or null if this GameObject does not have the + /// specified Component. + /// + generic where T : BaseComponent + T GetComponent(); + /// + /// Removes a Component from this GameObject. If no Component exists to begin + /// with, nothing happens. + /// + /// Type of the Component to get. + generic where T : BaseComponent + void RemoveComponent(); + + /*-----------------------------------------------------------------------------*/ + /* Script Access Functions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Adds a PlushieScript of the specified type to this GameObject. + /// + /// Type of PlushieScript to add. + /// Reference to the created PlushieScript. + generic where T : ref class, PlushieScript + T AddScript(); + /// + /// Retrieves a PlushieScript of the specified type from this GameObject. + /// If multiple PlushieScripts of the same specified type are added on the same + /// GameObject, this will retrieve the first one added. + /// + /// Type of PlushieScript to add. + /// Reference to the PlushieScript to retrieve. + generic where T : ref class, PlushieScript + T GetScript(); + /// + /// Retrieves a immutable list of PlushieScripts of the specified type from this + /// GameObject. + /// + /// Type of PlushieScripts to Get. + /// Immutable list of PlushieScripts of the specified type. + generic where T : ref class, PlushieScript + System::Collections::Generic::IEnumerable^ GetScripts(); + /// + /// Removes all PlushieScripts of the specified type from this GameObject. + /// + /// Type of PLushieScripts to remove. + generic where T : ref class, PlushieScript + void RemoveScript(); + + protected: + /*-----------------------------------------------------------------------------*/ + /* Constructors */ + /*-----------------------------------------------------------------------------*/ + /// + /// Constructor for BaseComponent to tie it to a specific Entity. + /// Constructors of derived Components should call this Constructor. + /// + /// Entity that this Component will be tied to. + BaseComponent(Entity entity); + + /*-----------------------------------------------------------------------------*/ + /* Data Members */ + /*-----------------------------------------------------------------------------*/ + /// + /// Entity that this Component belongs to. + /// + GameObject owner; + + public: + /*-----------------------------------------------------------------------------*/ + /* IEquatable */ + /*-----------------------------------------------------------------------------*/ + /// + /// Compares equality with an object of the same type. + /// + /// The object to compare with. + /// True if both objects are the same. + virtual bool Equals(BaseComponent^ other); + + /*-----------------------------------------------------------------------------*/ + /* Object */ + /*-----------------------------------------------------------------------------*/ + /// + /// Compares equality with another unboxed object. + /// + /// The unboxed object to compare with. + /// True if both objects are the same. + bool Equals(Object^ o) override; + /// + /// Gets a unique hash for this object. + /// + /// Unique hash for this object. + int GetHashCode() override; + }; + + /// + /// C++ template for the BaseComponent class used to generate common template-able + /// functions and types. + /// + /// + /// Type of the native component that this Component wraps. + /// + template + public ref class Component : public BaseComponent + { + internal: + /*-----------------------------------------------------------------------------*/ + /* Type Definitions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Type of the native component that this Component wraps. + /// + using NativeComponent = NativeType; + + /*-----------------------------------------------------------------------------*/ + /* Helper Functions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Retrieves a pointer to the native unmanaged component that is tied to the + /// Entity described by the owner value. + /// + /// + /// Pointer to the native component. Will be nullptr if it does not exist. + /// + /// + /// Thrown if the internal ID stored by this native component is invalid. + /// + /// + /// Thrown if an attempt to retrieve the native component fails. + /// + NativeComponent* GetNativeComponent(); + + protected: + /*-----------------------------------------------------------------------------*/ + /* Constructors */ + /*-----------------------------------------------------------------------------*/ + /// + /// Constructor for Component to tie it to a specific Entity. + /// Constructors of derived Components should call this Constructor. + /// + /// Entity that this Component will be tied to. + Component(Entity entity); + }; +} + +#include "Component.h++" diff --git a/SHADE_Managed/src/Engine/ECS.cxx b/SHADE_Managed/src/Engine/ECS.cxx new file mode 100644 index 00000000..5d63afc8 --- /dev/null +++ b/SHADE_Managed/src/Engine/ECS.cxx @@ -0,0 +1,255 @@ +/************************************************************************************//*! +\file ECS.cxx +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Oct 28, 2021 +\brief Contains the definition of the functions for the ECS managed static + class. + + Note: This file is written in C++17/CLI. + +Copyright (C) 2021 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//*************************************************************************************/ +// Precompiled Headers +#include "SHpch.h" +// Primary Header +#include "ECS.hxx" +// Standard Library +#include +#include +// External Dependencies +#include "Engine/ECS_Base/System/SHEntityManager.h" +// Project Headers +#include "Utility/Convert.hxx" +#include "Utility/Debug.hxx" + +namespace SHADE +{ + /*---------------------------------------------------------------------------------*/ + /* Component Manipulation Functions */ + /*---------------------------------------------------------------------------------*/ + generic + T ECS::AddComponent(EntityID entity) + { + System::Type^ componentType = T::typeid; + + // Check if entity is correct + if (!SHEntityManager::IsValidEID(entity)) + { + std::ostringstream oss; + oss << "[ECS] Attempted to add Component \"" + << msclr::interop::marshal_as(componentType->Name) + << "\" to invalid Entity."; + Debug::LogError(oss.str()); + return T(); + } + + // Add based on the correct component + for each(ComponentSet^ type in componentMap) + { + if (componentType == type->Type) + { + // Attempt to add + type->AddFunction(entity); + + // Return the managed component + return createManagedComponent(entity); + } + } + + std::ostringstream oss; + oss << "[ECS] Failed to add unsupported Component \"" + << Convert::ToNative(componentType->Name) + << "\" to Entity #" + << entity; + Debug::LogError(oss.str()); + return T(); + } + generic + T ECS::GetComponent(EntityID entity) + { + System::Type^ componentType = T::typeid; + + // Check if entity is correct + if (!SHEntityManager::IsValidEID(entity)) + { + std::ostringstream oss; + oss << "[ECS] Attempted to retrieve Component \"" + << Convert::ToNative(componentType->Name) + << "\" from invalid Entity."; + Debug::LogError(oss.str()); + return T(); + } + + // Get based on the correct component + for each(ComponentSet^ type in componentMap) + { + if (componentType == type->Type) + { + if (type->HasFunction(entity)) + { + return createManagedComponent(entity); + } + else + { + return T(); + } + } + } + + std::ostringstream oss; + oss << "[ECS] Failed to retrieve unsupported Component \"" + << Convert::ToNative(componentType->Name) + << "\" to Entity #" + << entity; + Debug::LogError(oss.str()); + return T(); + } + + generic + T ECS::GetComponentInChildren(EntityID entity) + { + System::Type^ componentType = T::typeid; + + // Check if entity is correct + if (!SHEntityManager::IsValidEID(entity)) + { + std::ostringstream oss; + oss << "[ECS] Attempted to retrieve Component \"" + << Convert::ToNative(componentType->Name) + << "\" from invalid Entity."; + Debug::LogError(oss.str()); + return T(); + } + + // Get Transform component and get the children list + throw gcnew System::NotImplementedException; + //Pls::Transform* tf = Pls::ECS::GetComponent(entity); + //if (tf == nullptr) + // return T(); + + //// Search direct children first + //for (const auto& child : tf->GetChildren()) + //{ + // T component = GetComponent(child); + // if (component != nullptr) + // return component; + //} + + //// Search their children + //for (const auto& child : tf->GetChildren()) + //{ + // T script = GetComponentInChildren(child); + // if (script != nullptr) + // return script; + //} + + // None here + return T(); + } + + generic + T ECS::EnsureComponent(EntityID entity) + { + if (HasComponent(entity)) + { + AddComponent(entity); + } + + return GetComponent(entity); + } + generic + bool ECS::HasComponent(EntityID entity) + { + System::Type^ componentType = T::typeid; + + // Check if entity is correct + if (!SHEntityManager::IsValidEID(entity)) + { + std::ostringstream oss; + oss << "[ECS] Attempted to check existence of Component \"" + << Convert::ToNative(componentType->Name) + << "\" from invalid Entity."; + Debug::LogError(oss.str()); + return false; + } + + // Add based on the correct component + for each(ComponentSet^ type in componentMap) + { + if (componentType == type->Type) + { + return type->HasFunction(entity); + } + } + + std::ostringstream oss; + oss << "[ECS] Attempted to check existence of unsupported Component \"" + << msclr::interop::marshal_as(componentType->Name) + << "\" from Entity #" + << entity; + Debug::LogError(oss.str()); + + return false; + } + generic + void ECS::RemoveComponent(EntityID entity) + { + System::Type^ componentType = T::typeid; + + // Check if entity is correct + if (!SHEntityManager::IsValidEID(entity)) + { + std::ostringstream oss; + oss << "[ECS] Attempted to remove Component \"" + << Convert::ToNative(componentType->Name) + << "\" from invalid Entity."; + Debug::LogError(oss.str()); + } + + // Add based on the correct component + for each(ComponentSet^ type in componentMap) + { + if (componentType == type->Type) + { + type->RemoveFunction(entity); + return; + } + } + + std::ostringstream oss; + oss << "[ECS] Attempted to remove unsupported Component \"" + << msclr::interop::marshal_as(componentType->Name) + << "\" from Entity #" + << entity; + Debug::LogError(oss.str()); + } + + /*---------------------------------------------------------------------------------*/ + /* Constructors */ + /*---------------------------------------------------------------------------------*/ + static ECS::ECS() + { + // TODO + // componentMap.Add(createComponentSet()); + } + + /*---------------------------------------------------------------------------------*/ + /* Helper Functions */ + /*---------------------------------------------------------------------------------*/ + generic + T ECS::createManagedComponent(EntityID entity) + { + using namespace System::Reflection; + + array^ params = gcnew array{ Convert::ToCLI(entity) }; + return safe_cast(Activator::CreateInstance + ( + T::typeid, + BindingFlags::Instance | BindingFlags::NonPublic | BindingFlags::CreateInstance, + nullptr, params, nullptr) + ); + } +} diff --git a/SHADE_Managed/src/Engine/ECS.h++ b/SHADE_Managed/src/Engine/ECS.h++ new file mode 100644 index 00000000..b411c8bd --- /dev/null +++ b/SHADE_Managed/src/Engine/ECS.h++ @@ -0,0 +1,60 @@ +/************************************************************************************//*! +\file ECS.h++ +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Oct 27, 2021 +\brief Contains the definition of templated functions for the managed Component + classes. + + Note: This file is written in C++17/CLI. + +Copyright (C) 2021 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//*************************************************************************************/ +#pragma once + +// Primary Include +#include "ECS.hxx" +// External Dependencies +#include "Engine/ECS_Base/System/SHComponentManager.h" +#include "Engine/ECS_Base/System/SHEntityManager.h" + +namespace SHADE +{ + /*---------------------------------------------------------------------------------*/ + /* Static Functions */ + /*---------------------------------------------------------------------------------*/ + template + NativeComponent* ECS::GetNativeComponent(Entity entity) + { + // Get native Entity + SHEntity* nativeEntity = SHEntityManager::GetEntityByID(entity); + + // Entity Validity Check + if (nativeEntity == nullptr) + throw gcnew System::InvalidOperationException("Attempted to get native Component to an invalid Entity."); + + // Null Check + NativeComponent* component = SHComponentManager::GetComponent_s(nativeEntity); + if (component == nullptr) + throw gcnew System::NullReferenceException("Attempted to get a native Component that does not exist."); + + return component; + } + /*---------------------------------------------------------------------------------*/ + /* Helper Functions */ + /*---------------------------------------------------------------------------------*/ + template + ECS::ComponentSet ECS::createComponentSet() + { + return ComponentSet + { + ManagedType::typeid, + SHComponentManager::AddComponent, + SHComponentManager::EnsureComponent, + SHComponentManager::HasComponent, + SHComponentManager::RemoveComponent + }; + } +} diff --git a/SHADE_Managed/src/Engine/ECS.hxx b/SHADE_Managed/src/Engine/ECS.hxx new file mode 100644 index 00000000..c0c95aff --- /dev/null +++ b/SHADE_Managed/src/Engine/ECS.hxx @@ -0,0 +1,174 @@ +/************************************************************************************//*! +\file ECS.hxx +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Oct 28, 2021 +\brief Contains the definitions of the GameObject managed class which define an + abstraction for working with Entities in managed code. + + Note: This file is written in C++17/CLI. + +Copyright (C) 2021 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//*************************************************************************************/ +#pragma once + +// External Dependencies +#include "Engine/ECS_Base/System/SHComponentManager.h" +// Project Includes +#include "Components/Component.hxx" + +namespace SHADE +{ + /// + /// Static class which contains functions that map Pls::ECS's Component manipulation + /// functions to managed generic functions. + /// + private ref class ECS abstract sealed + { + public: + /*-----------------------------------------------------------------------------*/ + /* Component Manipulation Functions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Adds a Component to the specified Entity. + /// + /// Type of the Component to add. + /// + /// Entity object that should have the specified Component added to. + /// + /// Reference to the Component that was added. + generic where T : BaseComponent + static T AddComponent(EntityID entity); + /// + /// Gets a Component from the specified Entity. + /// + /// Type of the Component to get. + /// Entity object to get the Component from. + /// + /// Reference to the Component or null if the Entity does not have the + /// specified Component. + /// + generic where T : BaseComponent + static T GetComponent(EntityID entity); + /// + /// Retrieves the first Component from the specified GameObjectt's children that + /// matches the specified type. + /// + /// Type of the Component to get. + /// Entity object to get the Component from. + /// + /// Reference to the Component or null if the Entity does not have the + /// specified Component. + /// + generic where T : BaseComponent + static T GetComponentInChildren(EntityID entity); + /// + /// Ensures a Component on the specified Entity. + /// + /// Type of the Component to ensure. + /// Entity object to ensure the Component on. + /// Reference to the Component. + generic where T : BaseComponent + static T EnsureComponent(EntityID entity); + /// + /// Checks if the specified Entity has the specified Component. + /// + /// Type of the Component to check for. + /// Entity object to check for the Component. + /// + /// True if the specified Entity has the specified Component. False otherwise. + /// + generic where T : BaseComponent + static bool HasComponent(EntityID entity); + /// + /// Removes a Component from the specified Entity. + /// + /// Type of the Component to remove. + /// + /// Entity object that should have the specified Component removed from/ + /// + generic where T : BaseComponent + static void RemoveComponent(EntityID entity); + + internal: + /*-----------------------------------------------------------------------------*/ + /* Type Definitions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Pointer to a function for Component manipulation operations. + /// + using ComponentFunc = void(*)(const EntityID&); + using ComponentHasFunc = bool(*)(const EntityID&); + /// + /// Contains a set of Component related data used for resolving operations for + /// each Component. + /// + value struct ComponentSet + { + public: + System::Type^ Type; + ComponentFunc AddFunction; + ComponentHasFunc HasFunction; + ComponentFunc RemoveFunction; + + }; + + /*-----------------------------------------------------------------------------*/ + /* Static Functions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Retrieves a pointer to the native unmanaged component of the specified + /// Entity. + /// + /// + /// Pointer to the native component. Will be nullptr if it does not exist. + /// + /// + /// Thrown if the Entity specified is invalid. + /// + /// + /// Thrown if an attempt to retrieve the native component fails. + /// + template + static NativeComponent* GetNativeComponent(Entity entity); + + private: + /*-----------------------------------------------------------------------------*/ + /* Constructors */ + /*-----------------------------------------------------------------------------*/ + /// + /// Static constructor to initialize static data + /// + static ECS(); + + /*-----------------------------------------------------------------------------*/ + /* Static Data Members */ + /*-----------------------------------------------------------------------------*/ + static System::Collections::Generic::List componentMap; + + /*-----------------------------------------------------------------------------*/ + /* Helper Functions */ + /*-----------------------------------------------------------------------------*/ + /// + /// Creates a ComponentSet for a pair of Native and Managed Components. + /// + /// Type of the Native Component. + /// Type of the Managed Component. + /// ComponentSet for the parameters specified. + template + static ComponentSet createComponentSet(); + /// + /// Creates an instance of the Managed representation of a Component with a + /// native Entity. + /// + /// Type of Component to create. + /// Native Entity that this Component is tied to. + /// The created Managed representation of the Component. + generic where T : BaseComponent + static T createManagedComponent(EntityID entity); + }; +} + +#include "ECS.h++" diff --git a/SHADE_Managed/src/Scripts/ScriptStore.cxx b/SHADE_Managed/src/Scripts/ScriptStore.cxx index 86329f29..54572559 100644 --- a/SHADE_Managed/src/Scripts/ScriptStore.cxx +++ b/SHADE_Managed/src/Scripts/ScriptStore.cxx @@ -33,8 +33,8 @@ namespace SHADE generic T ScriptStore::AddScript(Entity entity) { - // Check if entity exists and is a valid GameObject - if (!EntityUtils::IsValid(entity) /*|| !GameObjectLibrary::Contains(entity)*/) + // Check if entity exists + if (!EntityUtils::IsValid(entity)) throw gcnew System::ArgumentException("Invalid Entity provided to add a Script to."); System::Collections::Generic::List ^ entityScriptList; @@ -113,12 +113,9 @@ namespace SHADE generic T ScriptStore::GetScript(Entity entity) { - // Check if entity exists and is a valid GameObject - if (!EntityUtils::IsValid(entity) /*|| !GameObjectLibrary::Contains(entity)*/) - { + // Check if entity exists + if (!EntityUtils::IsValid(entity)) throw gcnew System::ArgumentException("Invalid Entity provided to get a Script from."); - } - // Check if entity exists in the script storage if (!scripts.ContainsKey(entity)) @@ -147,10 +144,8 @@ namespace SHADE T ScriptStore::GetScriptInChildren(Entity entity) { // Check if entity exists and is a valid GameObject - if (!EntityUtils::IsValid(entity) /*|| !GameObjectLibrary::Contains(entity)*/) - { + if (!EntityUtils::IsValid(entity)) throw gcnew System::ArgumentException("Invalid Entity provided to get a Script from."); - } // Check if entity exists in the script storage @@ -189,10 +184,8 @@ namespace SHADE System::Collections::Generic::IEnumerable^ ScriptStore::GetScripts(Entity entity) { // Check if entity exists and is a valid GameObject - if (!EntityUtils::IsValid(entity) /*|| !GameObjectLibrary::Contains(entity)*/) - { + if (!EntityUtils::IsValid(entity)) throw gcnew System::ArgumentException("Invalid Entity provided to get a Script from."); - } // Create a list to store entries System::Collections::Generic::List^ foundScripts = gcnew System::Collections::Generic::List(); @@ -221,8 +214,8 @@ namespace SHADE } System::Collections::Generic::IEnumerable^ ScriptStore::GetAllScripts(Entity entity) { - // Check if entity exists and is a valid GameObject - if (!EntityUtils::IsValid(entity) /*|| !GameObjectLibrary::Contains(entity)*/) + // Check if entity exists + if (!EntityUtils::IsValid(entity)) return nullptr; // Check if entity exists in the script storage @@ -235,8 +228,8 @@ namespace SHADE generic void ScriptStore::RemoveScript(Entity entity) { - // Check if entity exists and is a valid GameObject - if (!EntityUtils::IsValid(entity) /*|| !GameObjectLibrary::Contains(entity)*/) + // Check if entity exists + if (!EntityUtils::IsValid(entity)) throw gcnew System::ArgumentException("Invalid Entity provided to remove a Script from."); @@ -263,8 +256,8 @@ namespace SHADE } bool ScriptStore::RemoveScript(Entity entity, Script^ script) { - // Check if entity exists and is a valid GameObject - if (!EntityUtils::IsValid(entity) /*|| !GameObjectLibrary::Contains(entity)*/) + // Check if entity exists + if (!EntityUtils::IsValid(entity)) { Debug::LogError("[ScriptStore] Attempted to remove a Script from an invalid Entity!"); return false; @@ -292,8 +285,8 @@ namespace SHADE void ScriptStore::RemoveAllScripts(Entity entity) { SAFE_NATIVE_CALL_BEGIN - // Check if entity exists and is a valid GameObject - if (!EntityUtils::IsValid(entity) /*|| !GameObjectLibrary::Contains(entity)*/) + // Check if entity exists + if (!EntityUtils::IsValid(entity)) { Debug::LogError("[ScriptStore] Attempted to remove Scripts from an invalid Entity!"); return; @@ -315,8 +308,8 @@ namespace SHADE void ScriptStore::RemoveAllScriptsImmediately(Entity entity, bool callOnDestroy) { SAFE_NATIVE_CALL_BEGIN - // Check if entity exists and is a valid GameObject - if (!EntityUtils::IsValid(entity) /*|| !GameObjectLibrary::Contains(entity)*/) + // Check if entity exists + if (!EntityUtils::IsValid(entity)) { Debug::LogError("[ScriptStore] Attempted to remove Scripts from an invalid Entity!"); return; @@ -393,7 +386,6 @@ namespace SHADE /*if (Application::IsPlaying) { script->OnDestroy(); - }*/ auto entity = script->Owner.GetEntity(); auto scriptList = scripts[script->Owner.GetEntity()]; @@ -498,8 +490,8 @@ namespace SHADE // Create a buffer that we can work with temporarily System::Text::StringBuilder^ jsonString = gcnew System::Text::StringBuilder(); - // Check if entity exists and is a valid GameObject, otherwise nothing - if (!EntityUtils::IsValid(entity) /*|| !GameObjectLibrary::Contains(entity)*/) + // Check if entity exists, otherwise nothing + if (!EntityUtils::IsValid(entity)) return true; @@ -511,7 +503,7 @@ namespace SHADE System::Collections::Generic::List^ scriptList = scripts[entity]; for (int i = 0; i < scriptList->Count; ++i) { - throw gcnew System::NotFiniteNumberException; + throw gcnew System::NotImplementedException; //jsonString->Append(ReflectionUtilities::Serialise(scriptList[i])); // Only add separator if is not last script @@ -536,8 +528,8 @@ namespace SHADE bool ScriptStore::DeserialiseScript(Entity entity, System::String^ json) { SAFE_NATIVE_CALL_BEGIN - // Check if entity exists and is a valid GameObject, otherwise nothing - if (!EntityUtils::IsValid(entity)/* || !GameObjectLibrary::Contains(entity)*/) + // Check if entity exists, otherwise nothing + if (!EntityUtils::IsValid(entity)) return false; // Get the name of the script @@ -670,4 +662,4 @@ namespace SHADE // Check active state return Convert::ToNative(entity).isActive; } -} // namespace SHADE +} From 0ed5cecbf329a52ca7168871316e6037ce6f7357 Mon Sep 17 00:00:00 2001 From: Kah Wei Date: Tue, 13 Sep 2022 15:18:56 +0800 Subject: [PATCH 11/32] Fixed ECS references in various files in SHADE_Managed --- SHADE.sln | 1 + SHADE_Application/SHADE_Application.vcxproj | 7 +++- SHADE_Application/premake5.lua | 5 ++- SHADE_Engine/SHADE_Engine.vcxproj | 4 +- SHADE_Engine/premake5.lua | 2 +- SHADE_Engine/src/Scripting/SHScriptEngine.h | 4 +- SHADE_Managed/premake5.lua | 3 +- SHADE_Managed/src/Components/Component.cxx | 6 +-- SHADE_Managed/src/Components/Component.hxx | 32 +++++++-------- SHADE_Managed/src/Engine/ECS.cxx | 2 +- SHADE_Managed/src/Engine/ECS.h++ | 4 +- SHADE_Managed/src/Engine/ECS.hxx | 2 +- SHADE_Managed/src/Engine/Entity.hxx | 2 +- SHADE_Managed/src/Engine/GameObject.cxx | 43 +++++++++----------- SHADE_Managed/src/Engine/GameObject.hxx | 44 ++++++++++----------- SHADE_Managed/src/Scripts/ScriptStore.cxx | 13 +++--- SHADE_Managed/src/Utility/Convert.cxx | 4 -- SHADE_Managed/src/Utility/Convert.hxx | 8 +--- SHADE_Managed/src/Utility/Debug.cxx | 23 +++++------ 19 files changed, 100 insertions(+), 109 deletions(-) diff --git a/SHADE.sln b/SHADE.sln index fadd2bea..fedf0fbb 100644 --- a/SHADE.sln +++ b/SHADE.sln @@ -34,6 +34,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SHADE_Managed", "SHADE_Mana {88F1A057-74BE-FB62-9DD7-E90A890331F1} = {88F1A057-74BE-FB62-9DD7-E90A890331F1} {C0FF640D-2C14-8DBE-F595-301E616989EF} = {C0FF640D-2C14-8DBE-F595-301E616989EF} {8EAD431C-7A4F-6EF2-630A-82464F4BF542} = {8EAD431C-7A4F-6EF2-630A-82464F4BF542} + {3F92E998-2BF5-783D-D47A-B1F3C0BC44C0} = {3F92E998-2BF5-783D-D47A-B1F3C0BC44C0} EndProjectSection EndProject Global diff --git a/SHADE_Application/SHADE_Application.vcxproj b/SHADE_Application/SHADE_Application.vcxproj index 11bbb48f..3d7011b4 100644 --- a/SHADE_Application/SHADE_Application.vcxproj +++ b/SHADE_Application/SHADE_Application.vcxproj @@ -64,7 +64,7 @@ EditAndContinue Disabled false - MultiThreadedDebug + MultiThreadedDebugDLL true stdcpplatest @@ -86,7 +86,7 @@ true false true - MultiThreaded + MultiThreadedDLL true stdcpplatest @@ -114,6 +114,9 @@ {3F92E998-2BF5-783D-D47A-B1F3C0BC44C0} + + {16DB1400-829B-9036-4BD6-D9B3B755D512} + diff --git a/SHADE_Application/premake5.lua b/SHADE_Application/premake5.lua index c10b1002..c46115b3 100644 --- a/SHADE_Application/premake5.lua +++ b/SHADE_Application/premake5.lua @@ -7,7 +7,7 @@ project "SHADE_Application" systemversion "latest" pchheader "SBpch.h" pchsource "%{prj.location}/src/SBpch.cpp" - staticruntime "on" + staticruntime "off" entrypoint "wWinMainCRTStartup" system ("windows") @@ -33,7 +33,8 @@ project "SHADE_Application" links { - "SHADE_Engine" + "SHADE_Engine", + "SHADE_Managed" } postbuildcommands diff --git a/SHADE_Engine/SHADE_Engine.vcxproj b/SHADE_Engine/SHADE_Engine.vcxproj index ca421c40..62beed9f 100644 --- a/SHADE_Engine/SHADE_Engine.vcxproj +++ b/SHADE_Engine/SHADE_Engine.vcxproj @@ -64,7 +64,7 @@ EditAndContinue Disabled false - MultiThreadedDebug + MultiThreadedDebugDLL true stdcpplatest @@ -91,7 +91,7 @@ true false true - MultiThreaded + MultiThreadedDLL true stdcpplatest diff --git a/SHADE_Engine/premake5.lua b/SHADE_Engine/premake5.lua index 39866d72..0eb5b93d 100644 --- a/SHADE_Engine/premake5.lua +++ b/SHADE_Engine/premake5.lua @@ -7,7 +7,7 @@ project "SHADE_Engine" systemversion "latest" pchheader "SHpch.h" pchsource "%{prj.location}/src/SHpch.cpp" - staticruntime "on" + staticruntime "off" files { diff --git a/SHADE_Engine/src/Scripting/SHScriptEngine.h b/SHADE_Engine/src/Scripting/SHScriptEngine.h index 8182da5a..91533c0f 100644 --- a/SHADE_Engine/src/Scripting/SHScriptEngine.h +++ b/SHADE_Engine/src/Scripting/SHScriptEngine.h @@ -16,8 +16,8 @@ of DigiPen Institute of Technology is prohibited. // Project Headers #include "SHDotNetRuntime.h" -#include "Engine/ECS_Base/SHECSMacros.h" -#include "Engine/ECS_Base/Entity/SHEntity.h" +#include "ECS_Base/SHECSMacros.h" +#include "ECS_Base/Entity/SHEntity.h" namespace SHADE { diff --git a/SHADE_Managed/premake5.lua b/SHADE_Managed/premake5.lua index 137e950e..835bea1a 100644 --- a/SHADE_Managed/premake5.lua +++ b/SHADE_Managed/premake5.lua @@ -9,7 +9,7 @@ project "SHADE_Managed" systemversion "latest" pchheader "SHpch.h" pchsource "%{prj.location}/src/SHpch.cpp" - staticruntime "on" + staticruntime "off" files { @@ -51,6 +51,7 @@ project "SHADE_Managed" "yaml-cpp", "imgui", "spdlog", + "SHADE_Engine" } warnings 'Extra' diff --git a/SHADE_Managed/src/Components/Component.cxx b/SHADE_Managed/src/Components/Component.cxx index ccb056c2..a6afc5cc 100644 --- a/SHADE_Managed/src/Components/Component.cxx +++ b/SHADE_Managed/src/Components/Component.cxx @@ -28,17 +28,17 @@ namespace SHADE generic T BaseComponent::AddComponent() { - return ECS::AddComponent(owner.GetNativeEntity()); + return ECS::AddComponent(owner.GetEntity()); } generic T BaseComponent::GetComponent() { - return ECS::GetComponent(owner.GetNativeEntity()); + return ECS::GetComponent(owner.GetEntity()); } generic void BaseComponent::RemoveComponent() { - ECS::RemoveComponent(owner.GetNativeEntity()); + ECS::RemoveComponent(owner.GetEntity()); } /*---------------------------------------------------------------------------------*/ diff --git a/SHADE_Managed/src/Components/Component.hxx b/SHADE_Managed/src/Components/Component.hxx index 4f8e5bab..670e4e21 100644 --- a/SHADE_Managed/src/Components/Component.hxx +++ b/SHADE_Managed/src/Components/Component.hxx @@ -15,7 +15,7 @@ of DigiPen Institute of Technology is prohibited. #pragma once // External Dependencies -#include "Engine/ECS_Base/Components/SHComponent.h" +#include "ECS_Base/Components/SHComponent.h" // Project Includes #include "Engine/Entity.hxx" #include "Scripts/Script.hxx" @@ -71,34 +71,34 @@ namespace SHADE /* Script Access Functions */ /*-----------------------------------------------------------------------------*/ /// - /// Adds a PlushieScript of the specified type to this GameObject. + /// Adds a Script of the specified type to this GameObject. /// - /// Type of PlushieScript to add. - /// Reference to the created PlushieScript. - generic where T : ref class, PlushieScript + /// Type of Script to add. + /// Reference to the created Script. + generic where T : ref class, Script T AddScript(); /// - /// Retrieves a PlushieScript of the specified type from this GameObject. - /// If multiple PlushieScripts of the same specified type are added on the same + /// Retrieves a Script of the specified type from this GameObject. + /// If multiple Scripts of the same specified type are added on the same /// GameObject, this will retrieve the first one added. /// - /// Type of PlushieScript to add. - /// Reference to the PlushieScript to retrieve. - generic where T : ref class, PlushieScript + /// Type of Script to add. + /// Reference to the Script to retrieve. + generic where T : ref class, Script T GetScript(); /// - /// Retrieves a immutable list of PlushieScripts of the specified type from this + /// Retrieves a immutable list of Scripts of the specified type from this /// GameObject. /// - /// Type of PlushieScripts to Get. - /// Immutable list of PlushieScripts of the specified type. - generic where T : ref class, PlushieScript + /// Type of Scripts to Get. + /// Immutable list of Scripts of the specified type. + generic where T : ref class, Script System::Collections::Generic::IEnumerable^ GetScripts(); /// - /// Removes all PlushieScripts of the specified type from this GameObject. + /// Removes all Scripts of the specified type from this GameObject. /// /// Type of PLushieScripts to remove. - generic where T : ref class, PlushieScript + generic where T : ref class, Script void RemoveScript(); protected: diff --git a/SHADE_Managed/src/Engine/ECS.cxx b/SHADE_Managed/src/Engine/ECS.cxx index 5d63afc8..a6ea0b96 100644 --- a/SHADE_Managed/src/Engine/ECS.cxx +++ b/SHADE_Managed/src/Engine/ECS.cxx @@ -20,7 +20,7 @@ of DigiPen Institute of Technology is prohibited. #include #include // External Dependencies -#include "Engine/ECS_Base/System/SHEntityManager.h" +#include "ECS_Base/System/SHEntityManager.h" // Project Headers #include "Utility/Convert.hxx" #include "Utility/Debug.hxx" diff --git a/SHADE_Managed/src/Engine/ECS.h++ b/SHADE_Managed/src/Engine/ECS.h++ index b411c8bd..e5ede5f2 100644 --- a/SHADE_Managed/src/Engine/ECS.h++ +++ b/SHADE_Managed/src/Engine/ECS.h++ @@ -17,8 +17,8 @@ of DigiPen Institute of Technology is prohibited. // Primary Include #include "ECS.hxx" // External Dependencies -#include "Engine/ECS_Base/System/SHComponentManager.h" -#include "Engine/ECS_Base/System/SHEntityManager.h" +#include "ECS_Base/System/SHComponentManager.h" +#include "ECS_Base/System/SHEntityManager.h" namespace SHADE { diff --git a/SHADE_Managed/src/Engine/ECS.hxx b/SHADE_Managed/src/Engine/ECS.hxx index c0c95aff..72c88e11 100644 --- a/SHADE_Managed/src/Engine/ECS.hxx +++ b/SHADE_Managed/src/Engine/ECS.hxx @@ -15,7 +15,7 @@ of DigiPen Institute of Technology is prohibited. #pragma once // External Dependencies -#include "Engine/ECS_Base/System/SHComponentManager.h" +#include "ECS_Base/System/SHComponentManager.h" // Project Includes #include "Components/Component.hxx" diff --git a/SHADE_Managed/src/Engine/Entity.hxx b/SHADE_Managed/src/Engine/Entity.hxx index 525522c2..7be9340b 100644 --- a/SHADE_Managed/src/Engine/Entity.hxx +++ b/SHADE_Managed/src/Engine/Entity.hxx @@ -15,7 +15,7 @@ of DigiPen Institute of Technology is prohibited. #pragma once // External Dependencies -#include "Engine/ECS_Base/Entity/SHEntity.h" +#include "ECS_Base/Entity/SHEntity.h" namespace SHADE { diff --git a/SHADE_Managed/src/Engine/GameObject.cxx b/SHADE_Managed/src/Engine/GameObject.cxx index 3fe1c92f..de4c614e 100644 --- a/SHADE_Managed/src/Engine/GameObject.cxx +++ b/SHADE_Managed/src/Engine/GameObject.cxx @@ -16,8 +16,10 @@ of DigiPen Institute of Technology is prohibited. // Primary Header #include "GameObject.hxx" // External Dependencies -#include "Engine/ECS_Base/System/SHEntityManager.h" +#include "ECS_Base/System/SHEntityManager.h" // Project Headers +#include "ECS.hxx" +#include "Scripts/ScriptStore.hxx" namespace SHADE { @@ -74,36 +76,31 @@ namespace SHADE generic T GameObject::AddComponent() { - throw gcnew System::NotImplementedException(); - //return ECS::AddComponent(GetNativeEntity()); + return ECS::AddComponent(entity); } generic T GameObject::GetComponent() { - throw gcnew System::NotImplementedException(); - //return ECS::GetComponent(GetNativeEntity()); + return ECS::GetComponent(entity); } generic T GameObject::GetComponentInChildren() { - throw gcnew System::NotImplementedException(); - //return ECS::GetComponentInChildren(GetNativeEntity()); + return ECS::GetComponentInChildren(entity); } generic T GameObject::EnsureComponent() { - throw gcnew System::NotImplementedException(); - //return ECS::EnsureComponent(GetNativeEntity()); + return ECS::EnsureComponent(entity); } generic void GameObject::RemoveComponent() { - throw gcnew System::NotImplementedException(); - //ECS::RemoveComponent(GetNativeEntity()); + ECS::RemoveComponent(entity); } /*---------------------------------------------------------------------------------*/ @@ -112,36 +109,31 @@ namespace SHADE generic T GameObject::AddScript() { - throw gcnew System::NotImplementedException(); - //return ScriptStore::AddScript(entity); + return ScriptStore::AddScript(entity); } generic T GameObject::GetScript() { - throw gcnew System::NotImplementedException(); - //return ScriptStore::GetScript(entity); + return ScriptStore::GetScript(entity); } generic T GameObject::GetScriptInChildren() { - throw gcnew System::NotImplementedException(); - //return ScriptStore::GetScriptInChildren(entity); + return ScriptStore::GetScriptInChildren(entity); } generic System::Collections::Generic::IEnumerable^ GameObject::GetScripts() { - throw gcnew System::NotImplementedException(); - //return ScriptStore::GetScripts(entity); + return ScriptStore::GetScripts(entity); } generic void GameObject::RemoveScript() { - throw gcnew System::NotImplementedException(); - //ScriptStore::RemoveScript(entity); + ScriptStore::RemoveScript(entity); } /*---------------------------------------------------------------------------------*/ @@ -158,10 +150,13 @@ namespace SHADE /*---------------------------------------------------------------------------------*/ /* Getters */ /*---------------------------------------------------------------------------------*/ - SHEntity GameObject::GetNativeEntity() + SHEntity& GameObject::GetNativeEntity() { - throw gcnew System::NotImplementedException(); - //return Convert::ToNative(entity); + SHEntity* nativeEntity = SHEntityManager::GetEntityByID(entity); + if (nativeEntity == nullptr) + throw gcnew System::InvalidOperationException("[GameObject] Unable to obtain native Entity for GameObject."); + + return *nativeEntity; } /*---------------------------------------------------------------------------------*/ diff --git a/SHADE_Managed/src/Engine/GameObject.hxx b/SHADE_Managed/src/Engine/GameObject.hxx index 0b030354..780b2957 100644 --- a/SHADE_Managed/src/Engine/GameObject.hxx +++ b/SHADE_Managed/src/Engine/GameObject.hxx @@ -22,7 +22,7 @@ namespace SHADE /*---------------------------------------------------------------------------------*/ /* Forward Declarations */ /*---------------------------------------------------------------------------------*/ - ref class PlushieScript; + ref class Script; ref class BaseComponent; /*---------------------------------------------------------------------------------*/ @@ -158,43 +158,43 @@ namespace SHADE /* Script Access Functions */ /*-----------------------------------------------------------------------------*/ /// - /// Adds a PlushieScript of the specified type to this GameObject. + /// Adds a Script of the specified type to this GameObject. /// - /// Type of PlushieScript to add. - /// Reference to the created PlushieScript. - generic where T : ref class, PlushieScript + /// Type of Script to add. + /// Reference to the created Script. + generic where T : ref class, Script T AddScript(); /// - /// Retrieves a PlushieScript of the specified type from this GameObject. - /// If multiple PlushieScripts of the same specified type are added on the same + /// Retrieves a Script of the specified type from this GameObject. + /// If multiple Scripts of the same specified type are added on the same /// GameObject, this will retrieve the first one added. /// - /// Type of PlushieScript to retrieve. - /// Reference to the PlushieScript to retrieve. - generic where T : ref class, PlushieScript + /// Type of Script to retrieve. + /// Reference to the Script to retrieve. + generic where T : ref class, Script T GetScript(); /// - /// Retrieves a PlushieScript of the specified type from child GameObjects. - /// If multiple PlushieScripts of the same specified type are added on the same + /// Retrieves a Script of the specified type from child GameObjects. + /// If multiple Scripts of the same specified type are added on the same /// child GameObject, this will retrieve the first one added. /// - /// Type of PlushieScript to retrieve. - /// Reference to the PlushieScript to retrieve. - generic where T : ref class, PlushieScript + /// Type of Script to retrieve. + /// Reference to the Script to retrieve. + generic where T : ref class, Script T GetScriptInChildren(); /// - /// Retrieves a immutable list of PlushieScripts of the specified type from this + /// Retrieves a immutable list of Scripts of the specified type from this /// GameObject. /// - /// Type of PlushieScripts to retrieve. - /// Immutable list of PlushieScripts of the specified type. - generic where T : ref class, PlushieScript + /// Type of Scripts to retrieve. + /// Immutable list of Scripts of the specified type. + generic where T : ref class, Script System::Collections::Generic::IEnumerable^ GetScripts(); /// - /// Removes all PlushieScripts of the specified type from this GameObject. + /// Removes all Scripts of the specified type from this GameObject. /// /// Type of PLushieScripts to remove. - generic where T : ref class, PlushieScript + generic where T : ref class, Script void RemoveScript(); internal: @@ -229,7 +229,7 @@ namespace SHADE /// Retrieves the native Entity object that this GameObject represents. /// /// Native Entity object that this GameObject represents. - SHEntity GetNativeEntity(); + SHEntity& GetNativeEntity(); private: /*-----------------------------------------------------------------------------*/ diff --git a/SHADE_Managed/src/Scripts/ScriptStore.cxx b/SHADE_Managed/src/Scripts/ScriptStore.cxx index 54572559..8a574084 100644 --- a/SHADE_Managed/src/Scripts/ScriptStore.cxx +++ b/SHADE_Managed/src/Scripts/ScriptStore.cxx @@ -21,7 +21,6 @@ of DigiPen Institute of Technology is prohibited. // Project Headers #include "Utility/Debug.hxx" #include "Utility/Convert.hxx" -#include "Tools/SHLogger.h" #include "Script.hxx" #include "Engine/Entity.hxx" @@ -88,7 +87,7 @@ namespace SHADE oss << "[ScriptStore] No Script named " << Convert::ToNative(scriptName) << " found!"; - SHLOG_ERROR(oss.str()); + Debug::LogError(oss.str()); return false; } @@ -104,7 +103,7 @@ namespace SHADE std::ostringstream oss; oss << "[ScriptStore] Failed to add Script named \"" << Convert::ToNative(scriptName) << "\" to Entity #" << entity << "! (" << Convert::ToNative(e->GetType()->Name) << ")"; - SHLOG_ERROR(oss.str()); + Debug::LogError(oss.str()); return false; } return true; @@ -593,7 +592,7 @@ namespace SHADE /* Where */ bool predicateFunc(Pair^ pair) { - return pair->type->IsSubclassOf(PlushieScript::typeid) && !pair->type->IsAbstract; + return pair->type->IsSubclassOf(Script::typeid) && !pair->type->IsAbstract; } /* Select */ @@ -616,7 +615,7 @@ namespace SHADE Func^ resultSelector = gcnew Func(resultSelectorFunc); IEnumerable^ selectManyResult = Enumerable::SelectMany(assemblies, collectionSelector, resultSelector); - /* Where: Are concrete PlushieScripts */ + /* Where: Are concrete Scripts */ Func^ predicate = gcnew Func(predicateFunc); IEnumerable^ whereResult = Enumerable::Where(selectManyResult, predicate); @@ -628,7 +627,7 @@ namespace SHADE std::ostringstream oss; oss << "[ScriptStore] Successfully retrieved references to " << Enumerable::Count(scriptTypeList) << " Script(s) from currently loaded assemblies."; - SHLOG_INFO(oss.str()); + Debug::Log(oss.str()); } void ScriptStore::getGenericMethods() @@ -636,7 +635,7 @@ namespace SHADE addScriptMethod = ScriptStore::typeid->GetMethod("AddScript"); if (addScriptMethod == nullptr) { - SHLOG_ERROR("[ScriptStore] Failed to get MethodInfo of \"AddScript()\". Adding of scripts from native code will fail."); + Debug::LogError("[ScriptStore] Failed to get MethodInfo of \"AddScript()\". Adding of scripts from native code will fail."); } } diff --git a/SHADE_Managed/src/Utility/Convert.cxx b/SHADE_Managed/src/Utility/Convert.cxx index e9b0c732..2c0b7e65 100644 --- a/SHADE_Managed/src/Utility/Convert.cxx +++ b/SHADE_Managed/src/Utility/Convert.cxx @@ -25,10 +25,6 @@ namespace SHADE /*---------------------------------------------------------------------------------*/ /* ECS Conversions */ /*---------------------------------------------------------------------------------*/ - SHEntity Convert::ToNative(Entity rawId) - { - return *SHEntityManager::GetEntityByID(rawId); - } Entity Convert::ToCLI(SHEntity entity) { return static_cast(entity.GetEID()); diff --git a/SHADE_Managed/src/Utility/Convert.hxx b/SHADE_Managed/src/Utility/Convert.hxx index 1281ebb4..241e5863 100644 --- a/SHADE_Managed/src/Utility/Convert.hxx +++ b/SHADE_Managed/src/Utility/Convert.hxx @@ -15,7 +15,7 @@ of DigiPen Institute of Technology is prohibited. #pragma once // External Dependencies -#include "Engine/ECS_Base/Entity/SHEntity.h" +#include "ECS_Base/Entity/SHEntity.h" // Project Includes #include "Engine/Entity.hxx" @@ -37,12 +37,6 @@ namespace SHADE /* ECS Conversions */ /*-----------------------------------------------------------------------------*/ /// - /// Converts from a managed Entity (UInt32) to a native Entity. - /// - /// Raw ID of an Entity. - /// Native representation of the specified Entity. - static SHEntity ToNative(Entity rawId); - /// /// Converts from a native Entity to a managed Entity (UInt32). /// /// Native Entity to convert from. diff --git a/SHADE_Managed/src/Utility/Debug.cxx b/SHADE_Managed/src/Utility/Debug.cxx index bba0136f..e9234e94 100644 --- a/SHADE_Managed/src/Utility/Debug.cxx +++ b/SHADE_Managed/src/Utility/Debug.cxx @@ -22,6 +22,7 @@ of DigiPen Institute of Technology is prohibited. #include "Tools/SHLogger.h" // Project Headers #include "Convert.hxx" +#include "SHLog.h" namespace SHADE { @@ -30,11 +31,11 @@ namespace SHADE /*---------------------------------------------------------------------------------*/ void Debug::Log(const std::string& str) { - SHLOG_INFO(str); + SHLog::Info(str); } void Debug::Log(System::String^ str) { - SHLOG_INFO(Convert::ToNative(str)); + SHLog::Info(Convert::ToNative(str)); } void Debug::Log(System::String^ str, Object^ owner) @@ -49,15 +50,15 @@ namespace SHADE { std::ostringstream oss; oss << "[" << throwerName << "] " << Convert::ToNative(str); - SHLOG_INFO(oss.str()); + SHLog::Info(oss.str()); } void Debug::LogWarning(const std::string& str) { - SHLOG_WARNING(str); + SHLog::Warning(str); } void Debug::LogWarning(System::String^ str) { - SHLOG_WARNING(Convert::ToNative(str)); + SHLog::Warning(Convert::ToNative(str)); } void Debug::LogWarning(System::String^ str, Object^ thrower) { @@ -72,15 +73,15 @@ namespace SHADE { std::ostringstream oss; oss << "[" << throwerName << "] " << Convert::ToNative(str); - SHLOG_WARNING(oss.str()); + SHLog::Warning(oss.str()); } void Debug::LogError(const std::string& str) { - SHLOG_ERROR(str); + SHLog::Error(str); } void Debug::LogError(System::String^ str) { - SHLOG_ERROR(Convert::ToNative(str)); + SHLog::Error(Convert::ToNative(str)); } void Debug::LogError(System::String^ str, Object^ thrower) { @@ -90,7 +91,7 @@ namespace SHADE { std::ostringstream oss; oss << "[" << throwerName << "] -> " << Convert::ToNative(str); - SHLOG_ERROR(oss.str()); + SHLog::Error(oss.str()); } void Debug::LogError(System::String^ str, System::String^ throwerName) { @@ -113,12 +114,12 @@ namespace SHADE { std::ostringstream oss; oss << "[" << throwerName << "] Unhandled exception: " << Convert::ToNative(exception->ToString()); - SHLOG_ERROR(oss.str()); + SHLog::Error(oss.str()); } void Debug::LogExceptionNative(const std::exception& exception, const std::string& throwerName) { std::ostringstream oss; oss << "[" << throwerName << "] Unhandled exception: " << exception.what(); - SHLOG_ERROR(oss.str()); + SHLog::Error(oss.str()); } } From 23a599abe80ede12ae76429e810a18c39509b35c Mon Sep 17 00:00:00 2001 From: Xiao Qi Date: Tue, 13 Sep 2022 16:34:05 +0800 Subject: [PATCH 12/32] SP3-107 SP3-108 Initial port from 200 Removed unused classes Changing Event package for better ease of use --- SHADE_Engine/SHADE_Engine.vcxproj | 8 +- SHADE_Engine/SHADE_Engine.vcxproj.filters | 24 ++++ SHADE_Engine/src/Common/SHCommonTypes.h | 28 ++++ SHADE_Engine/src/Events/SHEvent.cpp | 49 +++++++ SHADE_Engine/src/Events/SHEvent.h | 45 +++++++ SHADE_Engine/src/Events/SHEventManager.cpp | 144 +++++++++++++++++++++ SHADE_Engine/src/Events/SHEventManager.h | 112 ++++++++++++++++ SHADE_Engine/src/Events/SHEventReceiver.h | 35 +++++ SHADE_Engine/src/SHpch.h | 3 + 9 files changed, 447 insertions(+), 1 deletion(-) create mode 100644 SHADE_Engine/src/Common/SHCommonTypes.h create mode 100644 SHADE_Engine/src/Events/SHEvent.cpp create mode 100644 SHADE_Engine/src/Events/SHEvent.h create mode 100644 SHADE_Engine/src/Events/SHEventManager.cpp create mode 100644 SHADE_Engine/src/Events/SHEventManager.h create mode 100644 SHADE_Engine/src/Events/SHEventReceiver.h diff --git a/SHADE_Engine/SHADE_Engine.vcxproj b/SHADE_Engine/SHADE_Engine.vcxproj index e54c82ec..8da6f80c 100644 --- a/SHADE_Engine/SHADE_Engine.vcxproj +++ b/SHADE_Engine/SHADE_Engine.vcxproj @@ -102,6 +102,7 @@ + @@ -116,6 +117,9 @@ + + + @@ -200,6 +204,8 @@ + + @@ -286,4 +292,4 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/SHADE_Engine/SHADE_Engine.vcxproj.filters b/SHADE_Engine/SHADE_Engine.vcxproj.filters index 7486fad4..f0d769f0 100644 --- a/SHADE_Engine/SHADE_Engine.vcxproj.filters +++ b/SHADE_Engine/SHADE_Engine.vcxproj.filters @@ -1,6 +1,9 @@ + + {8EEA3EAC-7A8C-6982-6347-7DD64F88F0D2} + {1AB26817-067F-C322-2F98-B1CA1BC4F8B0} @@ -19,6 +22,9 @@ {DBC7D3B0-C769-FE86-B024-12DB9C6585D7} + + {3A8963B1-262B-8E87-0FE6-A1DBFB2615D8} + {8A8E2B37-7646-6D84-DF4D-46E0CB240875} @@ -117,6 +123,9 @@ + + Common + ECS_Base\Components @@ -159,6 +168,15 @@ Engine + + Events + + + Events + + + Events + Filesystem @@ -405,6 +423,12 @@ Engine + + Events + + + Events + Filesystem diff --git a/SHADE_Engine/src/Common/SHCommonTypes.h b/SHADE_Engine/src/Common/SHCommonTypes.h new file mode 100644 index 00000000..97ef7928 --- /dev/null +++ b/SHADE_Engine/src/Common/SHCommonTypes.h @@ -0,0 +1,28 @@ +/************************************************************************************//*! +\file SHCommonTypes.h +\author Tng Kah Wei, kahwei.tng, 390009620 +\par email: kahwei.tng\@digipen.edu +\date Sep 8, 2022 +\brief Contains the definitions of type alias for commonly used units for + clarity and convenience. + + +Copyright (C) 2022 DigiPen Institute of Technology. +Reproduction or disclosure of this file or its contents without the prior written consent +of DigiPen Institute of Technology is prohibited. +*//*************************************************************************************/ +#pragma once + +namespace SHADE +{ + /*---------------------------------------------------------------------------------*/ + /* Type Definitions */ + /*---------------------------------------------------------------------------------*/ + /***********************************************************************************/ + /*! + \brief + Type used to mark a value that is supposed to represent a size in bytes. + */ + /***********************************************************************************/ + using Byte = size_t; +} diff --git a/SHADE_Engine/src/Events/SHEvent.cpp b/SHADE_Engine/src/Events/SHEvent.cpp new file mode 100644 index 00000000..4ac7c612 --- /dev/null +++ b/SHADE_Engine/src/Events/SHEvent.cpp @@ -0,0 +1,49 @@ +/****************************************************************************** + * \file SHEvent.cpp + * \author Loh Xiao Qi + * \brief Implementation of SHEvent.h Initialise data member of smart pointer + * to package data. Return the package pointer and package type + * accordingly. + * + * \copyright Copyright (c) 2021 Digipen Institute of Technology. Reproduction + * or disclosure of this file or its contents without the prior + * written consent of Digipen Institute of Technology is prohibited + ******************************************************************************/ +#include "SHpch.h" +#include "SHEvent.h" +#include + +namespace SHADE +{ + /**************************************************************************** + * \param PackagePtr - smart pointer to package data. + + * \brief Constructor for Event. User needs to dynamically allocate memory + * for package data and pass in the smart pointer so the data member + * can be initialised properly. + ****************************************************************************/ + SHEvent::SHEvent(PackagePtr pkg) + : package{ std::move(pkg) } + { + + } + + /**************************************************************************** + * \brief Get pointer to data package. + * + * \return Smart pointer to Package Base, needs to be cast to correct + * derived class. + ****************************************************************************/ + ConstPackagePtr& SHEvent::GetData() const + { + return package; + } + + /**************************************************************************** + * \brief Gets the type of package. + ****************************************************************************/ + SHPackageType SHEvent::GetType() const + { + return package->GetPackageType(); + } +} \ No newline at end of file diff --git a/SHADE_Engine/src/Events/SHEvent.h b/SHADE_Engine/src/Events/SHEvent.h new file mode 100644 index 00000000..fc128a17 --- /dev/null +++ b/SHADE_Engine/src/Events/SHEvent.h @@ -0,0 +1,45 @@ +/****************************************************************************** + * \file SHEventBase.h + * \author Loh Xiao Qi + * \brief Event base abstract class declaration + * + * \copyright Copyright (c) 2021 Digipen Institute of Technology. Reproduction + * or disclosure of this file or its contents without the prior written consent + * of Digipen Institute of Technology is prohibited. +******************************************************************************/ +#ifndef SH_EVENT_BASE_H +#define SH_EVENT_BASE_H + +namespace SHADE +{ + class SHEvent + { + public: + /**************************************************************************** + * \param PackagePtr - smart pointer to package data. + + * \brief Constructor for Event. User needs to dynamically allocate memory + * for package data and pass in the smart pointer so the data member + * can be initialised properly. + ****************************************************************************/ + SHEvent(PackagePtr); + + /**************************************************************************** + * \brief Get pointer to data package. + * + * \return Smart pointer to Package Base, needs to be cast to correct + * derived class. + ****************************************************************************/ + PackagePtr const& GetData() const; + + /**************************************************************************** + * \brief Gets the type of package. + ****************************************************************************/ + SHPackageType GetType() const; + private: + PackagePtr package; + }; +} + + +#endif // !SH_EVENT_BASE_H diff --git a/SHADE_Engine/src/Events/SHEventManager.cpp b/SHADE_Engine/src/Events/SHEventManager.cpp new file mode 100644 index 00000000..b1038da8 --- /dev/null +++ b/SHADE_Engine/src/Events/SHEventManager.cpp @@ -0,0 +1,144 @@ +/****************************************************************************** + * \file SHEventManager.cpp + * \author Loh Xiao Qi + * \brief Function Implmentations for SHEventManager + * + * \copyright Copyright (c) 2021 Digipen Institute of Technology. Reproduction + * or disclosure of this file or its contents without the prior + * written consent of Digipen Institute of Technology is prohibited + ******************************************************************************/ +#include "SHpch.h" +#include "SHEventManager.h" + +namespace SHADE +{ + SHEventManager* SHEventManager::instance; + + /**************************************************************************** + * \brief Ctor and Dtor. Dtor will delete instance of self stored at + * data member instance. + ****************************************************************************/ + SHEventManager::SHEventManager() + { + + } + + /**************************************************************************** + * \brief Exit function to terminate the manager properly and deallocate + * memory. + ****************************************************************************/ + void SHEventManager::Exit() + { + delete instance; + } + + /**************************************************************************** + * \brief Returns singleton instance of event manager in heap memory. If + * instance does not exist, one is created immediately. + ****************************************************************************/ + SHEventManager& SHEventManager::GetEventManagerInstance() + { + // Create instance of event manager and return + if (!instance) + { + instance = new SHEventManager(); + } + + return *instance; + } + + /**************************************************************************** + * \brief Returns function pointer to entry point for events. + ****************************************************************************/ + EventManagerListener SHEventManager::GetListenerFunction() + { + return &(instance->CatchEvent); + } + + /**************************************************************************** + * \param ListenerConstPtr - Const pointer to listener that sent event. + * \param EventType - Templated type for every type of event + + * \brief Receives event from the listeners. + ****************************************************************************/ + void SHEventManager::CatchEvent(SHEvent event) + { + + // Do something with the event + + instance->Broadcast(event); + } + + /**************************************************************************** + * \param ResponseFunction - function pointer from receiver to be passed + * into event manager to be called when events are broadcasted. + * \param SHPackageType - package type that corresponding subscriber is + * subscribing to. + + * \brief Links a function pointer from a subscriber to a particular + * package type + ****************************************************************************/ + void SHEventManager::SubscribeTo(SHPackageType pkgType, ReceiverPtr receiver) + { + SHEventManager::GetEventManagerInstance().RegisterReceiverToType(pkgType, receiver); + } + + void SHEventManager::StaticSubscribeTo(SHPackageType pkgType, ResponseFunction func) + { + SHEventManager::GetEventManagerInstance().RegisterStaticReceiverToType(pkgType, func); + } + + /**************************************************************************** + * \param ReceiverPtr - Pointer to receiver + * \param ListenerConstPtr - Const pointer to listener that receiver is + * subscribing to. + + * \brief Registers receiver as a subscriber to listener in the registry. + ****************************************************************************/ + void SHEventManager::RegisterReceiverToType( + SHPackageType pkgType, ReceiverPtr receiver) + { + if (packageReceiverRegistry.contains(pkgType)) + { + packageReceiverRegistry[pkgType].emplace_back(receiver); + } + else + { + packageReceiverRegistry.emplace(pkgType, std::vector{ receiver }); + } + } + + void SHEventManager::RegisterStaticReceiverToType(SHPackageType pkgType, ResponseFunction func) + { + if (staticPackageReceiverRegistry.contains(pkgType)) + { + staticPackageReceiverRegistry[pkgType].emplace_back(func); + } + else + { + staticPackageReceiverRegistry.emplace(pkgType, std::vector{ func }); + } + } + + /**************************************************************************** + * \param ListenerConstPtr - Const pointer to listener that sent event. + * \param EventType - Event data + + * \brief Broadcast event to all receivers that are subscribed to this + * listener. + ****************************************************************************/ + void SHEventManager::Broadcast(SHEvent const& event) + { + ResponseVec& receivers{ packageReceiverRegistry[event.GetType()] }; + for (auto& receiver : receivers) + { + receiver->Receive(event.GetData()); + } + + auto& funcs{ staticPackageReceiverRegistry[event.GetType()] }; + for (auto func : funcs) + { + func(event.GetData()); + } + } +} diff --git a/SHADE_Engine/src/Events/SHEventManager.h b/SHADE_Engine/src/Events/SHEventManager.h new file mode 100644 index 00000000..e8d499dc --- /dev/null +++ b/SHADE_Engine/src/Events/SHEventManager.h @@ -0,0 +1,112 @@ +/****************************************************************************** + * \file SHEventManager.h + * \author Loh Xiao Qi + * \brief Class declaration for event manager. + * + * \copyright Copyright (c) 2021 Digipen Institute of Technology. Reproduction + * or disclosure of this file or its contents without the prior written consent + * of Digipen Institute of Technology is prohibited. +******************************************************************************/ +#ifndef SH_EVENT_MANAGER_H +#define SH_EVENT_MANAGER_H + +#include "SHEvent.h" +#include "SHEventReceiver.h" +#include +#include +#include + +namespace SHADE +{ + using ResponseFunction = std::function; + using ReceiverPtr = std::shared_ptr; + using ResponseVec = std::vector; + using StaticResponseVec = std::vector; + + using EventManagerListener = std::function; + + class SHEventManager + { + public: + /**************************************************************************** + * \brief Ctor and Dtor. Dtor will delete instance of self stored at + * data member instance. + ****************************************************************************/ + SHEventManager(); + + /**************************************************************************** + * \brief Returns singleton instance of event manager in heap memory. If + * instance does not exist, one is created immediately. + ****************************************************************************/ + static SHEventManager& GetEventManagerInstance(); + + /**************************************************************************** + * \brief Returns function pointer to entry point for events. + ****************************************************************************/ + static EventManagerListener GetListenerFunction(); + + /**************************************************************************** + * \brief Exit function to terminate the manager properly and deallocate + * memory. + ****************************************************************************/ + static void Exit(); + + /**************************************************************************** + * \param ListenerConstPtr - Const pointer to listener that sent event. + * \param EventType - Templated type for every type of event + + * \brief Receives event from the listeners. + ****************************************************************************/ + static void CatchEvent(SHEvent); + + /**************************************************************************** + * \param ResponseFunction - function pointer from receiver to be passed + * into event manager to be called when events are broadcasted. + * \param SHPackageType - package type that corresponding subscriber is + * subscribing to. + + * \brief Links a function pointer from a subscriber to a particular + * package type + ****************************************************************************/ + void SubscribeTo(SHPackageType, ReceiverPtr); + + void StaticSubscribeTo(SHPackageType, ResponseFunction); + private: + // Singleton instance + static SHEventManager* instance; + + // Registry for broadcasters and subscribers + std::unordered_map< + SHPackageType, + ResponseVec> packageReceiverRegistry; + + // Registry for static broadcasters and subscribers + std::unordered_map< + SHPackageType, + StaticResponseVec> staticPackageReceiverRegistry; + + /**************************************************************************** + * \param ListenerConstPtr - Const pointer to listener that sent event. + * \param EventType - Event data + + * \brief Broadcast event to all receivers that are subscribed to this + * listener. + ****************************************************************************/ + void Broadcast(SHEvent const&); + + /**************************************************************************** + * \param ReceiverPtr - Pointer to receiver + * \param ListenerConstPtr - Const pointer to listener that receiver is + * subscribing to. + + * \brief Registers receiver as a subscriber to listener in the registry. + ****************************************************************************/ + void RegisterReceiverToType(SHPackageType, ReceiverPtr); + + void RegisterStaticReceiverToType(SHPackageType, ResponseFunction); + + }; + +} + +#endif // !SH_EVENTS_MANAGER_H diff --git a/SHADE_Engine/src/Events/SHEventReceiver.h b/SHADE_Engine/src/Events/SHEventReceiver.h new file mode 100644 index 00000000..387b8a97 --- /dev/null +++ b/SHADE_Engine/src/Events/SHEventReceiver.h @@ -0,0 +1,35 @@ +#ifndef SH_EVENT_RECEIVER_H +#define SH_EVENT_RECEIVER_H + +#include "SHEvent.h" + +namespace SHADE +{ + class SHEventReceiver + { + private: + public: + virtual void Receive(PackagePtr) = 0; + }; + + template + class SHEventReceiverSpec : public SHEventReceiver + { + private: + T* object; + void(T::*callback)(PackagePtr); + + public: + SHEventReceiverSpec(T* obj, void(T::*cb)(PackagePtr)) + :SHEventReceiver(), object{obj}, callback{ cb } + { + + } + + void Receive(PackagePtr evt) + { + (object->*callback)(evt); + } + }; +} +#endif // !SH_EVENT_RECEIVER_H diff --git a/SHADE_Engine/src/SHpch.h b/SHADE_Engine/src/SHpch.h index 0342eedb..43a832f3 100644 --- a/SHADE_Engine/src/SHpch.h +++ b/SHADE_Engine/src/SHpch.h @@ -30,3 +30,6 @@ #include #include #include +#include + +#include "Common/SHCommonTypes.h" From d643fe66b0b17beaebea32fe525f6953f1850c6a Mon Sep 17 00:00:00 2001 From: Kah Wei Date: Tue, 13 Sep 2022 17:16:36 +0800 Subject: [PATCH 13/32] Fixed errors in SHADE_Managed --- SHADE_Managed/src/Engine/ECS.cxx | 4 ++-- SHADE_Managed/src/Engine/Entity.cxx | 2 +- SHADE_Managed/src/Math/Vector2.hxx | 12 +++++++----- SHADE_Managed/src/Math/Vector3.hxx | 2 +- SHADE_Managed/src/Scripts/ScriptStore.cxx | 11 ++++++++++- SHADE_Managed/src/Scripts/ScriptStore.hxx | 2 +- SHADE_Managed/src/Utility/Convert.cxx | 2 +- 7 files changed, 23 insertions(+), 12 deletions(-) diff --git a/SHADE_Managed/src/Engine/ECS.cxx b/SHADE_Managed/src/Engine/ECS.cxx index a6ea0b96..5aceceee 100644 --- a/SHADE_Managed/src/Engine/ECS.cxx +++ b/SHADE_Managed/src/Engine/ECS.cxx @@ -244,8 +244,8 @@ namespace SHADE { using namespace System::Reflection; - array^ params = gcnew array{ Convert::ToCLI(entity) }; - return safe_cast(Activator::CreateInstance + array^ params = gcnew array{ static_cast(entity) }; + return safe_cast(System::Activator::CreateInstance ( T::typeid, BindingFlags::Instance | BindingFlags::NonPublic | BindingFlags::CreateInstance, diff --git a/SHADE_Managed/src/Engine/Entity.cxx b/SHADE_Managed/src/Engine/Entity.cxx index bd915c42..ba1a31c6 100644 --- a/SHADE_Managed/src/Engine/Entity.cxx +++ b/SHADE_Managed/src/Engine/Entity.cxx @@ -17,7 +17,7 @@ of DigiPen Institute of Technology is prohibited. // Primary Header #include "Entity.hxx" // External Dependencies -#include "Engine/ECS_Base/System/SHEntityManager.h" +#include "ECS_Base/System/SHEntityManager.h" namespace SHADE { diff --git a/SHADE_Managed/src/Math/Vector2.hxx b/SHADE_Managed/src/Math/Vector2.hxx index c52cdc72..c19828f4 100644 --- a/SHADE_Managed/src/Math/Vector2.hxx +++ b/SHADE_Managed/src/Math/Vector2.hxx @@ -16,13 +16,17 @@ of DigiPen Institute of Technology is prohibited. // Standard Libraries #include +// Undefine +#undef min +#undef max + namespace SHADE { /// /// CLR version of the the PlushieEngine's Vector2 class that represents a /// 2-Dimensional Vector. Designed to closely match Unity's Vector2 struct. /// - [StructLayout(LayoutKind::Sequential)] + [System::Runtime::InteropServices::StructLayout(System::Runtime::InteropServices::LayoutKind::Sequential)] public value struct Vector2 : public System::IEquatable { public: @@ -42,8 +46,7 @@ namespace SHADE /// Shorthand for writing Vector2(double.NegativeInfinity, /// double.NegativeInfinity). /// - static const Vector2 NegativeInfinity = Vector2(std::numeric_limits::lowest(), - std::numeric_limits::lowest()); + static const Vector2 NegativeInfinity = Vector2(std::numeric_limits::lowest(), std::numeric_limits::lowest()); /// /// Shorthand for writing Vector2(1, 1). /// @@ -52,8 +55,7 @@ namespace SHADE /// Shorthand for writing Vector2(double.PositiveInfinity, /// double.PositiveInfinity). /// - static const Vector2 PositiveInfinity = Vector2(std::numeric_limits::max(), - std::numeric_limits::max()); + static const Vector2 PositiveInfinity = Vector2(std::numeric_limits::max(), std::numeric_limits::max()); /// /// Shorthand for writing Vector2(1, 0). /// diff --git a/SHADE_Managed/src/Math/Vector3.hxx b/SHADE_Managed/src/Math/Vector3.hxx index ab05ddc9..fb2fe8fc 100644 --- a/SHADE_Managed/src/Math/Vector3.hxx +++ b/SHADE_Managed/src/Math/Vector3.hxx @@ -24,7 +24,7 @@ namespace SHADE /// CLR version of the the PlushieEngine's Vector3 class that represents a /// 3-Dimensional Vector. Designed to closely match Unity's Vector3 struct. /// - [StructLayout(LayoutKind::Sequential)] + [System::Runtime::InteropServices::StructLayout(System::Runtime::InteropServices::LayoutKind::Sequential)] public value struct Vector3 : public System::IEquatable { public: diff --git a/SHADE_Managed/src/Scripts/ScriptStore.cxx b/SHADE_Managed/src/Scripts/ScriptStore.cxx index 8a574084..79a75bda 100644 --- a/SHADE_Managed/src/Scripts/ScriptStore.cxx +++ b/SHADE_Managed/src/Scripts/ScriptStore.cxx @@ -18,6 +18,8 @@ of DigiPen Institute of Technology is prohibited. #include "ScriptStore.hxx" // Standard Libraries #include +// External Dependencies +#include "ECS_Base/System/SHEntityManager.h" // Project Headers #include "Utility/Debug.hxx" #include "Utility/Convert.hxx" @@ -658,7 +660,14 @@ namespace SHADE bool ScriptStore::isEntityActive(Entity entity) { + // Get native Entity + SHEntity* nativeEntity = SHEntityManager::GetEntityByID(entity); + + // Entity Validity Check + if (nativeEntity == nullptr) + throw gcnew System::InvalidOperationException("Attempted to get native Component to an invalid Entity."); + // Check active state - return Convert::ToNative(entity).isActive; + return nativeEntity->isActive; } } diff --git a/SHADE_Managed/src/Scripts/ScriptStore.hxx b/SHADE_Managed/src/Scripts/ScriptStore.hxx index 91c98ce9..798c4cb6 100644 --- a/SHADE_Managed/src/Scripts/ScriptStore.hxx +++ b/SHADE_Managed/src/Scripts/ScriptStore.hxx @@ -73,7 +73,7 @@ namespace SHADE /// True if successfully added. False otherwise with the error logged to the /// console. /// - static bool AddScriptViaNameWithRef(Entity entity, System::String^ scriptName, [Out] Script^% createdScript); + static bool AddScriptViaNameWithRef(Entity entity, System::String^ scriptName, [System::Runtime::InteropServices::Out] Script^% createdScript); /// /// Retrieves the first Script from the specified Entity that matches the /// specified type. diff --git a/SHADE_Managed/src/Utility/Convert.cxx b/SHADE_Managed/src/Utility/Convert.cxx index 2c0b7e65..8a8aff70 100644 --- a/SHADE_Managed/src/Utility/Convert.cxx +++ b/SHADE_Managed/src/Utility/Convert.cxx @@ -17,7 +17,7 @@ of DigiPen Institute of Technology is prohibited. // Primary Header #include "Convert.hxx" // External Dependencies -#include "Engine/ECS_Base/System//SHEntityManager.h" +#include "ECS_Base/System//SHEntityManager.h" #include namespace SHADE From 073cf902a93ee444465c079d21804c12efee2687 Mon Sep 17 00:00:00 2001 From: Kah Wei Date: Tue, 13 Sep 2022 18:37:05 +0800 Subject: [PATCH 14/32] Fixed warnings and errors in Vector2/3 and GameObject --- SHADE_Managed/src/Engine/GameObject.cxx | 4 ++-- SHADE_Managed/src/Engine/GameObject.hxx | 2 +- SHADE_Managed/src/Math/Vector2.cxx | 4 ++-- SHADE_Managed/src/Math/Vector2.hxx | 16 ++++++++-------- SHADE_Managed/src/Math/Vector3.cxx | 4 ++-- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/SHADE_Managed/src/Engine/GameObject.cxx b/SHADE_Managed/src/Engine/GameObject.cxx index de4c614e..da9343c4 100644 --- a/SHADE_Managed/src/Engine/GameObject.cxx +++ b/SHADE_Managed/src/Engine/GameObject.cxx @@ -139,8 +139,8 @@ namespace SHADE /*---------------------------------------------------------------------------------*/ /* Constructors */ /*---------------------------------------------------------------------------------*/ - GameObject::GameObject(EntityID entity) - : entity { entity } + GameObject::GameObject(const SHEntity& entity) + : entity { entity.GetEID() } {} GameObject::GameObject(Entity entity) diff --git a/SHADE_Managed/src/Engine/GameObject.hxx b/SHADE_Managed/src/Engine/GameObject.hxx index 780b2957..723d9cec 100644 --- a/SHADE_Managed/src/Engine/GameObject.hxx +++ b/SHADE_Managed/src/Engine/GameObject.hxx @@ -207,7 +207,7 @@ namespace SHADE /// /// The ECS Entity that this GameObject should represent. /// - GameObject(SHEntity entity); + GameObject(const SHEntity& entity); /// /// Constructor for the GameObject. /// diff --git a/SHADE_Managed/src/Math/Vector2.cxx b/SHADE_Managed/src/Math/Vector2.cxx index 276c6ea8..d12ec72a 100644 --- a/SHADE_Managed/src/Math/Vector2.cxx +++ b/SHADE_Managed/src/Math/Vector2.cxx @@ -204,11 +204,11 @@ namespace SHADE return target; // Calculate new position - const Vector2 DELTA = (target - current).GetNormalised() * maxDistanceDelta; + Vector2 DELTA = (target - current).GetNormalised() * maxDistanceDelta; Vector2 newPos = current + DELTA; // Check if check if is behind or ahead of target - const Vector2 DIFF = target - newPos; + Vector2 DIFF = target - newPos; if (Dot(DELTA, DIFF) < 0.0) { newPos = target; diff --git a/SHADE_Managed/src/Math/Vector2.hxx b/SHADE_Managed/src/Math/Vector2.hxx index c19828f4..fc01595d 100644 --- a/SHADE_Managed/src/Math/Vector2.hxx +++ b/SHADE_Managed/src/Math/Vector2.hxx @@ -37,37 +37,37 @@ namespace SHADE /// /// Shorthand for writing Vector2(0, -1). /// - static const Vector2 Down = Vector2(0.0, -1.0); + static Vector2 Down = Vector2(0.0, -1.0); /// /// Shorthand for writing Vector2(-1, 0). /// - static const Vector2 Left = Vector2(-1.0, 0.0); + static Vector2 Left = Vector2(-1.0, 0.0); /// /// Shorthand for writing Vector2(double.NegativeInfinity, /// double.NegativeInfinity). /// - static const Vector2 NegativeInfinity = Vector2(std::numeric_limits::lowest(), std::numeric_limits::lowest()); + static Vector2 NegativeInfinity = Vector2(std::numeric_limits::lowest(), std::numeric_limits::lowest()); /// /// Shorthand for writing Vector2(1, 1). /// - static const Vector2 One = Vector2(1.0, 1.0); + static Vector2 One = Vector2(1.0, 1.0); /// /// Shorthand for writing Vector2(double.PositiveInfinity, /// double.PositiveInfinity). /// - static const Vector2 PositiveInfinity = Vector2(std::numeric_limits::max(), std::numeric_limits::max()); + static Vector2 PositiveInfinity = Vector2(std::numeric_limits::max(), std::numeric_limits::max()); /// /// Shorthand for writing Vector2(1, 0). /// - static const Vector2 Right = Vector2(1.0, 0.0); + static Vector2 Right = Vector2(1.0, 0.0); /// /// Shorthand for writing Vector2(0, 1). /// - static const Vector2 Up = Vector2(0.0, 1.0); + static Vector2 Up = Vector2(0.0, 1.0); /// /// Shorthand for writing Vector2(0, 0). /// - static const Vector2 Zero = Vector2(0.0, 0.0); + static Vector2 Zero = Vector2(0.0, 0.0); #pragma endregion /*-----------------------------------------------------------------------------*/ diff --git a/SHADE_Managed/src/Math/Vector3.cxx b/SHADE_Managed/src/Math/Vector3.cxx index 4f8ea8b0..e8dc2c2f 100644 --- a/SHADE_Managed/src/Math/Vector3.cxx +++ b/SHADE_Managed/src/Math/Vector3.cxx @@ -201,11 +201,11 @@ namespace SHADE return target; // Calculate new position - const Vector3 DELTA = (target - current).GetNormalised() * maxDistanceDelta; + Vector3 DELTA = (target - current).GetNormalised() * maxDistanceDelta; Vector3 newPos = current + DELTA; // Check if check if is behind or ahead of target - const Vector3 DIFF = target - newPos; + Vector3 DIFF = target - newPos; if (Dot(DELTA, DIFF) < 0.0) { newPos = target; From 9c833da88a599852c1ad70cf4e3e0878a4b6dbeb Mon Sep 17 00:00:00 2001 From: Kah Wei Date: Tue, 13 Sep 2022 18:42:43 +0800 Subject: [PATCH 15/32] Added implementation for various GameObject functions --- SHADE_Managed/src/Engine/GameObject.cxx | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/SHADE_Managed/src/Engine/GameObject.cxx b/SHADE_Managed/src/Engine/GameObject.cxx index da9343c4..3896fac5 100644 --- a/SHADE_Managed/src/Engine/GameObject.cxx +++ b/SHADE_Managed/src/Engine/GameObject.cxx @@ -28,7 +28,7 @@ namespace SHADE /*---------------------------------------------------------------------------------*/ GameObject GameObject::Create() { - throw gcnew System::NotImplementedException(); + return GameObject(SHEntityManager::CreateEntity()); } void GameObject::Destroy(GameObject obj) @@ -47,11 +47,12 @@ namespace SHADE /*---------------------------------------------------------------------------------*/ System::String^ GameObject::Name::get() { - throw gcnew System::NotImplementedException(); + return Convert::ToCLI(GetNativeEntity().name); + } bool GameObject::IsActiveSelf::get() { - throw gcnew System::NotImplementedException(); + return GetNativeEntity().isActive; } bool GameObject::IsActiveInHierarchy::get() { @@ -63,11 +64,11 @@ namespace SHADE /*---------------------------------------------------------------------------------*/ void GameObject::SetName(System::String^ name) { - throw gcnew System::NotImplementedException(); + GetNativeEntity().name = Convert::ToNative(name); } void GameObject::SetActive(bool active) { - throw gcnew System::NotImplementedException(); + GetNativeEntity().isActive = active; } /*---------------------------------------------------------------------------------*/ From cfa12eb86515cabca60441dfaf6579c5089050f4 Mon Sep 17 00:00:00 2001 From: Kah Wei Date: Tue, 13 Sep 2022 20:28:34 +0800 Subject: [PATCH 16/32] Added NOMINMAX to SHADE_Managed --- SHADE_Managed/premake5.lua | 6 ++++++ SHADE_Managed/src/Math/Vector2.cxx | 3 --- SHADE_Managed/src/Math/Vector2.hxx | 4 ---- SHADE_Managed/src/Math/Vector3.cxx | 3 --- 4 files changed, 6 insertions(+), 10 deletions(-) diff --git a/SHADE_Managed/premake5.lua b/SHADE_Managed/premake5.lua index 835bea1a..b68fadb6 100644 --- a/SHADE_Managed/premake5.lua +++ b/SHADE_Managed/premake5.lua @@ -39,6 +39,12 @@ project "SHADE_Managed" "yaml-cpp", "imgui", "spdlog", + "SHADE_Engine" + } + + defines + { + "NOMINMAX" } flags diff --git a/SHADE_Managed/src/Math/Vector2.cxx b/SHADE_Managed/src/Math/Vector2.cxx index d12ec72a..d40e2323 100644 --- a/SHADE_Managed/src/Math/Vector2.cxx +++ b/SHADE_Managed/src/Math/Vector2.cxx @@ -20,9 +20,6 @@ of DigiPen Institute of Technology is prohibited. #include // Project Headers #include "Math.hxx" -// Undefinitions -#undef min -#undef max namespace SHADE { diff --git a/SHADE_Managed/src/Math/Vector2.hxx b/SHADE_Managed/src/Math/Vector2.hxx index fc01595d..26d4ae6a 100644 --- a/SHADE_Managed/src/Math/Vector2.hxx +++ b/SHADE_Managed/src/Math/Vector2.hxx @@ -16,10 +16,6 @@ of DigiPen Institute of Technology is prohibited. // Standard Libraries #include -// Undefine -#undef min -#undef max - namespace SHADE { /// diff --git a/SHADE_Managed/src/Math/Vector3.cxx b/SHADE_Managed/src/Math/Vector3.cxx index e8dc2c2f..26ff5a72 100644 --- a/SHADE_Managed/src/Math/Vector3.cxx +++ b/SHADE_Managed/src/Math/Vector3.cxx @@ -20,9 +20,6 @@ of DigiPen Institute of Technology is prohibited. #include // Project Headers #include "Math.hxx" -// Undefinitions -#undef min -#undef max namespace SHADE { From 0c28199acf2bc94fdf4e3f15f512df9fedaff3eb Mon Sep 17 00:00:00 2001 From: Kah Wei Date: Tue, 13 Sep 2022 20:30:32 +0800 Subject: [PATCH 17/32] Converted SHScriptEngine to static and replaced json references with yaml --- SHADE_Engine/src/Scripting/SHScriptEngine.cpp | 62 ++++++++------ SHADE_Engine/src/Scripting/SHScriptEngine.h | 85 +++++++++---------- SHADE_Managed/src/Scripts/ScriptStore.cxx | 8 +- SHADE_Managed/src/Scripts/ScriptStore.hxx | 8 +- 4 files changed, 79 insertions(+), 84 deletions(-) diff --git a/SHADE_Engine/src/Scripting/SHScriptEngine.cpp b/SHADE_Engine/src/Scripting/SHScriptEngine.cpp index d40605e4..6653284d 100644 --- a/SHADE_Engine/src/Scripting/SHScriptEngine.cpp +++ b/SHADE_Engine/src/Scripting/SHScriptEngine.cpp @@ -26,12 +26,25 @@ namespace SHADE /* Static Definitions */ /*--------------------------------------------------------------------------------*/ const std::string SHScriptEngine::DEFAULT_CSHARP_NAMESPACE = std::string(DEFAULT_CSHARP_LIB_NAME); - - /*---------------------------------------------------------------------------------*/ - /* Constructors/Destructors */ - /*---------------------------------------------------------------------------------*/ - SHScriptEngine::SHScriptEngine() - {} + SHDotNetRuntime SHScriptEngine::dotNet { false }; + SHScriptEngine::CsFuncPtr SHScriptEngine::csEngineInit = nullptr; + SHScriptEngine::CsFuncPtr SHScriptEngine::csEngineLoadScripts = nullptr; + SHScriptEngine::CsFuncPtr SHScriptEngine::csEngineUnloadScripts = nullptr; + SHScriptEngine::CsFuncPtr SHScriptEngine::csEngineReloadScripts = nullptr; + SHScriptEngine::CsFuncPtr SHScriptEngine::csEngineExit = nullptr; + SHScriptEngine::CsFuncPtr SHScriptEngine::csScriptsFrameSetUp = nullptr; + SHScriptEngine::CsFuncPtr SHScriptEngine::csScriptsExecuteFixedUpdate = nullptr; + SHScriptEngine::CsFuncPtr SHScriptEngine::csScriptsExecuteUpdate = nullptr; + SHScriptEngine::CsFuncPtr SHScriptEngine::csScriptsExecuteLateUpdate = nullptr; + SHScriptEngine::CsFuncPtr SHScriptEngine::csScriptsFrameCleanUp = nullptr; + SHScriptEngine::CsScriptManipFuncPtr SHScriptEngine::csScriptsAdd = nullptr; + SHScriptEngine::CsScriptBasicFuncPtr SHScriptEngine::csScriptsRemoveAll = nullptr; + SHScriptEngine::CsScriptOptionalFuncPtr SHScriptEngine::csScriptsRemoveAllImmediately = nullptr; + SHScriptEngine::CsScriptSerialiseFuncPtr SHScriptEngine::csScriptsSerialise = nullptr; + SHScriptEngine::CsScriptDeserialiseFuncPtr SHScriptEngine::csScriptDeserialise = nullptr; + SHScriptEngine::CsScriptSerialiseYamlFuncPtr SHScriptEngine::csScriptsSerialiseYaml = nullptr; + SHScriptEngine::CsScriptSerialiseYamlFuncPtr SHScriptEngine::csScriptDeserialiseYaml = nullptr; + SHScriptEngine::CsScriptEditorFuncPtr SHScriptEngine::csEditorRenderScripts = nullptr; /*---------------------------------------------------------------------------------*/ /* Lifecycle Functions */ @@ -85,11 +98,6 @@ namespace SHADE csScriptsExecuteFixedUpdate(); } - void SHScriptEngine::ExecuteOnTrigger() - { - csScriptsExecuteOnTrigger(); - } - void SHScriptEngine::Exit() { // Do not allow deinitialization if not initialised @@ -113,15 +121,15 @@ namespace SHADE /*---------------------------------------------------------------------------------*/ /* Script Manipulation Functions */ /*---------------------------------------------------------------------------------*/ - bool SHScriptEngine::AddScript(const SHEntity& entity, const std::string_view& scriptName) const + bool SHScriptEngine::AddScript(const SHEntity& entity, const std::string_view& scriptName) { return csScriptsAdd(entity.GetEID(), scriptName.data()); } - void SHScriptEngine::RemoveAllScripts(const SHEntity& entity) const + void SHScriptEngine::RemoveAllScripts(const SHEntity& entity) { csScriptsRemoveAll(entity.GetEID()); } - void SHScriptEngine::RemoveAllScriptsImmediately(const SHEntity& entity, bool callOnDestroy) const + void SHScriptEngine::RemoveAllScriptsImmediately(const SHEntity& entity, bool callOnDestroy) { csScriptsRemoveAllImmediately(entity.GetEID(), callOnDestroy); } @@ -129,7 +137,7 @@ namespace SHADE /*---------------------------------------------------------------------------------*/ /* Script Serialisation Functions */ /*---------------------------------------------------------------------------------*/ - std::string SHScriptEngine::SerialiseScripts(const SHEntity& entity) const + std::string SHScriptEngine::SerialiseScripts(const SHEntity& entity) { // Create buffer needed to store serialised script data constexpr int BUFFER_SIZE = 10240; @@ -154,7 +162,7 @@ namespace SHADE /*---------------------------------------------------------------------------------*/ /* Script Serialisation Functions */ /*---------------------------------------------------------------------------------*/ - void SHScriptEngine::DeserialiseScript(const SHEntity& entity, const std::string& yaml) const + void SHScriptEngine::DeserialiseScript(const SHEntity& entity, const std::string& yaml) { csScriptDeserialise(entity.GetEID(), yaml.c_str()); } @@ -162,7 +170,7 @@ namespace SHADE /*---------------------------------------------------------------------------------*/ /* Script Editor Functions */ /*---------------------------------------------------------------------------------*/ - void SHScriptEngine::RenderScriptsInInspector(const SHEntity& entity) const + void SHScriptEngine::RenderScriptsInInspector(const SHEntity& entity) { csEditorRenderScripts(entity.GetEID()); } @@ -312,12 +320,6 @@ namespace SHADE DEFAULT_CSHARP_NAMESPACE + ".ScriptStore", "FrameSetUp" ); - csScriptsExecuteOnTrigger = dotNet.GetFunctionPtr - ( - DEFAULT_CSHARP_LIB_NAME, - DEFAULT_CSHARP_NAMESPACE + ".ScriptStore", - "ExecuteOnTrigger" - ); csScriptsExecuteFixedUpdate = dotNet.GetFunctionPtr ( DEFAULT_CSHARP_LIB_NAME, @@ -360,17 +362,17 @@ namespace SHADE DEFAULT_CSHARP_NAMESPACE + ".ScriptStore", "RemoveAllScriptsImmediately" ); - csScriptsSerialise = dotNet.GetFunctionPtr + /*csScriptsSerialise = dotNet.GetFunctionPtr ( DEFAULT_CSHARP_LIB_NAME, DEFAULT_CSHARP_NAMESPACE + ".ScriptStore", "SerialiseScripts" ); - csScriptsSerialiseJson = dotNet.GetFunctionPtr + csScriptsSerialiseYaml = dotNet.GetFunctionPtr ( DEFAULT_CSHARP_LIB_NAME, DEFAULT_CSHARP_NAMESPACE + ".ScriptStore", - "SerialiseScriptsJson" + "SerialiseScriptsYaml" ); csScriptDeserialise = dotNet.GetFunctionPtr ( @@ -378,12 +380,18 @@ namespace SHADE DEFAULT_CSHARP_NAMESPACE + ".ScriptStore", "DeserialiseScript" ); + csScriptDeserialiseYaml = dotNet.GetFunctionPtr + ( + DEFAULT_CSHARP_LIB_NAME, + DEFAULT_CSHARP_NAMESPACE + ".ScriptStore", + "SerialiseScriptsYaml" + ); csEditorRenderScripts = dotNet.GetFunctionPtr ( DEFAULT_CSHARP_LIB_NAME, DEFAULT_CSHARP_NAMESPACE + ".Editor", "RenderScriptsInInspector" - ); + );*/ } void SHScriptEngine::dumpBuildLog(const std::string_view& buildLogPath) diff --git a/SHADE_Engine/src/Scripting/SHScriptEngine.h b/SHADE_Engine/src/Scripting/SHScriptEngine.h index 91533c0f..a375c864 100644 --- a/SHADE_Engine/src/Scripting/SHScriptEngine.h +++ b/SHADE_Engine/src/Scripting/SHScriptEngine.h @@ -29,13 +29,10 @@ namespace SHADE { public: /*-----------------------------------------------------------------------------*/ - /* Constructors & Destructors */ + /* Constructor */ /*-----------------------------------------------------------------------------*/ - /// - /// Default Constructor - /// - SHScriptEngine(); - + SHScriptEngine() = delete; + /*-----------------------------------------------------------------------------*/ /* Lifecycle Functions */ /*-----------------------------------------------------------------------------*/ @@ -43,38 +40,33 @@ namespace SHADE /// Initialises the DotNetRuntime and retrieves function pointers to all /// functions on the CLR used to interface with the engine. /// - void Init(); + static void Init(); /// /// Loads the managed script assembly. Ensure this is only called after /// UnloadScriptAssembly() has been called. /// - void UnloadScriptAssembly(); + static void UnloadScriptAssembly(); /// /// Unloads the managed script assembly. /// Take note that this will clear all existing scripts, ensure that the scene /// is saved before doing so. /// - void LoadScriptAssembly(); + static void LoadScriptAssembly(); /// /// Reloads the managed script assembly. /// Take note that this will clear all existing scripts, ensure that the scene /// is saved before doing so. /// - void ReloadScriptAssembly(); + static void ReloadScriptAssembly(); /// /// Executes the FixedUpdate()s of the PlushieScripts that are attached to /// Entities. /// - void ExecuteFixedUpdates(); - /// - /// Executes the OnTrigger() family of functions of the PlushieScripts that are - /// attached to Entities. - /// - void ExecuteOnTrigger(); + static void ExecuteFixedUpdates(); /// /// Shuts down the DotNetRuntime. /// - void Exit(); + static void Exit(); /*-----------------------------------------------------------------------------*/ /* Script Manipulation Functions */ @@ -91,14 +83,14 @@ namespace SHADE /// True if successfully added. False otherwise with the error logged to the /// console. /// - bool AddScript(const SHEntity& entity, const std::string_view& scriptName) const; + static bool AddScript(const SHEntity& entity, const std::string_view& scriptName); /// /// Removes all Scripts attached to the specified Entity. Does not do anything /// if the specified Entity is invalid or does not have any PlushieScripts /// attached. /// /// The entity to remove the scripts from. - void RemoveAllScripts(const SHEntity& entity) const; + static void RemoveAllScripts(const SHEntity& entity); /// /// Removes all Scripts attached to the specified Entity. Unlike /// RemoveAllScripts(), this removes all the scripts immediately. @@ -110,7 +102,7 @@ namespace SHADE /// Whether or not to call OnDestroy on the scripts. This is ignored if not in /// play mode. /// - void RemoveAllScriptsImmediately(const SHEntity& entity, bool callOnDestroy) const; + static void RemoveAllScriptsImmediately(const SHEntity& entity, bool callOnDestroy); /*-----------------------------------------------------------------------------*/ /* Script Serialisation Functions */ @@ -123,16 +115,16 @@ namespace SHADE /// /// String that represents the set of scripts attached to the specified Entity. /// - std::string SerialiseScripts(const SHEntity& entity) const; + static std::string SerialiseScripts(const SHEntity& entity); /// /// Loads the specified JSON string and creates a Script for the specified Entity /// based on the specified JSON string. /// /// The Entity to deserialise a Script on to. /// - /// The JSON string that represents the Script to load into the Entity. + /// The YAML string that represents the Script to load into the Entity. /// - void DeserialiseScript(const SHEntity& entity, const std::string& yaml) const; + static void DeserialiseScript(const SHEntity& entity, const std::string& yaml); /*-----------------------------------------------------------------------------*/ /* Script Editor Functions */ @@ -145,7 +137,7 @@ namespace SHADE /// rendering code. /// /// The Entity to render the PlushieScripts of. - void RenderScriptsInInspector(const SHEntity& entity) const; + static void RenderScriptsInInspector(const SHEntity& entity); /*-----------------------------------------------------------------------------*/ /* Static Utility Functions */ @@ -177,7 +169,7 @@ namespace SHADE using CsScriptOptionalFuncPtr = void(*)(EntityID, bool); using CsScriptSerialiseFuncPtr = bool(*)(EntityID, char*, int); using CsScriptDeserialiseFuncPtr = bool(*)(EntityID, const char*); - using CsScriptSerialiseJsonFuncPtr = bool(*)(EntityID, void*); + using CsScriptSerialiseYamlFuncPtr = bool(*)(EntityID, void*); using CsScriptEditorFuncPtr = void(*)(EntityID); /*-----------------------------------------------------------------------------*/ @@ -190,30 +182,29 @@ namespace SHADE /*-----------------------------------------------------------------------------*/ /* Data Members */ /*-----------------------------------------------------------------------------*/ - SHDotNetRuntime dotNet {false}; + static SHDotNetRuntime dotNet; // Function Pointers to CLR Code - // - Engine Init - CsFuncPtr csEngineInit = nullptr; - CsFuncPtr csEngineLoadScripts = nullptr; - CsFuncPtr csEngineUnloadScripts = nullptr; - CsFuncPtr csEngineReloadScripts = nullptr; - CsFuncPtr csEngineExit = nullptr; + // - Engine Lifecycle + static CsFuncPtr csEngineInit; + static CsFuncPtr csEngineLoadScripts; + static CsFuncPtr csEngineUnloadScripts; + static CsFuncPtr csEngineReloadScripts; + static CsFuncPtr csEngineExit; // - Scripts Store - CsFuncPtr csScriptsFrameSetUp = nullptr; - CsFuncPtr csScriptsExecuteOnTrigger = nullptr; - CsFuncPtr csScriptsExecuteFixedUpdate = nullptr; - CsFuncPtr csScriptsExecuteUpdate = nullptr; - CsFuncPtr csScriptsExecuteLateUpdate = nullptr; - CsFuncPtr csScriptsFrameCleanUp = nullptr; - CsScriptManipFuncPtr csScriptsAdd = nullptr; - CsScriptBasicFuncPtr csScriptsRemoveAll = nullptr; - CsScriptOptionalFuncPtr csScriptsRemoveAllImmediately = nullptr; - CsScriptSerialiseFuncPtr csScriptsSerialise = nullptr; - CsScriptDeserialiseFuncPtr csScriptDeserialise = nullptr; - CsScriptSerialiseJsonFuncPtr csScriptsSerialiseJson = nullptr; - CsScriptSerialiseJsonFuncPtr csScriptDeserialiseJson = nullptr; + static CsFuncPtr csScriptsFrameSetUp; + static CsFuncPtr csScriptsExecuteFixedUpdate; + static CsFuncPtr csScriptsExecuteUpdate; + static CsFuncPtr csScriptsExecuteLateUpdate; + static CsFuncPtr csScriptsFrameCleanUp; + static CsScriptManipFuncPtr csScriptsAdd; + static CsScriptBasicFuncPtr csScriptsRemoveAll; + static CsScriptOptionalFuncPtr csScriptsRemoveAllImmediately; + static CsScriptSerialiseFuncPtr csScriptsSerialise; + static CsScriptDeserialiseFuncPtr csScriptDeserialise; + static CsScriptSerialiseYamlFuncPtr csScriptsSerialiseYaml; + static CsScriptSerialiseYamlFuncPtr csScriptDeserialiseYaml; // - Editor - CsScriptEditorFuncPtr csEditorRenderScripts = nullptr; + static CsScriptEditorFuncPtr csEditorRenderScripts; // Delegates /*ECS::EntityEvent::Delegate onEntityCreate; ECS::EntityEvent::Delegate onEntityDestroy;*/ @@ -224,7 +215,7 @@ namespace SHADE /// /// Loads all the function pointers to CLR code that we need to execute. /// - void loadFunctions(); + static void loadFunctions(); /// /// Reads the file via the specified path that represents a build log of error /// and warning messages. diff --git a/SHADE_Managed/src/Scripts/ScriptStore.cxx b/SHADE_Managed/src/Scripts/ScriptStore.cxx index 79a75bda..9a9eff54 100644 --- a/SHADE_Managed/src/Scripts/ScriptStore.cxx +++ b/SHADE_Managed/src/Scripts/ScriptStore.cxx @@ -526,7 +526,7 @@ namespace SHADE return false; } - bool ScriptStore::DeserialiseScript(Entity entity, System::String^ json) + bool ScriptStore::DeserialiseScript(Entity entity, System::String^ yaml) { SAFE_NATIVE_CALL_BEGIN // Check if entity exists, otherwise nothing @@ -534,13 +534,13 @@ namespace SHADE return false; // Get the name of the script - const int FIRST_QUOTE = json->IndexOf('\"'); - const int FIRST_COLON = json->IndexOf(':'); + const int FIRST_QUOTE = yaml->IndexOf('\"'); + const int FIRST_COLON = yaml->IndexOf(':'); if (FIRST_QUOTE < 0 || FIRST_COLON < 0) // No script name, it's invalid return false; const int SCRIPT_NAME_START = FIRST_QUOTE + 1; const int SCRIPT_NAME_END = FIRST_COLON - 1; - System::String^ typeName = json->Substring(SCRIPT_NAME_START, SCRIPT_NAME_END - SCRIPT_NAME_START); + System::String^ typeName = yaml->Substring(SCRIPT_NAME_START, SCRIPT_NAME_END - SCRIPT_NAME_START); // Create the script Script^ script; diff --git a/SHADE_Managed/src/Scripts/ScriptStore.hxx b/SHADE_Managed/src/Scripts/ScriptStore.hxx index 798c4cb6..cc0c1db5 100644 --- a/SHADE_Managed/src/Scripts/ScriptStore.hxx +++ b/SHADE_Managed/src/Scripts/ScriptStore.hxx @@ -232,10 +232,6 @@ namespace SHADE /// Executes LateUpdate() for all scripts. /// static void ExecuteLateUpdate(); - /// - /// Executes OnTrigger functions for all scripts. - /// - static void ExecuteOnTrigger(); /*-----------------------------------------------------------------------------*/ /* Serialisation Functions */ @@ -268,11 +264,11 @@ namespace SHADE /// /// The Entity to attach the deserialised Scripts to. /// - /// + /// /// JSON string that describes the Script to serialise. /// /// - static bool DeserialiseScript(Entity entity, System::String^ json); + static bool DeserialiseScript(Entity entity, System::String^ yaml); private: /*-----------------------------------------------------------------------------*/ From 8e45b5895e578a9b2e236b37d54f6e7b9955c975 Mon Sep 17 00:00:00 2001 From: Kah Wei Date: Tue, 13 Sep 2022 20:31:08 +0800 Subject: [PATCH 18/32] Removed references to SHLogger in Debug.cxx --- SHADE_Managed/src/Utility/Debug.cxx | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/SHADE_Managed/src/Utility/Debug.cxx b/SHADE_Managed/src/Utility/Debug.cxx index e9234e94..330375b0 100644 --- a/SHADE_Managed/src/Utility/Debug.cxx +++ b/SHADE_Managed/src/Utility/Debug.cxx @@ -18,11 +18,8 @@ of DigiPen Institute of Technology is prohibited. #include "Debug.hxx" // Standard Libraries #include -// External Dependencies -#include "Tools/SHLogger.h" // Project Headers #include "Convert.hxx" -#include "SHLog.h" namespace SHADE { @@ -31,11 +28,11 @@ namespace SHADE /*---------------------------------------------------------------------------------*/ void Debug::Log(const std::string& str) { - SHLog::Info(str); + std::cout << str << std::endl; } void Debug::Log(System::String^ str) { - SHLog::Info(Convert::ToNative(str)); + System::Console::WriteLine(str); } void Debug::Log(System::String^ str, Object^ owner) @@ -50,15 +47,15 @@ namespace SHADE { std::ostringstream oss; oss << "[" << throwerName << "] " << Convert::ToNative(str); - SHLog::Info(oss.str()); + std::cout << oss.str() << std::endl; } void Debug::LogWarning(const std::string& str) { - SHLog::Warning(str); + std::cout << str << std::endl; } void Debug::LogWarning(System::String^ str) { - SHLog::Warning(Convert::ToNative(str)); + System::Console::WriteLine(str); } void Debug::LogWarning(System::String^ str, Object^ thrower) { @@ -73,15 +70,15 @@ namespace SHADE { std::ostringstream oss; oss << "[" << throwerName << "] " << Convert::ToNative(str); - SHLog::Warning(oss.str()); + std::cout << oss.str() << std::endl; } void Debug::LogError(const std::string& str) { - SHLog::Error(str); + std::cout << str << std::endl; } void Debug::LogError(System::String^ str) { - SHLog::Error(Convert::ToNative(str)); + System::Console::WriteLine(str); } void Debug::LogError(System::String^ str, Object^ thrower) { @@ -91,7 +88,7 @@ namespace SHADE { std::ostringstream oss; oss << "[" << throwerName << "] -> " << Convert::ToNative(str); - SHLog::Error(oss.str()); + std::cout << oss.str() << std::endl; } void Debug::LogError(System::String^ str, System::String^ throwerName) { @@ -114,12 +111,12 @@ namespace SHADE { std::ostringstream oss; oss << "[" << throwerName << "] Unhandled exception: " << Convert::ToNative(exception->ToString()); - SHLog::Error(oss.str()); + std::cout << oss.str() << std::endl; } void Debug::LogExceptionNative(const std::exception& exception, const std::string& throwerName) { std::ostringstream oss; oss << "[" << throwerName << "] Unhandled exception: " << exception.what(); - SHLog::Error(oss.str()); + std::cout << oss.str() << std::endl; } } From e67b90c6a8375d11eee4e753ed8809b917b62208 Mon Sep 17 00:00:00 2001 From: Kah Wei Date: Wed, 14 Sep 2022 20:07:13 +0800 Subject: [PATCH 19/32] Added calls to SHScriptEngine in SBApplication --- SHADE_Application/src/Application/SBApplication.cpp | 12 ++++++++---- SHADE_Engine/src/Scripting/SHScriptEngine.h | 3 ++- SHADE_Managed/premake5.lua | 2 -- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/SHADE_Application/src/Application/SBApplication.cpp b/SHADE_Application/src/Application/SBApplication.cpp index 0cb1ecd1..aa0f5a9b 100644 --- a/SHADE_Application/src/Application/SBApplication.cpp +++ b/SHADE_Application/src/Application/SBApplication.cpp @@ -6,12 +6,12 @@ #include "Scenes/SBEditorScene.h" #endif // SHEDITOR -#include "Tools/SHLogger.h" - #include #include #include +#include "Scripting/SHScriptEngine.h" + namespace Sandbox { bool paused = false; @@ -23,14 +23,15 @@ namespace Sandbox _In_ INT nCmdShow ) { - SHLOG_TITLE("Initialising SBApplication") - + window.Create(hInstance, hPrevInstance, lpCmdLine, nCmdShow); #ifdef SHEDITOR #else #endif + // Set up scripting + SHADE::SHScriptEngine::Init(); } void SBApplication::Update(void) @@ -47,6 +48,9 @@ namespace Sandbox void SBApplication::Exit(void) { + // Shutdown scripting + SHADE::SHScriptEngine::Exit(); + #ifdef SHEDITOR #else #endif diff --git a/SHADE_Engine/src/Scripting/SHScriptEngine.h b/SHADE_Engine/src/Scripting/SHScriptEngine.h index a375c864..5114125c 100644 --- a/SHADE_Engine/src/Scripting/SHScriptEngine.h +++ b/SHADE_Engine/src/Scripting/SHScriptEngine.h @@ -18,6 +18,7 @@ of DigiPen Institute of Technology is prohibited. #include "SHDotNetRuntime.h" #include "ECS_Base/SHECSMacros.h" #include "ECS_Base/Entity/SHEntity.h" +#include "SH_API.h" namespace SHADE { @@ -25,7 +26,7 @@ namespace SHADE /// Manages initialisation of the DotNetRuntime and interfacing with CLR code written /// and executed on .NET. /// - class SHScriptEngine + class SH_API SHScriptEngine { public: /*-----------------------------------------------------------------------------*/ diff --git a/SHADE_Managed/premake5.lua b/SHADE_Managed/premake5.lua index b68fadb6..0cbf0288 100644 --- a/SHADE_Managed/premake5.lua +++ b/SHADE_Managed/premake5.lua @@ -38,7 +38,6 @@ project "SHADE_Managed" { "yaml-cpp", "imgui", - "spdlog", "SHADE_Engine" } @@ -56,7 +55,6 @@ project "SHADE_Managed" { "yaml-cpp", "imgui", - "spdlog", "SHADE_Engine" } From 95c3609d211551e1a963fca438f9dcd64ee6d3be Mon Sep 17 00:00:00 2001 From: Kah Wei Date: Wed, 14 Sep 2022 20:26:31 +0800 Subject: [PATCH 20/32] Removed all references to Plushie --- SHADE_Engine/src/Scripting/SHDotNetRuntime.h | 2 +- SHADE_Engine/src/Scripting/SHScriptEngine.cpp | 12 ++++++------ SHADE_Engine/src/Scripting/SHScriptEngine.h | 14 +++++++------- SHADE_Engine/src/Tools/SHStringUtils.cpp | 2 +- SHADE_Engine/src/Tools/SHStringUtils.h | 2 +- SHADE_Engine/src/Tools/SHStringUtils.hpp | 2 +- 6 files changed, 17 insertions(+), 17 deletions(-) diff --git a/SHADE_Engine/src/Scripting/SHDotNetRuntime.h b/SHADE_Engine/src/Scripting/SHDotNetRuntime.h index 22f8d9c7..2eb69788 100644 --- a/SHADE_Engine/src/Scripting/SHDotNetRuntime.h +++ b/SHADE_Engine/src/Scripting/SHDotNetRuntime.h @@ -144,6 +144,6 @@ namespace SHADE static std::string buildTpaList(const std::string& directory); static void throwIfFailed(const std::string& errMsg, int resultCode); }; -} // namespace PlushieEngine::Scripts +} #include "SHDotNetRuntime.hpp" diff --git a/SHADE_Engine/src/Scripting/SHScriptEngine.cpp b/SHADE_Engine/src/Scripting/SHScriptEngine.cpp index 6653284d..682841cd 100644 --- a/SHADE_Engine/src/Scripting/SHScriptEngine.cpp +++ b/SHADE_Engine/src/Scripting/SHScriptEngine.cpp @@ -25,7 +25,7 @@ namespace SHADE /*--------------------------------------------------------------------------------*/ /* Static Definitions */ /*--------------------------------------------------------------------------------*/ - const std::string SHScriptEngine::DEFAULT_CSHARP_NAMESPACE = std::string(DEFAULT_CSHARP_LIB_NAME); + const std::string SHScriptEngine::DEFAULT_CSHARP_NAMESPACE = std::string("SHADE"); SHDotNetRuntime SHScriptEngine::dotNet { false }; SHScriptEngine::CsFuncPtr SHScriptEngine::csEngineInit = nullptr; SHScriptEngine::CsFuncPtr SHScriptEngine::csEngineLoadScripts = nullptr; @@ -185,7 +185,7 @@ namespace SHADE // Prepare directory (delete useless files) deleteFolder("net5.0"); deleteFolder("ref"); - deleteFolder("../PlushieGameManaged"); + deleteFolder("../SHADE_Scripting"); deleteFolder("../obj"); // Attempt to build the assembly @@ -196,12 +196,12 @@ namespace SHADE const bool BUILD_SUCCESS = execProcess ( L"C:\\Windows\\system32\\cmd.exe", - L"/K \"dotnet build \"../PlushieGameManaged.csproj\" -c Debug -o \"./tmp/\" -fl -flp:LogFile=build.log;Verbosity=quiet & exit\"" + L"/K \"dotnet build \"../SHADE_Scripting.csproj\" -c Debug -o \"./tmp/\" -fl -flp:LogFile=build.log;Verbosity=quiet & exit\"" ) == 0; if (BUILD_SUCCESS) { // Copy to built dll to the working directory and replace - std::filesystem::copy_file("./tmp/PlushieGameManaged.dll", "PlushieGameManaged.dll", std::filesystem::copy_options::overwrite_existing); + std::filesystem::copy_file("./tmp/SHADE_Managed.dll", "SHADE_Managed.dll", std::filesystem::copy_options::overwrite_existing); oss << "[ScriptEngine] Successfully built Managed Script Assembly (" << MANAGED_SCRIPT_LIB_NAME << ")!"; SHLOG_INFO(oss.str()); @@ -256,8 +256,8 @@ namespace SHADE \n\ \n\ \n\ - \n\ - .\\bin\\PlushieAPI.dll\n\ + \n\ + .\\bin\\SHADE_Managed.dll\n\ \n\ \n\ "; diff --git a/SHADE_Engine/src/Scripting/SHScriptEngine.h b/SHADE_Engine/src/Scripting/SHScriptEngine.h index 5114125c..442c0053 100644 --- a/SHADE_Engine/src/Scripting/SHScriptEngine.h +++ b/SHADE_Engine/src/Scripting/SHScriptEngine.h @@ -60,7 +60,7 @@ namespace SHADE /// static void ReloadScriptAssembly(); /// - /// Executes the FixedUpdate()s of the PlushieScripts that are attached to + /// Executes the FixedUpdate()s of the Scripts that are attached to /// Entities. /// static void ExecuteFixedUpdates(); @@ -76,7 +76,7 @@ namespace SHADE /// Adds a Script to a specified Entity. Note that while you can call this /// multiple times on a specified Entity, it will work for all intents and /// purposes but GetScript<T>() (C# only) currently only - /// gives you the first PlushieScript added of the specified type. + /// gives you the first Script added of the specified type. /// /// The entity to add a script to. /// Type name of the script to add. @@ -87,7 +87,7 @@ namespace SHADE static bool AddScript(const SHEntity& entity, const std::string_view& scriptName); /// /// Removes all Scripts attached to the specified Entity. Does not do anything - /// if the specified Entity is invalid or does not have any PlushieScripts + /// if the specified Entity is invalid or does not have any Scripts /// attached. /// /// The entity to remove the scripts from. @@ -96,7 +96,7 @@ namespace SHADE /// Removes all Scripts attached to the specified Entity. Unlike /// RemoveAllScripts(), this removes all the scripts immediately. /// Does not do anything if the specified Entity is invalid or does not have any - /// PlushieScripts attached. + /// Scripts attached. /// /// The entity to remove the scripts from. /// @@ -131,13 +131,13 @@ namespace SHADE /* Script Editor Functions */ /*-----------------------------------------------------------------------------*/ /// - /// Renders the set of attached PlushieScripts for the specified Entity into the + /// Renders the set of attached Scripts for the specified Entity into the /// inspector. ///
    /// This function is meant for consumption from native code in the inspector /// rendering code. ///
    - /// The Entity to render the PlushieScripts of. + /// The Entity to render the Scripts of. static void RenderScriptsInInspector(const SHEntity& entity); /*-----------------------------------------------------------------------------*/ @@ -145,7 +145,7 @@ namespace SHADE /*-----------------------------------------------------------------------------*/ /// /// Utilises execution of a external batch file for invoking the dotnet build - /// tool to compile C# scripts in the Assets folder into the PlushieGameManaged + /// tool to compile C# scripts in the Assets folder into the SHADE_Scripting /// C# assembly DLL. /// /// diff --git a/SHADE_Engine/src/Tools/SHStringUtils.cpp b/SHADE_Engine/src/Tools/SHStringUtils.cpp index a8dc4a0c..a2594888 100644 --- a/SHADE_Engine/src/Tools/SHStringUtils.cpp +++ b/SHADE_Engine/src/Tools/SHStringUtils.cpp @@ -49,4 +49,4 @@ namespace SHADE return std::system_category().message(errorCode); } -} // namespace PlushieEngine \ No newline at end of file +} \ No newline at end of file diff --git a/SHADE_Engine/src/Tools/SHStringUtils.h b/SHADE_Engine/src/Tools/SHStringUtils.h index abfe9146..1c895b99 100644 --- a/SHADE_Engine/src/Tools/SHStringUtils.h +++ b/SHADE_Engine/src/Tools/SHStringUtils.h @@ -76,6 +76,6 @@ namespace SHADE /*-------------------------------------------------------------------------------*/ SHStringUtils() = delete; }; -} // namespace PlushieEngine +} #include "SHStringUtils.hpp" diff --git a/SHADE_Engine/src/Tools/SHStringUtils.hpp b/SHADE_Engine/src/Tools/SHStringUtils.hpp index 5b4caecb..8b83187a 100644 --- a/SHADE_Engine/src/Tools/SHStringUtils.hpp +++ b/SHADE_Engine/src/Tools/SHStringUtils.hpp @@ -43,4 +43,4 @@ namespace SHADE return results; } -} // namespace PlushieEngine \ No newline at end of file +} \ No newline at end of file From 57393ad7e48be9effeece77ebf27bf712b6c9613 Mon Sep 17 00:00:00 2001 From: Kah Wei Date: Wed, 14 Sep 2022 20:29:40 +0800 Subject: [PATCH 21/32] Updated projects to use .NET 6.0 --- SHADE_Engine/src/Scripting/SHDotNetRuntime.cpp | 4 ++-- SHADE_Engine/src/Scripting/SHScriptEngine.cpp | 4 ++-- SHADE_Managed/premake5.lua | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/SHADE_Engine/src/Scripting/SHDotNetRuntime.cpp b/SHADE_Engine/src/Scripting/SHDotNetRuntime.cpp index 6226949e..89603524 100644 --- a/SHADE_Engine/src/Scripting/SHDotNetRuntime.cpp +++ b/SHADE_Engine/src/Scripting/SHDotNetRuntime.cpp @@ -126,7 +126,7 @@ namespace SHADE throwIfFailed("[DotNetRuntime] Failed to initialize CoreCLR.", result); initialised = true; - SHLOG_INFO("[DotNetRuntime] Successfully loaded the .NET 5.0 Runtime."); + SHLOG_INFO("[DotNetRuntime] Successfully loaded the .NET 6.0 Runtime."); } void SHDotNetRuntime::Exit() @@ -144,7 +144,7 @@ namespace SHADE domainId = 0; initialised = false; - SHLOG_INFO("[DotNetRuntime] Successfully shut down the .NET 5.0 Runtime."); + SHLOG_INFO("[DotNetRuntime] Successfully shut down the .NET 6.0 Runtime."); } /*---------------------------------------------------------------------------------*/ diff --git a/SHADE_Engine/src/Scripting/SHScriptEngine.cpp b/SHADE_Engine/src/Scripting/SHScriptEngine.cpp index 682841cd..cb8f24c9 100644 --- a/SHADE_Engine/src/Scripting/SHScriptEngine.cpp +++ b/SHADE_Engine/src/Scripting/SHScriptEngine.cpp @@ -183,7 +183,7 @@ namespace SHADE constexpr std::string_view BUILD_LOG_PATH = "../Build.log"; // Prepare directory (delete useless files) - deleteFolder("net5.0"); + deleteFolder("net6.0"); deleteFolder("ref"); deleteFolder("../SHADE_Scripting"); deleteFolder("../obj"); @@ -229,7 +229,7 @@ namespace SHADE static std::string_view FILE_CONTENTS = "\n\ \n\ - net5.0\n\ + net6.0\n\ x64\n\ Release;Debug\n\ \n\ diff --git a/SHADE_Managed/premake5.lua b/SHADE_Managed/premake5.lua index 0cbf0288..4651e68e 100644 --- a/SHADE_Managed/premake5.lua +++ b/SHADE_Managed/premake5.lua @@ -2,7 +2,7 @@ project "SHADE_Managed" kind "SharedLib" language "C++" clr "NetCore" - dotnetframework "net5.0" + dotnetframework "net6.0" cppdialect "C++17" targetdir ("bin/" .. outputdir .. "/%{prj.name}") objdir ("bin-int/" .. outputdir .. "/%{prj.name}") From a3b166001342bb6c93ddf474ffcf5d2786b845aa Mon Sep 17 00:00:00 2001 From: Xiao Qi Date: Thu, 15 Sep 2022 01:46:11 +0800 Subject: [PATCH 22/32] SP3-108 Removed old event register method added new events define --- SHADE_Engine/SHADE_Engine.vcxproj | 4 +- SHADE_Engine/SHADE_Engine.vcxproj.filters | 4 +- SHADE_Engine/src/Events/SHEvent.cpp | 49 ---------------------- SHADE_Engine/src/Events/SHEvent.h | 43 +++++-------------- SHADE_Engine/src/Events/SHEventDefines.h | 10 +++++ SHADE_Engine/src/Events/SHEventManager.cpp | 49 +++++++++++----------- SHADE_Engine/src/Events/SHEventManager.h | 23 ++++------ SHADE_Engine/src/Events/SHEventReceiver.h | 10 ++--- 8 files changed, 61 insertions(+), 131 deletions(-) delete mode 100644 SHADE_Engine/src/Events/SHEvent.cpp create mode 100644 SHADE_Engine/src/Events/SHEventDefines.h diff --git a/SHADE_Engine/SHADE_Engine.vcxproj b/SHADE_Engine/SHADE_Engine.vcxproj index 8da6f80c..9d619853 100644 --- a/SHADE_Engine/SHADE_Engine.vcxproj +++ b/SHADE_Engine/SHADE_Engine.vcxproj @@ -118,6 +118,7 @@ + @@ -204,7 +205,6 @@ - @@ -292,4 +292,4 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/SHADE_Engine/SHADE_Engine.vcxproj.filters b/SHADE_Engine/SHADE_Engine.vcxproj.filters index f0d769f0..3cfa1b29 100644 --- a/SHADE_Engine/SHADE_Engine.vcxproj.filters +++ b/SHADE_Engine/SHADE_Engine.vcxproj.filters @@ -400,6 +400,7 @@ Tools +
    @@ -423,9 +424,6 @@ Engine - - Events - Events diff --git a/SHADE_Engine/src/Events/SHEvent.cpp b/SHADE_Engine/src/Events/SHEvent.cpp deleted file mode 100644 index 4ac7c612..00000000 --- a/SHADE_Engine/src/Events/SHEvent.cpp +++ /dev/null @@ -1,49 +0,0 @@ -/****************************************************************************** - * \file SHEvent.cpp - * \author Loh Xiao Qi - * \brief Implementation of SHEvent.h Initialise data member of smart pointer - * to package data. Return the package pointer and package type - * accordingly. - * - * \copyright Copyright (c) 2021 Digipen Institute of Technology. Reproduction - * or disclosure of this file or its contents without the prior - * written consent of Digipen Institute of Technology is prohibited - ******************************************************************************/ -#include "SHpch.h" -#include "SHEvent.h" -#include - -namespace SHADE -{ - /**************************************************************************** - * \param PackagePtr - smart pointer to package data. - - * \brief Constructor for Event. User needs to dynamically allocate memory - * for package data and pass in the smart pointer so the data member - * can be initialised properly. - ****************************************************************************/ - SHEvent::SHEvent(PackagePtr pkg) - : package{ std::move(pkg) } - { - - } - - /**************************************************************************** - * \brief Get pointer to data package. - * - * \return Smart pointer to Package Base, needs to be cast to correct - * derived class. - ****************************************************************************/ - ConstPackagePtr& SHEvent::GetData() const - { - return package; - } - - /**************************************************************************** - * \brief Gets the type of package. - ****************************************************************************/ - SHPackageType SHEvent::GetType() const - { - return package->GetPackageType(); - } -} \ No newline at end of file diff --git a/SHADE_Engine/src/Events/SHEvent.h b/SHADE_Engine/src/Events/SHEvent.h index fc128a17..c6d5c97b 100644 --- a/SHADE_Engine/src/Events/SHEvent.h +++ b/SHADE_Engine/src/Events/SHEvent.h @@ -1,45 +1,22 @@ /****************************************************************************** - * \file SHEventBase.h + * \file SHEvent.h * \author Loh Xiao Qi - * \brief Event base abstract class declaration + * \brief Event class declaration * - * \copyright Copyright (c) 2021 Digipen Institute of Technology. Reproduction + * \copyright Copyright (c) 2022 Digipen Institute of Technology. Reproduction * or disclosure of this file or its contents without the prior written consent * of Digipen Institute of Technology is prohibited. ******************************************************************************/ -#ifndef SH_EVENT_BASE_H -#define SH_EVENT_BASE_H +#pragma once + +#include "SHEventDefines.h" namespace SHADE { - class SHEvent + struct SHEvent { - public: - /**************************************************************************** - * \param PackagePtr - smart pointer to package data. - - * \brief Constructor for Event. User needs to dynamically allocate memory - * for package data and pass in the smart pointer so the data member - * can be initialised properly. - ****************************************************************************/ - SHEvent(PackagePtr); - - /**************************************************************************** - * \brief Get pointer to data package. - * - * \return Smart pointer to Package Base, needs to be cast to correct - * derived class. - ****************************************************************************/ - PackagePtr const& GetData() const; - - /**************************************************************************** - * \brief Gets the type of package. - ****************************************************************************/ - SHPackageType GetType() const; - private: - PackagePtr package; + SHEventIdentifier type; + SHEventDataPtr data; + SHEventHandle handle; }; } - - -#endif // !SH_EVENT_BASE_H diff --git a/SHADE_Engine/src/Events/SHEventDefines.h b/SHADE_Engine/src/Events/SHEventDefines.h new file mode 100644 index 00000000..4087caa0 --- /dev/null +++ b/SHADE_Engine/src/Events/SHEventDefines.h @@ -0,0 +1,10 @@ +#pragma once +#include "SHpch.h" + +typedef uint32_t SHEventIdentifier; +typedef uint32_t SHEventHandle; +typedef void* SHEventDataPtr; + +//Add your event identifiers here: + +constexpr SHEventIdentifier SH_EXAMPLE_EVENT{0}; \ No newline at end of file diff --git a/SHADE_Engine/src/Events/SHEventManager.cpp b/SHADE_Engine/src/Events/SHEventManager.cpp index b1038da8..7798c944 100644 --- a/SHADE_Engine/src/Events/SHEventManager.cpp +++ b/SHADE_Engine/src/Events/SHEventManager.cpp @@ -72,20 +72,33 @@ namespace SHADE /**************************************************************************** * \param ResponseFunction - function pointer from receiver to be passed * into event manager to be called when events are broadcasted. - * \param SHPackageType - package type that corresponding subscriber is + * \param SHEventIdentifier - package type that corresponding subscriber is * subscribing to. * \brief Links a function pointer from a subscriber to a particular * package type ****************************************************************************/ - void SHEventManager::SubscribeTo(SHPackageType pkgType, ReceiverPtr receiver) + void SHEventManager::SubscribeTo(SHEventIdentifier pkgType, ReceiverPtr receiver) { SHEventManager::GetEventManagerInstance().RegisterReceiverToType(pkgType, receiver); } - void SHEventManager::StaticSubscribeTo(SHPackageType pkgType, ResponseFunction func) + template + T* SHEventManager::BroadcastData(T data, SHEventIdentifier eventType) { - SHEventManager::GetEventManagerInstance().RegisterStaticReceiverToType(pkgType, func); + SHEventDataPtr ptr = new std::byte[sizeof(data)]; + + std::memcpy(ptr, &data, sizeof(data)); + + CatchEvent( + { + eventType, + ptr, + handleCounter++ + } + ); + + return reinterpret_cast(ptr); } /**************************************************************************** @@ -96,7 +109,7 @@ namespace SHADE * \brief Registers receiver as a subscriber to listener in the registry. ****************************************************************************/ void SHEventManager::RegisterReceiverToType( - SHPackageType pkgType, ReceiverPtr receiver) + SHEventIdentifier pkgType, ReceiverPtr receiver) { if (packageReceiverRegistry.contains(pkgType)) { @@ -108,18 +121,6 @@ namespace SHADE } } - void SHEventManager::RegisterStaticReceiverToType(SHPackageType pkgType, ResponseFunction func) - { - if (staticPackageReceiverRegistry.contains(pkgType)) - { - staticPackageReceiverRegistry[pkgType].emplace_back(func); - } - else - { - staticPackageReceiverRegistry.emplace(pkgType, std::vector{ func }); - } - } - /**************************************************************************** * \param ListenerConstPtr - Const pointer to listener that sent event. * \param EventType - Event data @@ -129,16 +130,16 @@ namespace SHADE ****************************************************************************/ void SHEventManager::Broadcast(SHEvent const& event) { - ResponseVec& receivers{ packageReceiverRegistry[event.GetType()] }; + ResponseVec& receivers{ packageReceiverRegistry[event.type] }; for (auto& receiver : receivers) { - receiver->Receive(event.GetData()); + receiver->Receive(event.data); } - auto& funcs{ staticPackageReceiverRegistry[event.GetType()] }; - for (auto func : funcs) - { - func(event.GetData()); - } + //auto& funcs{ staticPackageReceiverRegistry[event.GetType()] }; + //for (auto func : funcs) + //{ + // func(event.GetData()); + //} } } diff --git a/SHADE_Engine/src/Events/SHEventManager.h b/SHADE_Engine/src/Events/SHEventManager.h index e8d499dc..4f9b4350 100644 --- a/SHADE_Engine/src/Events/SHEventManager.h +++ b/SHADE_Engine/src/Events/SHEventManager.h @@ -12,13 +12,12 @@ #include "SHEvent.h" #include "SHEventReceiver.h" -#include #include #include namespace SHADE { - using ResponseFunction = std::function; + using ResponseFunction = std::function; using ReceiverPtr = std::shared_ptr; using ResponseVec = std::vector; using StaticResponseVec = std::vector; @@ -68,22 +67,19 @@ namespace SHADE * \brief Links a function pointer from a subscriber to a particular * package type ****************************************************************************/ - void SubscribeTo(SHPackageType, ReceiverPtr); + void SubscribeTo(SHEventIdentifier, ReceiverPtr); - void StaticSubscribeTo(SHPackageType, ResponseFunction); + template + T* BroadcastData(T data, SHEventIdentifier eventType); private: // Singleton instance static SHEventManager* instance; // Registry for broadcasters and subscribers - std::unordered_map< - SHPackageType, - ResponseVec> packageReceiverRegistry; + std::unordered_map packageReceiverRegistry; + std::unordered_map dataEventMap; - // Registry for static broadcasters and subscribers - std::unordered_map< - SHPackageType, - StaticResponseVec> staticPackageReceiverRegistry; + SHEventHandle handleCounter; /**************************************************************************** * \param ListenerConstPtr - Const pointer to listener that sent event. @@ -101,12 +97,9 @@ namespace SHADE * \brief Registers receiver as a subscriber to listener in the registry. ****************************************************************************/ - void RegisterReceiverToType(SHPackageType, ReceiverPtr); - - void RegisterStaticReceiverToType(SHPackageType, ResponseFunction); + void RegisterReceiverToType(SHEventIdentifier, ReceiverPtr); }; - } #endif // !SH_EVENTS_MANAGER_H diff --git a/SHADE_Engine/src/Events/SHEventReceiver.h b/SHADE_Engine/src/Events/SHEventReceiver.h index 387b8a97..ab379901 100644 --- a/SHADE_Engine/src/Events/SHEventReceiver.h +++ b/SHADE_Engine/src/Events/SHEventReceiver.h @@ -9,7 +9,7 @@ namespace SHADE { private: public: - virtual void Receive(PackagePtr) = 0; + virtual void Receive(SHEventDataPtr) = 0; }; template @@ -17,16 +17,16 @@ namespace SHADE { private: T* object; - void(T::*callback)(PackagePtr); + void(T::*callback)(SHEventDataPtr); public: - SHEventReceiverSpec(T* obj, void(T::*cb)(PackagePtr)) - :SHEventReceiver(), object{obj}, callback{ cb } + SHEventReceiverSpec(T* obj, void(T::* cb)(SHEventDataPtr)) + :SHEventReceiver(), object{ obj }, callback{ cb } { } - void Receive(PackagePtr evt) + void Receive(SHEventDataPtr evt) override { (object->*callback)(evt); } From 196ef93fed5494bd90905fb49a425822f5f91564 Mon Sep 17 00:00:00 2001 From: Kah Wei Date: Thu, 15 Sep 2022 09:11:02 +0800 Subject: [PATCH 23/32] CSProj for SHADE_Scripting is now generated if a build is attempted without it existing --- SHADE_Engine/src/Scripting/SHScriptEngine.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/SHADE_Engine/src/Scripting/SHScriptEngine.cpp b/SHADE_Engine/src/Scripting/SHScriptEngine.cpp index cb8f24c9..5302cb17 100644 --- a/SHADE_Engine/src/Scripting/SHScriptEngine.cpp +++ b/SHADE_Engine/src/Scripting/SHScriptEngine.cpp @@ -182,6 +182,13 @@ namespace SHADE { constexpr std::string_view BUILD_LOG_PATH = "../Build.log"; + // Generate csproj file if it doesn't exist + static const std::filesystem::path CSPROJ_PATH = "../SHADE_Scripting.csproj"; + if (!std::filesystem::exists(CSPROJ_PATH)) + { + GenerateScriptsCsProjFile(CSPROJ_PATH); + } + // Prepare directory (delete useless files) deleteFolder("net6.0"); deleteFolder("ref"); From 79828740fd20e60bcfba05f39dcee8b5a2d41589 Mon Sep 17 00:00:00 2001 From: Kah Wei Date: Thu, 15 Sep 2022 09:21:51 +0800 Subject: [PATCH 24/32] Fixed hot reloading copying the wrong DLL --- SHADE_Engine/src/Scripting/SHScriptEngine.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SHADE_Engine/src/Scripting/SHScriptEngine.cpp b/SHADE_Engine/src/Scripting/SHScriptEngine.cpp index 5302cb17..47c722dd 100644 --- a/SHADE_Engine/src/Scripting/SHScriptEngine.cpp +++ b/SHADE_Engine/src/Scripting/SHScriptEngine.cpp @@ -208,7 +208,7 @@ namespace SHADE if (BUILD_SUCCESS) { // Copy to built dll to the working directory and replace - std::filesystem::copy_file("./tmp/SHADE_Managed.dll", "SHADE_Managed.dll", std::filesystem::copy_options::overwrite_existing); + std::filesystem::copy_file("./tmp/SHADE_Scripting.dll", "SHADE_Scripting.dll", std::filesystem::copy_options::overwrite_existing); oss << "[ScriptEngine] Successfully built Managed Script Assembly (" << MANAGED_SCRIPT_LIB_NAME << ")!"; SHLOG_INFO(oss.str()); From 9a97d12d96019d2333b193fac01296cd58ed380f Mon Sep 17 00:00:00 2001 From: Kah Wei Date: Thu, 15 Sep 2022 09:23:40 +0800 Subject: [PATCH 25/32] Fixed SHADE_Managed target and intermediate directory paths --- SHADE_Managed/premake5.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SHADE_Managed/premake5.lua b/SHADE_Managed/premake5.lua index 4651e68e..42d0482f 100644 --- a/SHADE_Managed/premake5.lua +++ b/SHADE_Managed/premake5.lua @@ -4,8 +4,8 @@ project "SHADE_Managed" clr "NetCore" dotnetframework "net6.0" cppdialect "C++17" - targetdir ("bin/" .. outputdir .. "/%{prj.name}") - objdir ("bin-int/" .. outputdir .. "/%{prj.name}") + targetdir (outputdir) + objdir (interdir) systemversion "latest" pchheader "SHpch.h" pchsource "%{prj.location}/src/SHpch.cpp" From 12cfbb995250cf12e88953cd814768671106bc14 Mon Sep 17 00:00:00 2001 From: Kah Wei Date: Thu, 15 Sep 2022 11:25:58 +0800 Subject: [PATCH 26/32] Fixed SHDotNetRuntime::IsLoaded() giving incorrect data and updated qualifiers and comment formats --- SHADE_Engine/src/Scripting/SHDotNetRuntime.h | 210 +++++++++++------- .../src/Scripting/SHDotNetRuntime.hpp | 2 +- 2 files changed, 135 insertions(+), 77 deletions(-) diff --git a/SHADE_Engine/src/Scripting/SHDotNetRuntime.h b/SHADE_Engine/src/Scripting/SHDotNetRuntime.h index 2eb69788..efb9e54b 100644 --- a/SHADE_Engine/src/Scripting/SHDotNetRuntime.h +++ b/SHADE_Engine/src/Scripting/SHDotNetRuntime.h @@ -23,26 +23,43 @@ of DigiPen Institute of Technology is prohibited. namespace SHADE { - /********************************************************************************//*! - @brief Class that encapsulates the state of the .NET Core Runtime lifecycle. - *//*********************************************************************************/ + /*************************************************************************************/ + /*! + + class SHDotNetRuntime + + \brief + Class that encapsulates the state of the .NET Core Runtime lifecycle. + + */ + /*************************************************************************************/ + class SHDotNetRuntime { public: - /*----------------------------------------------------------------------------------*/ - /* Constructors/Destructor */ - /*----------------------------------------------------------------------------------*/ - /****************************************************************************//*! - @brief Default constructor that immediately initializes the CoreCLR. + /*---------------------------------------------------------------------------------*/ + /* Constructors/Destructor */ + /*---------------------------------------------------------------------------------*/ + /***********************************************************************************/ + /*! + + \brief + Default constructor that immediately initializes the CoreCLR. - @param[in] autoInit - If true, loads the CoreCLR by calling Init(). - *//*****************************************************************************/ + \param autoInit + If true, loads the CoreCLR by calling Init(). + + */ + /***********************************************************************************/ SHDotNetRuntime(bool autoInit = true); - /****************************************************************************//*! - @brief Destructor that unloads the CoreCLR if it has not been unloaded - yet. - *//*****************************************************************************/ + /***********************************************************************************/ + /*! + + \brief + Destructor that unloads the CoreCLR if it has not been unloaded yet. + + */ + /***********************************************************************************/ ~SHDotNetRuntime(); // Disallow copy and moving @@ -52,58 +69,78 @@ namespace SHADE /*----------------------------------------------------------------------------------*/ /* Lifecycle Functions */ /*----------------------------------------------------------------------------------*/ - /****************************************************************************//*! - @brief Loads the CoreCLR and grabs pointers to bootstrapping functions and - kickstarts the CoreCLR. - - @throws SystemExitException - Thrown if there is a failure in loading the CLR and related functions. - *//*****************************************************************************/ - void Init(); - /****************************************************************************//*! - @brief Unloads the CoreCLR. + /***********************************************************************************/ + /*! + + \brief + Loads the CoreCLR and grabs pointers to bootstrapping functions and kickstarts the + CoreCLR. - @throws SystemExitException - Thrown if there is a failure in unloading the CLR. - *//*****************************************************************************/ + \throws std::runtime_error + Thrown if there is a failure in loading the CLR and related functions. + + */ + /***********************************************************************************/ + void Init(); + /***********************************************************************************/ + /*! + + \brief + Unloads the CoreCLR. + + \throws std::runtime_error + Thrown if there is a failure in unloading the CLR. + + */ + /***********************************************************************************/ void Exit(); /*----------------------------------------------------------------------------------*/ /* Usage Functions */ /*----------------------------------------------------------------------------------*/ - /****************************************************************************//*! - @brief Checks if the DotNetRuntime has successfully been initialised. + /***********************************************************************************/ + /*! + + \brief + Checks if the DotNetRuntime has successfully been initialised. - @return True if this DotNetRuntime has been initialised. - *//*****************************************************************************/ - inline bool IsLoaded() { return coreClr != nullptr; } - /****************************************************************************//*! - @brief Retrieves a function pointer from the a CLR assembly based on the - specified assembly, type and function names. + \return + True if this DotNetRuntime has been initialised. - @tparam FunctionType - Type of the function pointer that the specified function name will - provide. - - @params[in] assemblyName - Name of the CoreCLR assembly that contains the function. - @params[in] typeName - Name of the CoreCLR type in the assembly that contains the function. - Nested types are separated by a period(.). - @params[in] functionName - Name of the CoreCLR function to get a pointer to. + */ + /***********************************************************************************/ + inline bool IsLoaded() const noexcept { return initialised; } - @returns Pointer to the function in the assembly that was specified. - *//*****************************************************************************/ + /***********************************************************************************/ + /*! + + \brief + Retrieves a function pointer from the a CLR assembly based on the specified + assembly, type and function names. + + \tparam FunctionType + Type of the function pointer that the specified function name will provide. + \param assemblyName + Name of the CoreCLR assembly that contains the function. + \param typeName + Name of the CoreCLR type in the assembly that contains the function. Nested types + are separated by a period(.). + \param functionName + Name of the CoreCLR function to get a pointer to. + \return + Pointer to the function in the assembly that was specified. + + */ + /***********************************************************************************/ template FunctionType GetFunctionPtr(const std::string_view& assemblyName, const std::string_view& typeName, - const std::string_view& functionName); + const std::string_view& functionName) const; private: - /*-----------------------------------------------------------------------------*/ - /* Data Members */ - /*-----------------------------------------------------------------------------*/ + /*---------------------------------------------------------------------------------*/ + /* Data Members */ + /*---------------------------------------------------------------------------------*/ bool initialised = false; // References to CoreCLR key components HMODULE coreClr = nullptr; @@ -114,34 +151,55 @@ namespace SHADE coreclr_create_delegate_ptr createManagedDelegate = nullptr; coreclr_shutdown_ptr shutdownCoreClr = nullptr; - /*-----------------------------------------------------------------------------*/ - /* Helper Functions */ - /*-----------------------------------------------------------------------------*/ - /****************************************************************************//*! - @brief Retrieves a function pointer from the CoreCLR based on the specified - function name. + /*---------------------------------------------------------------------------------*/ + /* Helper Functions */ + /*---------------------------------------------------------------------------------*/ + /***********************************************************************************/ + /*! + + \brief + Retrieves a function pointer from the CoreCLR based on the specified + function name. + + \tparam FunctionType + Type of the function pointer that the specified function name will provide. + \param functionName + Name of the CoreCLR function to get a pointer to. + \return + Pointer to the function in the CoreCLR that was specified. - @tparam FunctionType - Type of the function pointer that the specified function name will - provide. - - @params[in] functionName - Name of the CoreCLR function to get a pointer to. - - @returns Pointer to the function in the CoreCLR that was specified. - *//*****************************************************************************/ + */ + /***********************************************************************************/ template FunctionType getCoreClrFunctionPtr(const std::string& functionName); - /****************************************************************************//*! - @brief Compiles a semicolon separated string of trusted platform assemblies by - searching the specified directory. + /***********************************************************************************/ + /*! + + \brief + Compiles a semicolon separated string of trusted platform assemblies by + searching the specified directory. + + \param directory + Path to the directory where the trusted platform assemblies reside. + \return + Semicolon separated string of trusted platform assemblies. - @params[in] directory - Path to the directory where the trusted platform assemblies reside. - - @returns Semicolon separated string of trusted platform assemblies. - *//*****************************************************************************/ + */ + /***********************************************************************************/ static std::string buildTpaList(const std::string& directory); + /***********************************************************************************/ + /*! + + \brief + Takes in a Win32 result code and throws an exception it if there is an error. + + \param errMsg + Error message to display if the resultCode is a failure code. + \param resultCode + Result code of the function to check. + + */ + /***********************************************************************************/ static void throwIfFailed(const std::string& errMsg, int resultCode); }; } diff --git a/SHADE_Engine/src/Scripting/SHDotNetRuntime.hpp b/SHADE_Engine/src/Scripting/SHDotNetRuntime.hpp index 3498bc63..ae8f28e5 100644 --- a/SHADE_Engine/src/Scripting/SHDotNetRuntime.hpp +++ b/SHADE_Engine/src/Scripting/SHDotNetRuntime.hpp @@ -20,7 +20,7 @@ namespace SHADE template FunctionType SHDotNetRuntime::GetFunctionPtr(const std::string_view & assemblyName, const std::string_view & typeName, - const std::string_view & functionName) + const std::string_view & functionName) const { FunctionType managedDelegate = nullptr; int result = createManagedDelegate From ddf6a7bee54c8adc4545ae78ef154d4a0145b74e Mon Sep 17 00:00:00 2001 From: Xiao Qi Date: Thu, 15 Sep 2022 12:06:09 +0800 Subject: [PATCH 27/32] SP3-108 Removed singleton instance from event manager and changed it to static class instead. WARNING: Might need to change back to singleton next time, I had to do it previously for some reason but I don't remember why --- SHADE_Engine/SHADE_Engine.vcxproj.filters | 4 +- SHADE_Engine/src/Events/SHEvent.h | 2 +- SHADE_Engine/src/Events/SHEventManager.cpp | 47 ++++--------------- SHADE_Engine/src/Events/SHEventManager.h | 52 ++++++++-------------- SHADE_Engine/src/Events/SHEventReceiver.h | 10 ++--- 5 files changed, 35 insertions(+), 80 deletions(-) diff --git a/SHADE_Engine/SHADE_Engine.vcxproj.filters b/SHADE_Engine/SHADE_Engine.vcxproj.filters index 5d627ce6..6b8bde7f 100644 --- a/SHADE_Engine/SHADE_Engine.vcxproj.filters +++ b/SHADE_Engine/SHADE_Engine.vcxproj.filters @@ -171,6 +171,9 @@ Events + + Events + Events @@ -405,7 +408,6 @@ Tools - diff --git a/SHADE_Engine/src/Events/SHEvent.h b/SHADE_Engine/src/Events/SHEvent.h index c6d5c97b..2ca6648e 100644 --- a/SHADE_Engine/src/Events/SHEvent.h +++ b/SHADE_Engine/src/Events/SHEvent.h @@ -16,7 +16,7 @@ namespace SHADE struct SHEvent { SHEventIdentifier type; - SHEventDataPtr data; + SHEventDataPtr dataPtr; SHEventHandle handle; }; } diff --git a/SHADE_Engine/src/Events/SHEventManager.cpp b/SHADE_Engine/src/Events/SHEventManager.cpp index 7798c944..2b4d15f1 100644 --- a/SHADE_Engine/src/Events/SHEventManager.cpp +++ b/SHADE_Engine/src/Events/SHEventManager.cpp @@ -12,47 +12,18 @@ namespace SHADE { - SHEventManager* SHEventManager::instance; + std::unordered_map SHEventManager::packageReceiverRegistry; + std::unordered_map SHEventManager::dataEventMap; - /**************************************************************************** - * \brief Ctor and Dtor. Dtor will delete instance of self stored at - * data member instance. - ****************************************************************************/ - SHEventManager::SHEventManager() - { + SHEventHandle SHEventManager::handleCounter{ 0 }; - } - - /**************************************************************************** - * \brief Exit function to terminate the manager properly and deallocate - * memory. - ****************************************************************************/ - void SHEventManager::Exit() - { - delete instance; - } - - /**************************************************************************** - * \brief Returns singleton instance of event manager in heap memory. If - * instance does not exist, one is created immediately. - ****************************************************************************/ - SHEventManager& SHEventManager::GetEventManagerInstance() - { - // Create instance of event manager and return - if (!instance) - { - instance = new SHEventManager(); - } - - return *instance; - } /**************************************************************************** * \brief Returns function pointer to entry point for events. ****************************************************************************/ EventManagerListener SHEventManager::GetListenerFunction() { - return &(instance->CatchEvent); + return &CatchEvent; } /**************************************************************************** @@ -66,7 +37,7 @@ namespace SHADE // Do something with the event - instance->Broadcast(event); + Broadcast(event); } /**************************************************************************** @@ -80,11 +51,11 @@ namespace SHADE ****************************************************************************/ void SHEventManager::SubscribeTo(SHEventIdentifier pkgType, ReceiverPtr receiver) { - SHEventManager::GetEventManagerInstance().RegisterReceiverToType(pkgType, receiver); + RegisterReceiverToType(pkgType, receiver); } template - T* SHEventManager::BroadcastData(T data, SHEventIdentifier eventType) + T* SHEventManager::BroadcastEvent(T data, SHEventIdentifier eventType) { SHEventDataPtr ptr = new std::byte[sizeof(data)]; @@ -133,10 +104,10 @@ namespace SHADE ResponseVec& receivers{ packageReceiverRegistry[event.type] }; for (auto& receiver : receivers) { - receiver->Receive(event.data); + receiver->Receive(event); } - //auto& funcs{ staticPackageReceiverRegistry[event.GetType()] }; + //auto& funcs{ ackageReceiverRegistry[event.GetType()] }; //for (auto func : funcs) //{ // func(event.GetData()); diff --git a/SHADE_Engine/src/Events/SHEventManager.h b/SHADE_Engine/src/Events/SHEventManager.h index 4f9b4350..35acd4de 100644 --- a/SHADE_Engine/src/Events/SHEventManager.h +++ b/SHADE_Engine/src/Events/SHEventManager.h @@ -3,21 +3,26 @@ * \author Loh Xiao Qi * \brief Class declaration for event manager. * - * \copyright Copyright (c) 2021 Digipen Institute of Technology. Reproduction + * \copyright Copyright (c) 2022 Digipen Institute of Technology. Reproduction * or disclosure of this file or its contents without the prior written consent * of Digipen Institute of Technology is prohibited. ******************************************************************************/ -#ifndef SH_EVENT_MANAGER_H -#define SH_EVENT_MANAGER_H +#pragma once #include "SHEvent.h" #include "SHEventReceiver.h" #include #include +/****************************************************************************** + INSTRUCTIONS FOR USE: + On broadcaster side: + 1. +******************************************************************************/ + namespace SHADE { - using ResponseFunction = std::function; + using ResponseFunction = std::function; using ReceiverPtr = std::shared_ptr; using ResponseVec = std::vector; using StaticResponseVec = std::vector; @@ -27,29 +32,11 @@ namespace SHADE class SHEventManager { public: - /**************************************************************************** - * \brief Ctor and Dtor. Dtor will delete instance of self stored at - * data member instance. - ****************************************************************************/ - SHEventManager(); - - /**************************************************************************** - * \brief Returns singleton instance of event manager in heap memory. If - * instance does not exist, one is created immediately. - ****************************************************************************/ - static SHEventManager& GetEventManagerInstance(); - - /**************************************************************************** + /**************************************************************************** * \brief Returns function pointer to entry point for events. ****************************************************************************/ static EventManagerListener GetListenerFunction(); - /**************************************************************************** - * \brief Exit function to terminate the manager properly and deallocate - * memory. - ****************************************************************************/ - static void Exit(); - /**************************************************************************** * \param ListenerConstPtr - Const pointer to listener that sent event. * \param EventType - Templated type for every type of event @@ -67,19 +54,18 @@ namespace SHADE * \brief Links a function pointer from a subscriber to a particular * package type ****************************************************************************/ - void SubscribeTo(SHEventIdentifier, ReceiverPtr); + static void SubscribeTo(SHEventIdentifier, ReceiverPtr); template - T* BroadcastData(T data, SHEventIdentifier eventType); + static T* BroadcastEvent(T data, SHEventIdentifier eventType); + private: - // Singleton instance - static SHEventManager* instance; // Registry for broadcasters and subscribers - std::unordered_map packageReceiverRegistry; - std::unordered_map dataEventMap; + static std::unordered_map packageReceiverRegistry; + static std::unordered_map dataEventMap; - SHEventHandle handleCounter; + static SHEventHandle handleCounter; /**************************************************************************** * \param ListenerConstPtr - Const pointer to listener that sent event. @@ -88,7 +74,7 @@ namespace SHADE * \brief Broadcast event to all receivers that are subscribed to this * listener. ****************************************************************************/ - void Broadcast(SHEvent const&); + static void Broadcast(SHEvent const&); /**************************************************************************** * \param ReceiverPtr - Pointer to receiver @@ -97,9 +83,7 @@ namespace SHADE * \brief Registers receiver as a subscriber to listener in the registry. ****************************************************************************/ - void RegisterReceiverToType(SHEventIdentifier, ReceiverPtr); + static void RegisterReceiverToType(SHEventIdentifier, ReceiverPtr); }; } - -#endif // !SH_EVENTS_MANAGER_H diff --git a/SHADE_Engine/src/Events/SHEventReceiver.h b/SHADE_Engine/src/Events/SHEventReceiver.h index ab379901..f968e579 100644 --- a/SHADE_Engine/src/Events/SHEventReceiver.h +++ b/SHADE_Engine/src/Events/SHEventReceiver.h @@ -1,5 +1,4 @@ -#ifndef SH_EVENT_RECEIVER_H -#define SH_EVENT_RECEIVER_H +#pragma once #include "SHEvent.h" @@ -9,7 +8,7 @@ namespace SHADE { private: public: - virtual void Receive(SHEventDataPtr) = 0; + virtual void Receive(SHEvent) = 0; }; template @@ -17,7 +16,7 @@ namespace SHADE { private: T* object; - void(T::*callback)(SHEventDataPtr); + SHEventHandle(T::*callback)(SHEvent); public: SHEventReceiverSpec(T* obj, void(T::* cb)(SHEventDataPtr)) @@ -26,10 +25,9 @@ namespace SHADE } - void Receive(SHEventDataPtr evt) override + void Receive(SHEvent evt) override { (object->*callback)(evt); } }; } -#endif // !SH_EVENT_RECEIVER_H From 2714503efad797cd34a9b8cb1cb5874d786f3b23 Mon Sep 17 00:00:00 2001 From: Kah Wei Date: Thu, 15 Sep 2022 12:28:53 +0800 Subject: [PATCH 28/32] Fixed warnings --- SHADE_Managed/premake5.lua | 5 +++++ SHADE_Managed/src/Engine/EngineInterface.cxx | 22 +++++++++---------- SHADE_Managed/src/Engine/EngineInterface.hxx | 12 +++++----- SHADE_Managed/src/Math/Vector2.hxx | 16 +++++++------- SHADE_Managed/src/Math/Vector3.hxx | 20 ++++++++--------- .../Utility/DisposableAssemblyLoadContext.cxx | 2 +- 6 files changed, 41 insertions(+), 36 deletions(-) diff --git a/SHADE_Managed/premake5.lua b/SHADE_Managed/premake5.lua index 42d0482f..092e92af 100644 --- a/SHADE_Managed/premake5.lua +++ b/SHADE_Managed/premake5.lua @@ -41,6 +41,11 @@ project "SHADE_Managed" "SHADE_Engine" } + disablewarnings + { + "4251" + } + defines { "NOMINMAX" diff --git a/SHADE_Managed/src/Engine/EngineInterface.cxx b/SHADE_Managed/src/Engine/EngineInterface.cxx index 27645342..2009b2e5 100644 --- a/SHADE_Managed/src/Engine/EngineInterface.cxx +++ b/SHADE_Managed/src/Engine/EngineInterface.cxx @@ -24,15 +24,6 @@ of DigiPen Institute of Technology is prohibited. namespace SHADE { - /*---------------------------------------------------------------------------------*/ - /* Constructor */ - /*---------------------------------------------------------------------------------*/ - static EngineInterface::EngineInterface() - { - exceptionHandler = gcnew System::UnhandledExceptionEventHandler(unhandledExceptionHandler); - managedLibPath = System::Reflection::Assembly::GetExecutingAssembly()->Location->Replace("SHADE_Managed.dll", ManagedLibraryName + ".dll"); - } - /*---------------------------------------------------------------------------------*/ /* Interop Static Functions */ /*---------------------------------------------------------------------------------*/ @@ -98,7 +89,16 @@ namespace SHADE System::AppDomain::CurrentDomain->UnhandledException -= exceptionHandler; SAFE_NATIVE_CALL_END_N("SHADE_Managed.EngineInterface") } - + + /*---------------------------------------------------------------------------------*/ + /* Constructor */ + /*---------------------------------------------------------------------------------*/ + static EngineInterface::EngineInterface() + { + exceptionHandler = gcnew System::UnhandledExceptionEventHandler(unhandledExceptionHandler); + managedLibPath = System::Reflection::Assembly::GetExecutingAssembly()->Location->Replace("SHADE_Managed.dll", ManagedLibraryName + ".dll"); + } + /*---------------------------------------------------------------------------------*/ /* Helper Functions */ /*---------------------------------------------------------------------------------*/ @@ -127,7 +127,7 @@ namespace SHADE /*---------------------------------------------------------------------------------*/ /* Exception Handler Functions */ /*---------------------------------------------------------------------------------*/ - void EngineInterface::unhandledExceptionHandler(System::Object^ sender, System::UnhandledExceptionEventArgs^ e) + void EngineInterface::unhandledExceptionHandler(System::Object^, System::UnhandledExceptionEventArgs^ e) { std::ostringstream oss; oss << "[EngineInterface] Unhandled managed exception: " diff --git a/SHADE_Managed/src/Engine/EngineInterface.hxx b/SHADE_Managed/src/Engine/EngineInterface.hxx index 7bd5e010..4fd8f7b3 100644 --- a/SHADE_Managed/src/Engine/EngineInterface.hxx +++ b/SHADE_Managed/src/Engine/EngineInterface.hxx @@ -32,11 +32,6 @@ namespace SHADE /// Name of the Managed Library that contains the C# scripts written externally. /// literal System::String^ ManagedLibraryName = "SHADE_Scripting"; - - /*-----------------------------------------------------------------------------*/ - /* Constructor */ - /*-----------------------------------------------------------------------------*/ - static EngineInterface(); /*-----------------------------------------------------------------------------*/ /* Interop Static Functions */ @@ -68,7 +63,12 @@ namespace SHADE /// static void Exit(); - private: + private: + /*-----------------------------------------------------------------------------*/ + /* Constructor */ + /*-----------------------------------------------------------------------------*/ + static EngineInterface(); + /*-----------------------------------------------------------------------------*/ /* Data Members */ /*-----------------------------------------------------------------------------*/ diff --git a/SHADE_Managed/src/Math/Vector2.hxx b/SHADE_Managed/src/Math/Vector2.hxx index 26d4ae6a..69a6110f 100644 --- a/SHADE_Managed/src/Math/Vector2.hxx +++ b/SHADE_Managed/src/Math/Vector2.hxx @@ -33,37 +33,37 @@ namespace SHADE /// /// Shorthand for writing Vector2(0, -1). /// - static Vector2 Down = Vector2(0.0, -1.0); + static initonly Vector2 Down = Vector2(0.0, -1.0); /// /// Shorthand for writing Vector2(-1, 0). /// - static Vector2 Left = Vector2(-1.0, 0.0); + static initonly Vector2 Left = Vector2(-1.0, 0.0); /// /// Shorthand for writing Vector2(double.NegativeInfinity, /// double.NegativeInfinity). /// - static Vector2 NegativeInfinity = Vector2(std::numeric_limits::lowest(), std::numeric_limits::lowest()); + static initonly Vector2 NegativeInfinity = Vector2(std::numeric_limits::lowest(), std::numeric_limits::lowest()); /// /// Shorthand for writing Vector2(1, 1). /// - static Vector2 One = Vector2(1.0, 1.0); + static initonly Vector2 One = Vector2(1.0, 1.0); /// /// Shorthand for writing Vector2(double.PositiveInfinity, /// double.PositiveInfinity). /// - static Vector2 PositiveInfinity = Vector2(std::numeric_limits::max(), std::numeric_limits::max()); + static initonly Vector2 PositiveInfinity = Vector2(std::numeric_limits::max(), std::numeric_limits::max()); /// /// Shorthand for writing Vector2(1, 0). /// - static Vector2 Right = Vector2(1.0, 0.0); + static initonly Vector2 Right = Vector2(1.0, 0.0); /// /// Shorthand for writing Vector2(0, 1). /// - static Vector2 Up = Vector2(0.0, 1.0); + static initonly Vector2 Up = Vector2(0.0, 1.0); /// /// Shorthand for writing Vector2(0, 0). /// - static Vector2 Zero = Vector2(0.0, 0.0); + static initonly Vector2 Zero = Vector2(0.0, 0.0); #pragma endregion /*-----------------------------------------------------------------------------*/ diff --git a/SHADE_Managed/src/Math/Vector3.hxx b/SHADE_Managed/src/Math/Vector3.hxx index fb2fe8fc..e6cdc7d4 100644 --- a/SHADE_Managed/src/Math/Vector3.hxx +++ b/SHADE_Managed/src/Math/Vector3.hxx @@ -35,49 +35,49 @@ namespace SHADE /// /// Shorthand for writing Vector3(0, 0, -1). /// - static const Vector3 Back = Vector3(0.0, 0.0, -1.0); + static initonly Vector3 Back = Vector3(0.0, 0.0, -1.0); /// /// Shorthand for writing Vector3(0, -1, 0). /// - static const Vector3 Down = Vector3(0.0, -1.0, 0.0); + static initonly Vector3 Down = Vector3(0.0, -1.0, 0.0); /// /// Shorthand for writing Vector3(0, 0, 1). /// - static const Vector3 Forward = Vector3(0.0, 0.0, 1.0); + static initonly Vector3 Forward = Vector3(0.0, 0.0, 1.0); /// /// Shorthand for writing Vector3(-1, 0, 0). /// - static const Vector3 Left = Vector3(-1.0, 0.0, 0.0); + static initonly Vector3 Left = Vector3(-1.0, 0.0, 0.0); /// /// Shorthand for writing Vector3(double.NegativeInfinity, /// double.NegativeInfinity, double.NegativeInfinity). /// - static const Vector3 NegativeInfinity = Vector3(std::numeric_limits::lowest(), + static initonly Vector3 NegativeInfinity = Vector3(std::numeric_limits::lowest(), std::numeric_limits::lowest(), std::numeric_limits::lowest()); /// /// Shorthand for writing Vector3(1, 1, 1). /// - static const Vector3 One = Vector3(1.0, 1.0, 1.0); + static initonly Vector3 One = Vector3(1.0, 1.0, 1.0); /// /// Shorthand for writing Vector3(double.PositiveInfinity, /// double.PositiveInfinity, double.PositiveInfinity). /// - static const Vector3 PositiveInfinity = Vector3(std::numeric_limits::max(), + static initonly Vector3 PositiveInfinity = Vector3(std::numeric_limits::max(), std::numeric_limits::max(), std::numeric_limits::max()); /// /// Shorthand for writing Vector3(1, 0, 0). /// - static const Vector3 Right = Vector3(1.0, 0.0, 0.0); + static initonly Vector3 Right = Vector3(1.0, 0.0, 0.0); /// /// Shorthand for writing Vector3(0, 1, 0). /// - static const Vector3 Up = Vector3(0.0, 1.0, 0.0); + static initonly Vector3 Up = Vector3(0.0, 1.0, 0.0); /// /// Shorthand for writing Vector3(0, 0, 0). /// - static const Vector3 Zero = Vector3(0.0, 0.0, 0.0); + static initonly Vector3 Zero = Vector3(0.0, 0.0, 0.0); #pragma endregion /*-----------------------------------------------------------------------------*/ diff --git a/SHADE_Managed/src/Utility/DisposableAssemblyLoadContext.cxx b/SHADE_Managed/src/Utility/DisposableAssemblyLoadContext.cxx index 7ee674a4..ebf2e987 100644 --- a/SHADE_Managed/src/Utility/DisposableAssemblyLoadContext.cxx +++ b/SHADE_Managed/src/Utility/DisposableAssemblyLoadContext.cxx @@ -29,7 +29,7 @@ namespace SHADE /*---------------------------------------------------------------------------------*/ /* Helper Functions */ /*---------------------------------------------------------------------------------*/ - System::Reflection::Assembly^ DisposableAssemblyLoadContext::Load(System::Reflection::AssemblyName^ assemblyName) + System::Reflection::Assembly^ DisposableAssemblyLoadContext::Load(System::Reflection::AssemblyName^) { return nullptr; } From 382d75528a4396ecbc9fbc1806bbc03d45bb84e9 Mon Sep 17 00:00:00 2001 From: Kah Wei Date: Thu, 15 Sep 2022 12:50:48 +0800 Subject: [PATCH 29/32] Removed and ignored VS project and solution files --- .gitignore | 5 + SHADE.sln | 90 --- SHADE_Application/SHADE_Application.vcxproj | 130 ---- .../SHADE_Application.vcxproj.filters | 30 - SHADE_Engine/SHADE_Engine.vcxproj | 317 --------- SHADE_Engine/SHADE_Engine.vcxproj.filters | 646 ------------------ SHADE_Managed/SHADE_Managed.vcxproj.filters | 113 --- 7 files changed, 5 insertions(+), 1326 deletions(-) delete mode 100644 SHADE.sln delete mode 100644 SHADE_Application/SHADE_Application.vcxproj delete mode 100644 SHADE_Application/SHADE_Application.vcxproj.filters delete mode 100644 SHADE_Engine/SHADE_Engine.vcxproj delete mode 100644 SHADE_Engine/SHADE_Engine.vcxproj.filters delete mode 100644 SHADE_Managed/SHADE_Managed.vcxproj.filters diff --git a/.gitignore b/.gitignore index fba41f1e..c7fefb6e 100644 --- a/.gitignore +++ b/.gitignore @@ -353,4 +353,9 @@ MigrationBackup/ # Ionide (cross platform F# VS Code tools) working folder .ionide/ +# Generated Files [Dd]ependencies/ +*.vcxproj +*.vcxproj.filters +*.sln +*.csproj diff --git a/SHADE.sln b/SHADE.sln deleted file mode 100644 index e317c752..00000000 --- a/SHADE.sln +++ /dev/null @@ -1,90 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SHADE_Application", "SHADE_Application\SHADE_Application.vcxproj", "{BDC70008-29DE-FE9D-7255-8ABFDEAACF25}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Dependencies", "Dependencies", "{53E47842-3FC8-3998-A828-34EB942B241A}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ImGui", "Dependencies\imgui\ImGui.vcxproj", "{C0FF640D-2C14-8DBE-F595-301E616989EF}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "freetype", "Dependencies\msdf\msdfgen\freetype\freetype.vcxproj", "{89895BD8-7556-B6E3-9E6F-A48B8A9BEB71}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "msdf-atlas-gen", "Dependencies\msdf\msdf-atlas-gen.vcxproj", "{38BD587B-248B-4C81-0D1F-BDA7F98B28E6}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "msdfgen", "Dependencies\msdf\msdfgen\msdfgen.vcxproj", "{8900D8DD-F5DF-5679-FEF7-E14F6A56BDDA}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "reactphysics3d", "Dependencies\reactphysics3d\reactphysics3d.vcxproj", "{2ECAB41A-1A98-A820-032C-1947EF988485}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "yaml-cpp", "Dependencies\yamlcpp\yaml-cpp.vcxproj", "{88F1A057-74BE-FB62-9DD7-E90A890331F1}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SHADE_Engine", "SHADE_Engine\SHADE_Engine.vcxproj", "{3F92E998-2BF5-783D-D47A-B1F3C0BC44C0}" - ProjectSection(ProjectDependencies) = postProject - {88F1A057-74BE-FB62-9DD7-E90A890331F1} = {88F1A057-74BE-FB62-9DD7-E90A890331F1} - {8900D8DD-F5DF-5679-FEF7-E14F6A56BDDA} = {8900D8DD-F5DF-5679-FEF7-E14F6A56BDDA} - {38BD587B-248B-4C81-0D1F-BDA7F98B28E6} = {38BD587B-248B-4C81-0D1F-BDA7F98B28E6} - {2ECAB41A-1A98-A820-032C-1947EF988485} = {2ECAB41A-1A98-A820-032C-1947EF988485} - {C0FF640D-2C14-8DBE-F595-301E616989EF} = {C0FF640D-2C14-8DBE-F595-301E616989EF} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SHADE_Managed", "SHADE_Managed\SHADE_Managed.vcxproj", "{16DB1400-829B-9036-4BD6-D9B3B755D512}" - ProjectSection(ProjectDependencies) = postProject - {88F1A057-74BE-FB62-9DD7-E90A890331F1} = {88F1A057-74BE-FB62-9DD7-E90A890331F1} - {C0FF640D-2C14-8DBE-F595-301E616989EF} = {C0FF640D-2C14-8DBE-F595-301E616989EF} - {3F92E998-2BF5-783D-D47A-B1F3C0BC44C0} = {3F92E998-2BF5-783D-D47A-B1F3C0BC44C0} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x64 = Debug|x64 - Release|x64 = Release|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {BDC70008-29DE-FE9D-7255-8ABFDEAACF25}.Debug|x64.ActiveCfg = Debug|x64 - {BDC70008-29DE-FE9D-7255-8ABFDEAACF25}.Debug|x64.Build.0 = Debug|x64 - {BDC70008-29DE-FE9D-7255-8ABFDEAACF25}.Release|x64.ActiveCfg = Release|x64 - {BDC70008-29DE-FE9D-7255-8ABFDEAACF25}.Release|x64.Build.0 = Release|x64 - {C0FF640D-2C14-8DBE-F595-301E616989EF}.Debug|x64.ActiveCfg = Debug|x64 - {C0FF640D-2C14-8DBE-F595-301E616989EF}.Debug|x64.Build.0 = Debug|x64 - {C0FF640D-2C14-8DBE-F595-301E616989EF}.Release|x64.ActiveCfg = Release|x64 - {C0FF640D-2C14-8DBE-F595-301E616989EF}.Release|x64.Build.0 = Release|x64 - {89895BD8-7556-B6E3-9E6F-A48B8A9BEB71}.Debug|x64.ActiveCfg = Debug|x64 - {89895BD8-7556-B6E3-9E6F-A48B8A9BEB71}.Debug|x64.Build.0 = Debug|x64 - {89895BD8-7556-B6E3-9E6F-A48B8A9BEB71}.Release|x64.ActiveCfg = Release|x64 - {89895BD8-7556-B6E3-9E6F-A48B8A9BEB71}.Release|x64.Build.0 = Release|x64 - {38BD587B-248B-4C81-0D1F-BDA7F98B28E6}.Debug|x64.ActiveCfg = Debug|x64 - {38BD587B-248B-4C81-0D1F-BDA7F98B28E6}.Debug|x64.Build.0 = Debug|x64 - {38BD587B-248B-4C81-0D1F-BDA7F98B28E6}.Release|x64.ActiveCfg = Release|x64 - {38BD587B-248B-4C81-0D1F-BDA7F98B28E6}.Release|x64.Build.0 = Release|x64 - {8900D8DD-F5DF-5679-FEF7-E14F6A56BDDA}.Debug|x64.ActiveCfg = Debug|x64 - {8900D8DD-F5DF-5679-FEF7-E14F6A56BDDA}.Debug|x64.Build.0 = Debug|x64 - {8900D8DD-F5DF-5679-FEF7-E14F6A56BDDA}.Release|x64.ActiveCfg = Release|x64 - {8900D8DD-F5DF-5679-FEF7-E14F6A56BDDA}.Release|x64.Build.0 = Release|x64 - {2ECAB41A-1A98-A820-032C-1947EF988485}.Debug|x64.ActiveCfg = Debug|x64 - {2ECAB41A-1A98-A820-032C-1947EF988485}.Debug|x64.Build.0 = Debug|x64 - {2ECAB41A-1A98-A820-032C-1947EF988485}.Release|x64.ActiveCfg = Release|x64 - {2ECAB41A-1A98-A820-032C-1947EF988485}.Release|x64.Build.0 = Release|x64 - {88F1A057-74BE-FB62-9DD7-E90A890331F1}.Debug|x64.ActiveCfg = Debug|x64 - {88F1A057-74BE-FB62-9DD7-E90A890331F1}.Debug|x64.Build.0 = Debug|x64 - {88F1A057-74BE-FB62-9DD7-E90A890331F1}.Release|x64.ActiveCfg = Release|x64 - {88F1A057-74BE-FB62-9DD7-E90A890331F1}.Release|x64.Build.0 = Release|x64 - {3F92E998-2BF5-783D-D47A-B1F3C0BC44C0}.Debug|x64.ActiveCfg = Debug|x64 - {3F92E998-2BF5-783D-D47A-B1F3C0BC44C0}.Debug|x64.Build.0 = Debug|x64 - {3F92E998-2BF5-783D-D47A-B1F3C0BC44C0}.Release|x64.ActiveCfg = Release|x64 - {3F92E998-2BF5-783D-D47A-B1F3C0BC44C0}.Release|x64.Build.0 = Release|x64 - {16DB1400-829B-9036-4BD6-D9B3B755D512}.Debug|x64.ActiveCfg = Debug|x64 - {16DB1400-829B-9036-4BD6-D9B3B755D512}.Debug|x64.Build.0 = Debug|x64 - {16DB1400-829B-9036-4BD6-D9B3B755D512}.Release|x64.ActiveCfg = Release|x64 - {16DB1400-829B-9036-4BD6-D9B3B755D512}.Release|x64.Build.0 = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {C0FF640D-2C14-8DBE-F595-301E616989EF} = {53E47842-3FC8-3998-A828-34EB942B241A} - {89895BD8-7556-B6E3-9E6F-A48B8A9BEB71} = {53E47842-3FC8-3998-A828-34EB942B241A} - {38BD587B-248B-4C81-0D1F-BDA7F98B28E6} = {53E47842-3FC8-3998-A828-34EB942B241A} - {8900D8DD-F5DF-5679-FEF7-E14F6A56BDDA} = {53E47842-3FC8-3998-A828-34EB942B241A} - {2ECAB41A-1A98-A820-032C-1947EF988485} = {53E47842-3FC8-3998-A828-34EB942B241A} - {88F1A057-74BE-FB62-9DD7-E90A890331F1} = {53E47842-3FC8-3998-A828-34EB942B241A} - EndGlobalSection -EndGlobal diff --git a/SHADE_Application/SHADE_Application.vcxproj b/SHADE_Application/SHADE_Application.vcxproj deleted file mode 100644 index 268076af..00000000 --- a/SHADE_Application/SHADE_Application.vcxproj +++ /dev/null @@ -1,130 +0,0 @@ - - - - - Debug - x64 - - - Release - x64 - - - - {BDC70008-29DE-FE9D-7255-8ABFDEAACF25} - true - Win32Proj - SHADE_Application - 10.0 - - - - Application - true - Unicode - v142 - - - Application - false - Unicode - v142 - - - - - - - - - - - - - true - ..\bin\Debug\ - ..\bin_int\Debug\SHADE_Application\ - SHADE_Application - .exe - - - false - ..\bin\Release\ - ..\bin_int\Release\SHADE_Application\ - SHADE_Application - .exe - - - - Use - SBpch.h - Level4 - 4251;%(DisableSpecificWarnings) - _DEBUG;%(PreprocessorDefinitions) - ..\Dependencies\spdlog\include;..\SHADE_Engine\src;src;..\Dependencies\dotnet\include;..\Dependencies\SDL\include;%(AdditionalIncludeDirectories) - EditAndContinue - Disabled - false - MultiThreadedDebugDLL - true - stdcpp20 - - - Windows - true - SDL2.lib;SDL2main.lib;%(AdditionalDependencies) - ..\Dependencies\spdlog\lib;..\Dependencies\SDL\lib;%(AdditionalLibraryDirectories) - wWinMainCRTStartup - - - - - Use - SBpch.h - Level4 - 4251;%(DisableSpecificWarnings) - _RELEASE;%(PreprocessorDefinitions) - ..\Dependencies\spdlog\include;..\SHADE_Engine\src;src;..\Dependencies\dotnet\include;..\Dependencies\SDL\include;%(AdditionalIncludeDirectories) - Full - true - true - false - true - MultiThreadedDLL - true - stdcpp20 - - - Windows - true - true - SDL2.lib;SDL2main.lib;%(AdditionalDependencies) - ..\Dependencies\spdlog\lib;..\Dependencies\SDL\lib;%(AdditionalLibraryDirectories) - wWinMainCRTStartup - - - - - - - - - - - Create - - - - - - - {3F92E998-2BF5-783D-D47A-B1F3C0BC44C0} - - - {16DB1400-829B-9036-4BD6-D9B3B755D512} - - - - - - \ No newline at end of file diff --git a/SHADE_Application/SHADE_Application.vcxproj.filters b/SHADE_Application/SHADE_Application.vcxproj.filters deleted file mode 100644 index 1234632d..00000000 --- a/SHADE_Application/SHADE_Application.vcxproj.filters +++ /dev/null @@ -1,30 +0,0 @@ - - - - - {D9DE78AF-4594-F1A4-CE88-EB7B3A3DE8A8} - - - {86EEB3D0-7290-DEA6-5B4B-F2FA478C65F7} - - - - - Application - - - - Scenes - - - - - Application - - - - Scenes - - - - \ No newline at end of file diff --git a/SHADE_Engine/SHADE_Engine.vcxproj b/SHADE_Engine/SHADE_Engine.vcxproj deleted file mode 100644 index 4fd19678..00000000 --- a/SHADE_Engine/SHADE_Engine.vcxproj +++ /dev/null @@ -1,317 +0,0 @@ - - - - - Debug - x64 - - - Release - x64 - - - - {3F92E998-2BF5-783D-D47A-B1F3C0BC44C0} - true - Win32Proj - SHADE_Engine - 10.0 - - - - DynamicLibrary - true - Unicode - v142 - - - DynamicLibrary - false - Unicode - v142 - - - - - - - - - - - - - true - ..\bin\Debug\ - ..\bin_int\Debug\SHADE_Engine\ - SHADE_Engine - .dll - - - false - ..\bin\Release\ - ..\bin_int\Release\SHADE_Engine\ - SHADE_Engine - .dll - - - - Use - SHpch.h - Level4 - 4251;%(DisableSpecificWarnings) - _LIB;_GLFW_INCLUDE_NONE;MSDFGEN_USE_CPP11;NOMINMAX;SH_API_EXPORT;_DEBUG;%(PreprocessorDefinitions) - src;..\Dependencies\assimp\include;..\Dependencies\imgui;..\Dependencies\imguizmo;..\Dependencies\imnodes;..\Dependencies\msdf;..\Dependencies\msdf\msdfgen;..\Dependencies\spdlog\include;..\Dependencies\tracy;..\Dependencies\VMA\include;..\Dependencies\yamlcpp\include;..\Dependencies\SDL\include;..\Dependencies\RTTR\include;..\Dependencies\reactphysics3d\include;$(VULKAN_SDK)\include;$(VULKAN_SDK)\Source\SPIRV-Reflect;..\Dependencies\dotnet\include;%(AdditionalIncludeDirectories) - EditAndContinue - Disabled - false - MultiThreadedDebugDLL - true - stdcpp20 - - - Windows - true - vulkan-1.lib;SDL2.lib;SDL2main.lib;shaderc_shared.lib;shlwapi.lib;assimp-vc142-mtd.lib;librttr_core_d.lib;spdlogd.lib;%(AdditionalDependencies) - libs;$(VULKAN_SDK)\Lib;..\Dependencies\assimp\lib\Debug;..\Dependencies\assimp\lib\Release;..\Dependencies\RTTR\lib;..\Dependencies\SDL\lib;..\Dependencies\spdlog\lib;%(AdditionalLibraryDirectories) - ..\bin\Debug\SHADE_Engine.lib - - - xcopy /s /r /y /q "$(SolutionDir)/Dependencies/spdlog/bin" "$(OutDir)" -xcopy /r /y /q "$(SolutionDir)/Dependencies/SDL/lib/SDL2.dll" "$(OutDir)" -xcopy /s /r /y /q "$(SolutionDir)/Dependencies/dotnet/bin" "$(OutDir)" - - - - - Use - SHpch.h - Level4 - 4251;%(DisableSpecificWarnings) - _LIB;_GLFW_INCLUDE_NONE;MSDFGEN_USE_CPP11;NOMINMAX;SH_API_EXPORT;_RELEASE;%(PreprocessorDefinitions) - src;..\Dependencies\assimp\include;..\Dependencies\imgui;..\Dependencies\imguizmo;..\Dependencies\imnodes;..\Dependencies\msdf;..\Dependencies\msdf\msdfgen;..\Dependencies\spdlog\include;..\Dependencies\tracy;..\Dependencies\VMA\include;..\Dependencies\yamlcpp\include;..\Dependencies\SDL\include;..\Dependencies\RTTR\include;..\Dependencies\reactphysics3d\include;$(VULKAN_SDK)\include;$(VULKAN_SDK)\Source\SPIRV-Reflect;..\Dependencies\dotnet\include;%(AdditionalIncludeDirectories) - Full - true - true - false - true - MultiThreadedDLL - true - stdcpp20 - - - Windows - true - true - vulkan-1.lib;SDL2.lib;SDL2main.lib;shaderc_shared.lib;shlwapi.lib;assimp-vc142-mt.lib;librttr_core.lib;spdlog.lib;%(AdditionalDependencies) - libs;$(VULKAN_SDK)\Lib;..\Dependencies\assimp\lib\Debug;..\Dependencies\assimp\lib\Release;..\Dependencies\RTTR\lib;..\Dependencies\SDL\lib;..\Dependencies\spdlog\lib;%(AdditionalLibraryDirectories) - ..\bin\Release\SHADE_Engine.lib - - - xcopy /s /r /y /q "$(SolutionDir)/Dependencies/spdlog/bin" "$(OutDir)" -xcopy /r /y /q "$(SolutionDir)/Dependencies/SDL/lib/SDL2.dll" "$(OutDir)" -xcopy /s /r /y /q "$(SolutionDir)/Dependencies/dotnet/bin" "$(OutDir)" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Create - - - - - - - - - - - - - - {88F1A057-74BE-FB62-9DD7-E90A890331F1} - - - {8900D8DD-F5DF-5679-FEF7-E14F6A56BDDA} - - - {38BD587B-248B-4C81-0D1F-BDA7F98B28E6} - - - {2ECAB41A-1A98-A820-032C-1947EF988485} - - - {C0FF640D-2C14-8DBE-F595-301E616989EF} - - - - - - \ No newline at end of file diff --git a/SHADE_Engine/SHADE_Engine.vcxproj.filters b/SHADE_Engine/SHADE_Engine.vcxproj.filters deleted file mode 100644 index 4eabf09d..00000000 --- a/SHADE_Engine/SHADE_Engine.vcxproj.filters +++ /dev/null @@ -1,646 +0,0 @@ - - - - - {1AB26817-067F-C322-2F98-B1CA1BC4F8B0} - - - {EFD23933-5B34-1741-E4A1-5DF350024E00} - - - {261D0942-92A8-7606-9BB9-F9FA07C4D206} - - - {07FEB307-F3F6-D259-1C29-B8DE0881B265} - - - {EE037863-5A8F-E527-63A0-681CCFAA4128} - - - {DBC7D3B0-C769-FE86-B024-12DB9C6585D7} - - - {80E7870B-ECF0-877C-756C-9E7CE174937C} - - - {8A8E2B37-7646-6D84-DF4D-46E0CB240875} - - - {1653CE33-0220-293F-2B39-17E717655ECD} - - - {92C817CE-7EC1-3620-A7F3-1BA5934B162C} - - - {17C745C0-83DD-4356-CC54-CF7738AA14DE} - - - {51443AC7-3D28-FB1C-A688-F56F928BE59E} - - - {573A6CF2-43C9-F5BB-ECE7-09B7D8550662} - - - {08DBDC43-F4D3-FB95-1D06-E11A095EDBA1} - - - {4AD5CA42-3664-540C-DF82-6807CBF064B2} - - - {FB5EE099-67EA-4D5E-70FB-D052DC05AA5E} - - - {BA26540B-263D-52A1-6FB4-DDC2DB092329} - - - {4B204703-3704-0859-A064-02AC8C67F2DA} - - - {EBA1D3FF-D75C-C3AB-8014-3CF66CAE0D3C} - - - {8CDBA7C9-F8E8-D5AF-81CF-D19AEDDBA166} - - - {2460C057-1070-6C28-7929-D14665585BC1} - - - {FBD334F8-67EA-328E-B061-BEAF1CB70316} - - - {1DD51CAD-8960-8A71-9271-0D66FE7BE671} - - - {57DAB30C-4369-3DD6-EC87-51D1D8F54D7C} - - - {9C0DAFD9-086F-8CE7-91DC-D299FD3CC3A6} - - - {EF2D07CC-DB26-261E-0459-0BA3F0B0052A} - - - {3AEF06DD-A6D2-151D-AFD5-43591B38DC6D} - - - {245F5AB0-1085-2417-F9CA-A9E2E58F49E3} - - - {03DB39DE-EFBE-FA33-581F-F5864422E5B5} - - - {576DF841-4392-47C2-6CDD-2C52586146E0} - - - {75F29FE5-6102-4CB6-CABB-B0D4B6EA3A4F} - - - {5BAB2A92-478F-EBE7-B0EF-E53A9CF2D569} - - - {B3B14D12-9FC1-F9E2-087B-5E01F4A9E87B} - - - {AFF4887C-9B2B-8A0D-4418-7010302E060F} - - - {F1B75745-5D6D-D03A-E661-CA115216C73E} - - - {AC05897C-983C-8A0D-4129-70102D3F060F} - - - {ED6CDF9B-D939-3AA7-0253-284FEE7E6F35} - - - {B3F7140E-1F0C-3DBF-E88D-E01E546139F0} - - - {985A7358-04C5-27CF-4D03-D974B9AC0524} - - - {16CF2D0E-82E3-55BF-4B65-F91EB73852F0} - - - - - ECS_Base\Components - - - ECS_Base\Components - - - ECS_Base\Entity - - - ECS_Base\General - - - ECS_Base\General - - - ECS_Base\General - - - ECS_Base\General - - - ECS_Base\General - - - ECS_Base - - - ECS_Base\System - - - ECS_Base\System - - - ECS_Base\System - - - ECS_Base\System - - - Engine - - - FRC - - - Filesystem - - - Graphics\Buffers - - - Graphics\Commands - - - Graphics\Commands - - - Graphics\Commands - - - Graphics\Debugging - - - Graphics\Debugging - - - Graphics\Debugging - - - Graphics\Descriptors - - - Graphics\Descriptors - - - Graphics\Descriptors - - - Graphics\Descriptors - - - Graphics\Descriptors - - - Graphics\Devices - - - Graphics\Devices - - - Graphics\Devices - - - Graphics\Framebuffer - - - Graphics\Images - - - Graphics\Images - - - Graphics\Images - - - Graphics\Instance - - - Graphics\MiddleEnd\Interface - - - Graphics\MiddleEnd\Interface - - - Graphics\MiddleEnd\PerFrame - - - Graphics\MiddleEnd\PerFrame - - - Graphics\MiddleEnd\Shaders - - - Graphics\MiddleEnd\Shaders - - - Graphics\MiddleEnd\Shaders - - - Graphics\Pipeline - - - Graphics\Pipeline - - - Graphics\Pipeline - - - Graphics\Pipeline - - - Graphics\Pipeline - - - Graphics\Pipeline - - - Graphics\Queues - - - Graphics\RenderGraph - - - Graphics\Renderpass - - - Graphics\Renderpass - - - Graphics\Renderpass - - - Graphics\Renderpass - - - Graphics\Renderpass - - - Graphics - - - Graphics - - - Graphics - - - Graphics\Shaders\BlockInterface - - - Graphics\Shaders - - - Graphics\Shaders - - - Graphics\Shaders\spirv-reflect - - - Graphics\Swapchain - - - Graphics\Swapchain - - - Graphics\Synchronization - - - Graphics\Synchronization - - - Graphics\VertexDescriptors - - - Graphics\Windowing - - - Graphics\Windowing - - - Graphics\Windowing\Surface - - - Math - - - Math - - - Math - - - Math - - - Math - - - Math\Vector - - - Math\Vector - - - Math\Vector - - - Meta - - - Resource - - - Resource - - - Resource - - - Resource - - - Resource - - - Resource - - - - - - Scene - - - Scene - - - Scene - - - Scripting - - - Scripting - - - Scripting - - - Tools - - - Tools - - - Tools - - - Tools - - - Tools - - - Tools - - - Tools - - - Tools - - - - - ECS_Base\Components - - - ECS_Base\Components - - - ECS_Base\Entity - - - ECS_Base\System - - - ECS_Base\System - - - ECS_Base\System - - - Engine - - - FRC - - - Filesystem - - - Graphics\Buffers - - - Graphics\Commands - - - Graphics\Commands - - - Graphics\Debugging - - - Graphics\Debugging - - - Graphics\Debugging - - - Graphics\Descriptors - - - Graphics\Descriptors - - - Graphics\Descriptors - - - Graphics\Descriptors - - - Graphics\Descriptors - - - Graphics\Devices - - - Graphics\Devices - - - Graphics\Devices - - - Graphics\Framebuffer - - - Graphics\Images - - - Graphics\Images - - - Graphics\Instance - - - Graphics\MiddleEnd\Interface - - - Graphics\MiddleEnd\Interface - - - Graphics\MiddleEnd\PerFrame - - - Graphics\MiddleEnd\PerFrame - - - Graphics\MiddleEnd\Shaders - - - Graphics\MiddleEnd\Shaders - - - Graphics\Pipeline - - - Graphics\Pipeline - - - Graphics\Pipeline - - - Graphics\Pipeline - - - Graphics\Queues - - - Graphics\RenderGraph - - - Graphics\Renderpass - - - Graphics\Renderpass - - - Graphics\Renderpass - - - Graphics - - - Graphics - - - Graphics\Shaders\BlockInterface - - - Graphics\Shaders - - - Graphics\Shaders - - - Graphics\Shaders\spirv-reflect - - - Graphics\Swapchain - - - Graphics\Synchronization - - - Graphics\Synchronization - - - Graphics\VertexDescriptors - - - Graphics\Windowing - - - Graphics\Windowing - - - Graphics\Windowing\Surface - - - Math - - - Math - - - Math - - - Math\Vector - - - Math\Vector - - - Math\Vector - - - Resource - - - - Scene - - - Scene - - - Scripting - - - Scripting - - - Tools - - - Tools - - - Tools - - - Tools - - - Tools - - - \ No newline at end of file diff --git a/SHADE_Managed/SHADE_Managed.vcxproj.filters b/SHADE_Managed/SHADE_Managed.vcxproj.filters deleted file mode 100644 index c1901bac..00000000 --- a/SHADE_Managed/SHADE_Managed.vcxproj.filters +++ /dev/null @@ -1,113 +0,0 @@ - - - - - {6B7DD516-5735-1764-C03C-F0BFAC13B254} - - - {DBC7D3B0-C769-FE86-B024-12DB9C6585D7} - - - {AFF4887C-9B2B-8A0D-4418-7010302E060F} - - - {4D6F1AE8-B94E-9983-C266-245A2EC5FFE4} - - - {594615A9-C525-9444-CE3D-1F1B3A9CFAA5} - - - - - Components - - - Engine - - - Engine - - - Engine - - - Engine - - - Math - - - Math - - - Math - - - - Scripts - - - Scripts - - - Utility - - - Utility - - - Utility - - - - - - Components - - - Engine - - - Engine - - - Engine - - - Engine - - - Math - - - Math - - - Math - - - - Scripts - - - Scripts - - - Utility - - - Utility - - - Utility - - - - - Components - - - Engine - - - \ No newline at end of file From 5af0bf7d25fa6d2d498cc4f42c2a35c20dd3d730 Mon Sep 17 00:00:00 2001 From: Xiao Qi Date: Thu, 15 Sep 2022 18:33:36 +0800 Subject: [PATCH 30/32] Instructions on how to use events --- SHADE_Engine/src/Events/SHEventManager.cpp | 11 +------- SHADE_Engine/src/Events/SHEventManager.h | 33 ++++++++++++++++++---- 2 files changed, 29 insertions(+), 15 deletions(-) diff --git a/SHADE_Engine/src/Events/SHEventManager.cpp b/SHADE_Engine/src/Events/SHEventManager.cpp index 2b4d15f1..1cede2a0 100644 --- a/SHADE_Engine/src/Events/SHEventManager.cpp +++ b/SHADE_Engine/src/Events/SHEventManager.cpp @@ -16,16 +16,7 @@ namespace SHADE std::unordered_map SHEventManager::dataEventMap; SHEventHandle SHEventManager::handleCounter{ 0 }; - - - /**************************************************************************** - * \brief Returns function pointer to entry point for events. - ****************************************************************************/ - EventManagerListener SHEventManager::GetListenerFunction() - { - return &CatchEvent; - } - + /**************************************************************************** * \param ListenerConstPtr - Const pointer to listener that sent event. * \param EventType - Templated type for every type of event diff --git a/SHADE_Engine/src/Events/SHEventManager.h b/SHADE_Engine/src/Events/SHEventManager.h index 35acd4de..fd09d323 100644 --- a/SHADE_Engine/src/Events/SHEventManager.h +++ b/SHADE_Engine/src/Events/SHEventManager.h @@ -17,7 +17,33 @@ /****************************************************************************** INSTRUCTIONS FOR USE: On broadcaster side: - 1. + 1. Create a struct/class to contain the data that you would need to send + in the event. + 2. Create unique event identifier in SHEventDefines.h, follow the example + provided. + 3. When ready to send the event, call + SHEventManager::BroadcastEvent(exampleClass, EVENT_IDENTIFIER); + + Headers required: SHEventManager.h + + On Receiver side: + 1. Create a function with the signature: + SHEventHandle FunctionName(SHEvent); + 2. In the init function of the class, copy the below in and replace the + necessary: + + std::shared_ptr> thisReceiver{ + std::make_shared>(this, &ReceiverClass::ReceiveFunction) + }; + ReceiverPtr receiver = std::dynamic_pointer_cast(thisReceiver); + SHEventManager::SubscribeTo(EVENT_IDENTIFIER, receiver); + + 3. Note: The EventIdentifier should match all that is defined in + SHEventDefines.h so check there. When the receiver catches the event, it + needs to know the struct that the broadcaster is using to cast the void* + properly. + + Headers required: SHEventManager.h, SHEventReceiver.h ******************************************************************************/ namespace SHADE @@ -32,10 +58,6 @@ namespace SHADE class SHEventManager { public: - /**************************************************************************** - * \brief Returns function pointer to entry point for events. - ****************************************************************************/ - static EventManagerListener GetListenerFunction(); /**************************************************************************** * \param ListenerConstPtr - Const pointer to listener that sent event. @@ -86,4 +108,5 @@ namespace SHADE static void RegisterReceiverToType(SHEventIdentifier, ReceiverPtr); }; + } From e1074887c8b78db2b75dbc0df59812875f2aafbe Mon Sep 17 00:00:00 2001 From: Xiao Qi Date: Thu, 15 Sep 2022 18:34:07 +0800 Subject: [PATCH 31/32] Added instructions --- SHADE_Engine/src/Events/SHEventManager.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/SHADE_Engine/src/Events/SHEventManager.h b/SHADE_Engine/src/Events/SHEventManager.h index fd09d323..c831b63f 100644 --- a/SHADE_Engine/src/Events/SHEventManager.h +++ b/SHADE_Engine/src/Events/SHEventManager.h @@ -44,6 +44,8 @@ properly. Headers required: SHEventManager.h, SHEventReceiver.h + + If you have any questions/suggestions for improvement lmk. ******************************************************************************/ namespace SHADE From f9743f394d039ec193272bfc4eb310eac83e831e Mon Sep 17 00:00:00 2001 From: Xiao Qi Date: Thu, 15 Sep 2022 18:37:05 +0800 Subject: [PATCH 32/32] Added some lines in comments for clarity --- SHADE_Engine/src/Events/SHEventDefines.h | 1 - SHADE_Engine/src/Events/SHEventManager.h | 2 ++ 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/SHADE_Engine/src/Events/SHEventDefines.h b/SHADE_Engine/src/Events/SHEventDefines.h index 4087caa0..76b403bd 100644 --- a/SHADE_Engine/src/Events/SHEventDefines.h +++ b/SHADE_Engine/src/Events/SHEventDefines.h @@ -6,5 +6,4 @@ typedef uint32_t SHEventHandle; typedef void* SHEventDataPtr; //Add your event identifiers here: - constexpr SHEventIdentifier SH_EXAMPLE_EVENT{0}; \ No newline at end of file diff --git a/SHADE_Engine/src/Events/SHEventManager.h b/SHADE_Engine/src/Events/SHEventManager.h index c831b63f..f2f19fef 100644 --- a/SHADE_Engine/src/Events/SHEventManager.h +++ b/SHADE_Engine/src/Events/SHEventManager.h @@ -38,6 +38,8 @@ ReceiverPtr receiver = std::dynamic_pointer_cast(thisReceiver); SHEventManager::SubscribeTo(EVENT_IDENTIFIER, receiver); + ReceiverClass is the class that the receiver is in. E.g., SHPhysicsSystem + 3. Note: The EventIdentifier should match all that is defined in SHEventDefines.h so check there. When the receiver catches the event, it needs to know the struct that the broadcaster is using to cast the void*