You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
- This merge contains various changes to ViewportInteraction and VR Editor to make things more extensible
- Some changes are from Yannick's recent shelved refactoring work, that I've modified and improved upon
- EditorWorldManager is gone and replaced by EditorWorldExtensionManager
- EditorWorldExtensions are sort of like a more modern version of 'FEdMode', but still a work in progress
- Cleaned up access to VREditorMode from other modules, forcing systems to go through EditorWorldExtensions
- Overhauled how transforming objects works with world interaction
- Viewport interactors can now be used to move objects other than actors around (by implementing an UViewportTransformer, and a FViewportTransformable)
- Undo/Redo now works better with inertial transformation! The transaction only ends when objects finally come to rest.
- Some initial support for 'grabber sphere' interactor methods has been implemented (not used yet)
- Viewport interaction input events now receive the viewport being interacted through
- Viewport interaction hover events no longer get a viewport client (because they must be designed to work any number of viewports.)
NOTE: This introduces UBT warnings about cyclic module dependencies. We'll have to address this in a different changelist.
Other changes:
- The active Viewport Interaction 'gizmo mode' is now tied directly to the editor's normal gizmo mode. They share the same state.
- New console variable 'VI.UseTransientActors' can be turned off to force editor actors to be created non-transient to make it easier to debug
- New console variable 'VI.DragTranslationVelocityStopEpsilon' sets the speed at which transformables will stop have inertia applied to them
- Fixed cyclic dependencies with ViewportInteraction and VREditor modules not being tagged properly for UBT
- Fixed some issues with transform gizmos not getting release events
- Various methods that should have been const were made const
- Eliminated duplicate implementation of SpawnTransientSceneActor and DestroyTransientActor; made it static
- UnrealEd no longer directly depends on VREditor and ViewportInteraction modules
- Engine: AActor::SetIsTemporarilyHiddenInEditor no longer does any work if the object's hidden state didn't change
- Slate: Input preprocessor (if bound) now also gets a chance at mouse button down and up events
#codereview yannick.lange,lauren.ridge
#rb various
[CL 3245240 by Mike Fricker in Dev-VREditor branch]
34 lines
1.2 KiB
C++
34 lines
1.2 KiB
C++
// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "GenericPlatform/ICursor.h"
|
|
#include "Framework/Application/IInputProcessor.h"
|
|
|
|
class FSlateApplication;
|
|
class FViewportWorldInteractionManager;
|
|
struct FAnalogInputEvent;
|
|
struct FKeyEvent;
|
|
struct FPointerEvent;
|
|
|
|
class FViewportInteractionInputProcessor : public IInputProcessor
|
|
{
|
|
public:
|
|
FViewportInteractionInputProcessor ( FViewportWorldInteractionManager* InWorldInteractionManager );
|
|
virtual ~FViewportInteractionInputProcessor ();
|
|
|
|
// IInputProcess overrides
|
|
virtual void Tick( const float DeltaTime, FSlateApplication& SlateApp, TSharedRef<ICursor> Cursor ) override;
|
|
virtual bool HandleKeyDownEvent( FSlateApplication& SlateApp, const FKeyEvent& InKeyEvent ) override;
|
|
virtual bool HandleKeyUpEvent( FSlateApplication& SlateApp, const FKeyEvent& InKeyEvent ) override;
|
|
virtual bool HandleAnalogInputEvent( FSlateApplication& SlateApp, const FAnalogInputEvent& InAnalogInputEvent ) override;
|
|
virtual bool HandleMouseMoveEvent( FSlateApplication& SlateApp, const FPointerEvent& MouseEvent ) override;
|
|
|
|
private:
|
|
|
|
/** The WorldInteraction that will receive the input */
|
|
FViewportWorldInteractionManager* WorldInteractionManager;
|
|
|
|
};
|