// © 2024 Long Ly. All rights reserved. Any unauthorized use, reproduction, or distribution of this trademark is strictly prohibited and may result in legal action. #pragma once #include "CoreMinimal.h" #include "Subsystems/EngineSubsystem.h" #include "OLSExperienceManager.generated.h" /** * Manager for experiences - primarily for arbitration between multiple PIE sessions */ UCLASS(MinimalAPI) class UOLSExperienceManager : public UEngineSubsystem { GENERATED_BODY() public: #if WITH_EDITOR OLS_API void OnPlayInEditorBegun(); static void NotifyOfPluginActivation(const FString pluginURL); static bool RequestToDeactivatePlugin(const FString pluginURL); #else static void NotifyOfPluginActivation(const FString pluginURL) {} static bool RequestToDeactivatePlugin(const FString pluginURL) { return true; } #endif private: // The map of requests to active count for a given game feature plugin // (to allow first in, last out activation management during PIE) TMap GameFeaturePluginRequestCountMap; };