Add Games File
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
// Copyright Epic Games, Inc. All Rights Reserved.
|
||||
// Vendored for FunnyGirlEditor (adapted from UE Persona private SAnimEditorBase).
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "UObject/GCObject.h"
|
||||
#include "IPersonaPreviewScene.h"
|
||||
#include "Widgets/SCompoundWidget.h"
|
||||
#include "PersonaDelegates.h"
|
||||
|
||||
class UAnimationAsset;
|
||||
class UAnimPreviewInstance;
|
||||
|
||||
class FUNNYGIRLEDITOR_API SAnimEditorBase : public SCompoundWidget, public FGCObject
|
||||
{
|
||||
public:
|
||||
SLATE_BEGIN_ARGS(SAnimEditorBase)
|
||||
: _DisplayAnimTimeline(true)
|
||||
, _DisplayAnimScrubBar(false)
|
||||
, _DisplayAnimScrubBarEditing(false)
|
||||
{}
|
||||
|
||||
SLATE_EVENT(FOnObjectsSelected, OnObjectsSelected)
|
||||
SLATE_ARGUMENT(bool, DisplayAnimTimeline)
|
||||
SLATE_ARGUMENT(bool, DisplayAnimScrubBar)
|
||||
SLATE_ARGUMENT(bool, DisplayAnimScrubBarEditing)
|
||||
SLATE_END_ARGS()
|
||||
|
||||
void Construct(const FArguments& InArgs, const TSharedPtr<IPersonaPreviewScene>& InPreviewScene);
|
||||
|
||||
float GetViewMinInput() const { return ViewMinInput; }
|
||||
float GetViewMaxInput() const { return ViewMaxInput; }
|
||||
float GetMinInput() const { return 0.0f; }
|
||||
float GetMaxInput() const { return GetSequenceLength(); }
|
||||
|
||||
void SetInputViewRange(float InViewMinInput, float InViewMaxInput);
|
||||
float GetScrubValue() const;
|
||||
void OnSelectionChanged(const TArray<UObject*>& SelectedItems);
|
||||
|
||||
// FGCObject
|
||||
virtual void AddReferencedObjects(FReferenceCollector& Collector) override {}
|
||||
virtual FString GetReferencerName() const override { return TEXT("FunnyGirlVendoredSAnimEditorBase"); }
|
||||
|
||||
virtual TSharedRef<SWidget> CreateDocumentAnchor();
|
||||
|
||||
protected:
|
||||
virtual TSharedRef<SWidget> CreateAnimTimelineWidget() = 0;
|
||||
virtual TSharedRef<SWidget> ConstructAnimScrubPanel(bool bDisplayAnimScrubBarEditing);
|
||||
virtual UAnimationAsset* GetEditorObject() const = 0;
|
||||
float GetSequenceLength() const;
|
||||
|
||||
TSharedRef<IPersonaPreviewScene> GetPreviewScene() const { return PreviewScenePtr.Pin().ToSharedRef(); }
|
||||
|
||||
protected:
|
||||
TWeakPtr<IPersonaPreviewScene> PreviewScenePtr;
|
||||
TSharedPtr<SVerticalBox> EditorPanels;
|
||||
TSharedPtr<SVerticalBox> NonScrollEditorPanels;
|
||||
FOnObjectsSelected OnObjectsSelectedDelegate;
|
||||
float ViewMinInput = 0.0f;
|
||||
float ViewMaxInput = 0.0f;
|
||||
};
|
||||
Reference in New Issue
Block a user