|
18 | 18 | #include "ToolMenus.h" |
19 | 19 | #include "UnLuaSettings.h" |
20 | 20 | #include "UnLuaIntelliSense.h" |
| 21 | +#include "Animation/AnimNotifies/AnimNotifyState.h" |
21 | 22 |
|
22 | 23 | #define LOCTEXT_NAMESPACE "FUnLuaEditorModule" |
23 | 24 |
|
@@ -281,31 +282,27 @@ void FUnLuaEditorToolbar::CreateLuaTemplate_Executed() |
281 | 282 | } |
282 | 283 |
|
283 | 284 | static FString ContentDir = IPluginManager::Get().FindPlugin(TEXT("UnLua"))->GetContentDir(); |
284 | | - |
285 | | - FString TemplateName; |
286 | | - if (Class->IsChildOf(AActor::StaticClass())) |
287 | | - { |
288 | | - // default BlueprintEvents for Actor |
289 | | - TemplateName = ContentDir + TEXT("/ActorTemplate.lua"); |
290 | | - } |
291 | | - else if (Class->IsChildOf(UUserWidget::StaticClass())) |
292 | | - { |
293 | | - // default BlueprintEvents for UserWidget (UMG) |
294 | | - TemplateName = ContentDir + TEXT("/UserWidgetTemplate.lua"); |
295 | | - } |
296 | | - else if (Class->IsChildOf(UAnimInstance::StaticClass())) |
| 285 | + static TArray<UClass*> TemplateClasses = |
297 | 286 | { |
298 | | - // default BlueprintEvents for AnimInstance (animation blueprint) |
299 | | - TemplateName = ContentDir + TEXT("/AnimInstanceTemplate.lua"); |
300 | | - } |
301 | | - else if (Class->IsChildOf(UActorComponent::StaticClass())) |
| 287 | + AActor::StaticClass(), |
| 288 | + UActorComponent::StaticClass(), |
| 289 | + UAnimInstance::StaticClass(), |
| 290 | + UAnimNotifyState::StaticClass(), |
| 291 | + UUserWidget::StaticClass() |
| 292 | + }; |
| 293 | + |
| 294 | + FString TemplateFilePath; |
| 295 | + for (const auto& TemplateClass : TemplateClasses) |
302 | 296 | { |
303 | | - // default BlueprintEvents for ActorComponent |
304 | | - TemplateName = ContentDir + TEXT("/ActorComponentTemplate.lua"); |
| 297 | + if (Class->IsChildOf(TemplateClass)) |
| 298 | + { |
| 299 | + TemplateFilePath = FString::Printf(TEXT("%s/Template/%s.lua"), *ContentDir, *TemplateClass->GetName()); |
| 300 | + break; |
| 301 | + } |
305 | 302 | } |
306 | 303 |
|
307 | 304 | FString Content; |
308 | | - FFileHelper::LoadFileToString(Content, *TemplateName); |
| 305 | + FFileHelper::LoadFileToString(Content, *TemplateFilePath); |
309 | 306 | Content = Content.Replace(TEXT("TemplateName"), *ClassName) |
310 | 307 | .Replace(TEXT("ClassName"), *UnLua::IntelliSense::GetTypeName(Class)); |
311 | 308 |
|
|
0 commit comments