添加 Source/FLESHEditor/Public/FLESHViewportClient.h
This commit is contained in:
55
Source/FLESHEditor/Public/FLESHViewportClient.h
Normal file
55
Source/FLESHEditor/Public/FLESHViewportClient.h
Normal file
@@ -0,0 +1,55 @@
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "EditorViewportClient.h"
|
||||
|
||||
class FFLESHEditor;
|
||||
class FSceneViewport;
|
||||
|
||||
/**
|
||||
* FLESH Editor Viewport Client
|
||||
* Handles 3D view rendering and interactions
|
||||
*/
|
||||
class FFLESHViewportClient : public FEditorViewportClient
|
||||
{
|
||||
public:
|
||||
/** Constructor */
|
||||
FFLESHViewportClient(FFLESHEditor* InEditor);
|
||||
|
||||
/** Destructor */
|
||||
virtual ~FFLESHViewportClient();
|
||||
|
||||
/** Draw the viewport */
|
||||
virtual void Draw(const FSceneView* View, FPrimitiveDrawInterface* PDI) override;
|
||||
|
||||
/** Handle mouse clicks - deprecated API kept for compatibility with existing code */
|
||||
virtual bool InputKey(FViewport* InViewport, int32 ControllerId, FKey Key, EInputEvent Event, float AmountDepressed = 1.f, bool bGamepad = false) override;
|
||||
|
||||
/** Handle mouse clicks - new API */
|
||||
virtual bool InputKey(const FInputKeyEventArgs& EventArgs) override;
|
||||
|
||||
/** Reset camera */
|
||||
void ResetCamera();
|
||||
|
||||
/** Toggle wireframe mode */
|
||||
void ToggleWireframe();
|
||||
|
||||
/** Toggle bone display */
|
||||
void ToggleBones();
|
||||
|
||||
/** Viewport pointer */
|
||||
FSceneViewport* Viewport;
|
||||
|
||||
private:
|
||||
/** Editor reference */
|
||||
FFLESHEditor* Editor;
|
||||
|
||||
/** Show wireframe */
|
||||
bool bShowWireframe;
|
||||
|
||||
/** Show bones */
|
||||
bool bShowBones;
|
||||
|
||||
/** Preview scene for the viewport */
|
||||
TSharedPtr<FPreviewScene> PreviewScene;
|
||||
};
|
Reference in New Issue
Block a user