October3d55/M/PICOXRPlugin/Source/PICOXREditor/Public/PXR_Editor.h

51 lines
2.0 KiB
C
Raw Permalink Normal View History

2025-07-29 14:53:32 +08:00
// Copyright PICO Technology Co., Ltd. All rights reserved.
// This plugin incorporates portions of the Unreal® Engine. Unreal® is a trademark or registered trademark of Epic Games, Inc. in the United States of America and elsewhere.
// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Modules/ModuleManager.h"
#include "IDetailCustomization.h"
#include "GameFramework/InputSettings.h"
#include "GameFramework/PlayerInput.h"
#include "Input/Reply.h"
class FToolBarBuilder;
class FMenuBuilder;
class SWidget;
class FPICOXREditorModule : public IModuleInterface
{
public:
/** IModuleInterface implementation */
virtual void StartupModule() override;
virtual void ShutdownModule() override;
/** These functions will be bound to Commands */
void PluginButtonClicked();
;
void LaunchAPIReferenceURL();
void LaunchSampleDemoURL();
void LaunchOfficialWebsiteURL();
void LaunchMarketplaceURL();
void AddSampleInputs();
void ClearSampleInputs();
void RegisterSettings();
void UnregisterSettings();
private:
bool AddNewSampleAxisMapping(TArray<FInputAxisKeyMapping> ExistingAxisKeys, UInputSettings* InputSettings, FName ActionName, FKey ActionKey);
bool AddNewSampleActionMapping(TArray<FInputActionKeyMapping> ExistingActionKeys, UInputSettings* InputSettings, FName ActionName, FKey ActionKey);
bool RemoveSampleAxisMapping(TArray<FInputAxisKeyMapping> ExistingAxisKeys, UInputSettings* InputSettings, FName ActionName, FKey ActionKey);
bool RemoveSampleActionMapping(TArray<FInputActionKeyMapping> ExistingActionKeys, UInputSettings* InputSettings, FName ActionName, FKey ActionKey);
bool AddUniqueAxisMapping(TArray<FInputAxisKeyMapping> ExistingAxisKeys, UInputSettings* InputSettings, FName ActionName, FKey ActionKey);
bool AddUniqueActionMapping(TArray<FInputActionKeyMapping> ExistingActionKeys, UInputSettings* InputSettings, FName ActionName, FKey ActionKey);
bool ShowPICOXRInputToolbarDropdown();
TSharedPtr<class FUICommandList> PluginCommands;
TSharedRef<SWidget> FillComboButton(TSharedPtr<class FUICommandList> Commands);
};