// Copyright (c) 2023 Codemongous LLC. All Rights Reserved.

#pragma once

#include "SGraphNode.h"

class FAssetThumbnail;
class UEdGraphNode_Sourcify;

/**
 * 
 */
class SSourcifyNode : public SGraphNode
{
public:
	SLATE_BEGIN_ARGS( SSourcifyNode ){}

	SLATE_END_ARGS()

	/** Constructs this widget with InArgs */
	void Construct( const FArguments& InArgs, UEdGraphNode_Sourcify* InNode );

	// SGraphNode implementation
	void UpdateGraphNode() override;
	void UpdateErrorInfo() override;
	bool IsNodeEditable() const override { return false; }
	// End SGraphNode implementation

	// SWidget implementation
	virtual void OnMouseEnter(const FGeometry& MyGeometry, const FPointerEvent& MouseEvent) override;
	virtual void OnMouseLeave(const FPointerEvent& MouseEvent) override;
	// End SWidget implementation

private:
	TSharedPtr<class FAssetThumbnail> AssetThumbnail;
};
