// UserInputSync.h
#pragma once

#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "ClusterSyncedMethodCaller.h"

#include "UserInputSync.generated.h"

UCLASS()
class AUserInputSync : public AActor
{
  GENERATED_BODY()
	
public:	

  void BeginPlay() override;
  void EndPlay(const EEndPlayReason::Type EndPlayReason) override;

  UFUNCTION(BlueprintCallable)
  void OnUserInput();

  void ReactOnUserInput(TMap<FString, FString> SomeParameters);

private:	
  //storing it as UPROPERTY is very important so it is not garbage collected!
  UPROPERTY(VisibleAnywhere)
  UClusterSyncedMethodCaller* SyncedMethodCaller;

};