2014-05-01 06:52:47 -04:00
|
|
|
// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.
|
|
|
|
|
|
|
|
|
|
#include "ActorPickerModePrivatePCH.h"
|
|
|
|
|
|
|
|
|
|
IMPLEMENT_MODULE( FActorPickerModeModule, ActorPickerMode );
|
|
|
|
|
|
|
|
|
|
void FActorPickerModeModule::StartupModule()
|
|
|
|
|
{
|
2014-06-18 10:16:16 -04:00
|
|
|
FEditorModeRegistry::Get().RegisterMode<FEdModeActorPicker>(FBuiltinEditorModes::EM_ActorPicker);
|
2014-05-01 06:52:47 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FActorPickerModeModule::ShutdownModule()
|
|
|
|
|
{
|
2014-06-18 10:16:16 -04:00
|
|
|
FEditorModeRegistry::Get().UnregisterMode(FBuiltinEditorModes::EM_ActorPicker);
|
2014-05-01 06:52:47 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FActorPickerModeModule::BeginActorPickingMode(FOnGetAllowedClasses InOnGetAllowedClasses, FOnShouldFilterActor InOnShouldFilterActor, FOnActorSelected InOnActorSelected)
|
|
|
|
|
{
|
2014-06-18 10:16:16 -04:00
|
|
|
// Activate the mode
|
|
|
|
|
GLevelEditorModeTools().ActivateMode(FBuiltinEditorModes::EM_ActorPicker);
|
|
|
|
|
|
|
|
|
|
// Set the required delegates
|
|
|
|
|
FEdModeActorPicker* Mode = GLevelEditorModeTools().GetActiveModeTyped<FEdModeActorPicker>(FBuiltinEditorModes::EM_ActorPicker);
|
|
|
|
|
if (ensure(Mode))
|
|
|
|
|
{
|
|
|
|
|
Mode->OnActorSelected = InOnActorSelected;
|
|
|
|
|
Mode->OnGetAllowedClasses = InOnGetAllowedClasses;
|
|
|
|
|
Mode->OnShouldFilterActor = InOnShouldFilterActor;
|
|
|
|
|
}
|
2014-05-01 06:52:47 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FActorPickerModeModule::EndActorPickingMode()
|
|
|
|
|
{
|
2014-06-18 10:16:16 -04:00
|
|
|
GLevelEditorModeTools().DeactivateMode(FBuiltinEditorModes::EM_ActorPicker);
|
2014-05-01 06:52:47 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool FActorPickerModeModule::IsInActorPickingMode() const
|
|
|
|
|
{
|
2014-06-18 10:16:16 -04:00
|
|
|
return GLevelEditorModeTools().IsModeActive(FBuiltinEditorModes::EM_ActorPicker);
|
2014-05-01 06:52:47 -04:00
|
|
|
}
|