Android build settings + metaxr

This commit is contained in:
2025-05-14 14:00:02 +03:00
parent 6a2bb7475e
commit d5aa21f55c
594 changed files with 200530 additions and 2 deletions

View File

@@ -0,0 +1,24 @@
// @lint-ignore-every LICENSELINT
// Copyright Epic Games, Inc. All Rights Reserved.
#include "OculusXRAsyncRequestModule.h"
#if OCULUS_ASYNC_REQUEST_SUPPORTED_PLATFORMS
DEFINE_LOG_CATEGORY(LogOculusXRAsyncRequest);
#define LOCTEXT_NAMESPACE "OculusXRAsyncRequest"
void FOculusXRAsyncRequestModule::StartupModule()
{
}
void FOculusXRAsyncRequestModule::ShutdownModule()
{
}
#endif // OCULUS_ASYNC_REQUEST_SUPPORTED_PLATFORMS
IMPLEMENT_MODULE(FOculusXRAsyncRequestModule, OculusXRAsyncRequest)
#undef LOCTEXT_NAMESPACE

View File

@@ -0,0 +1,32 @@
// @lint-ignore-every LICENSELINT
// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "IOculusXRAsyncRequestModule.h"
DECLARE_LOG_CATEGORY_EXTERN(LogOculusXRAsyncRequest, Log, All);
#define LOCTEXT_NAMESPACE "OculusXRAsyncRequest"
#if OCULUS_ASYNC_REQUEST_SUPPORTED_PLATFORMS
class FOculusXRAsyncRequestModule : public IOculusXRAsyncRequestModule
{
public:
virtual ~FOculusXRAsyncRequestModule() = default;
// IModuleInterface interface
virtual void StartupModule() override;
virtual void ShutdownModule() override;
};
#else // OCULUS_ASYNC_REQUEST_SUPPORTED_PLATFORMS
class FOculusXRAsyncRequestModule : public FDefaultModuleImpl
{
};
#endif // OCULUS_ASYNC_REQUEST_SUPPORTED_PLATFORMS
#undef LOCTEXT_NAMESPACE

View File

@@ -0,0 +1,47 @@
// Copyright (c) Meta Platforms, Inc. and affiliates.
#include "OculusXRAsyncRequestSubsystem.h"
#include "OculusXRAsyncRequestSystem.h"
#include <Engine/World.h>
#include <Engine/GameInstance.h>
#if WITH_EDITOR
#include <Engine/Engine.h>
#endif
UOculusXRAsyncRequestSubsystem* UOculusXRAsyncRequestSubsystem::GetSubsystem()
{
if (GWorld != nullptr)
{
#if WITH_EDITOR
if (GIsEditor)
{
for (const FWorldContext& Context : GEngine->GetWorldContexts())
{
if (Context.WorldType == EWorldType::PIE)
{
return Context.World()->GetGameInstance()->GetSubsystem<UOculusXRAsyncRequestSubsystem>();
}
}
}
#endif // WITH_EDITOR
return GWorld->GetGameInstance()->GetSubsystem<UOculusXRAsyncRequestSubsystem>();
}
return nullptr;
}
OculusXR::FAsyncRequestSystem* UOculusXRAsyncRequestSubsystem::GetRequestSystem()
{
return (GetSubsystem()->RequestSystem).Get();
}
void UOculusXRAsyncRequestSubsystem::Initialize(FSubsystemCollectionBase& Collection)
{
RequestSystem = MakeShared<OculusXR::FAsyncRequestSystem>();
}
void UOculusXRAsyncRequestSubsystem::Deinitialize()
{
}

View File

@@ -0,0 +1,26 @@
// Copyright (c) Meta Platforms, Inc. and affiliates.
#pragma once
#include "Subsystems/GameInstanceSubsystem.h"
#include "OculusXRAsyncRequestSubsystem.generated.h"
namespace OculusXR
{
class FAsyncRequestSystem;
}
UCLASS()
class OCULUSXRASYNCREQUEST_API UOculusXRAsyncRequestSubsystem : public UGameInstanceSubsystem
{
GENERATED_BODY()
public:
static UOculusXRAsyncRequestSubsystem* GetSubsystem();
static OculusXR::FAsyncRequestSystem* GetRequestSystem();
virtual void Initialize(FSubsystemCollectionBase& Collection) override;
virtual void Deinitialize() override;
private:
TSharedPtr<OculusXR::FAsyncRequestSystem> RequestSystem;
};

View File

@@ -0,0 +1,22 @@
// Copyright (c) Meta Platforms, Inc. and affiliates.
#include "OculusXRAsyncRequestSystem.h"
#include "OculusXRAsyncRequestSubsystem.h"
namespace OculusXR
{
FAsyncRequestSystem::FAsyncRequestSystem()
: EventIdCounter(0)
{
}
FAsyncRequestBase::EventId FAsyncRequestSystem::GenerateEventId()
{
return FAsyncRequestBase::EventId(++(GetInstance().EventIdCounter));
}
FAsyncRequestSystem& FAsyncRequestSystem::GetInstance()
{
return *UOculusXRAsyncRequestSubsystem::GetRequestSystem();
}
} // namespace OculusXR