Files
BusyRabbit/Source/BusyRabbit/Public/BusyLevelLogicSubSystem.h
2025-07-12 13:07:01 +08:00

54 lines
1.1 KiB
C++

// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "LuaOverriderInterface.h"
#include "Subsystems/WorldSubsystem.h"
#include "BusyLevelLogicSubSystem.generated.h"
/**
*
*/
UCLASS()
class BUSYRABBIT_API UBusyLevelLogicSubSystem : public UTickableWorldSubsystem, public ILuaOverriderInterface
{
GENERATED_BODY()
public:
UBusyLevelLogicSubSystem();
public:
virtual void Initialize(FSubsystemCollectionBase& Collection) override;
virtual bool ShouldCreateSubsystem(UObject* Outer) const override;
virtual void Tick(float DeltaTime) override;
virtual FString GetLuaFilePath_Implementation() const override;
// 初始化(关卡加载时调用)
virtual void OnWorldBeginPlay(UWorld& InWorld)override;
// 销毁(关卡卸载时调用)
virtual void Deinitialize() override;
virtual TStatId GetStatId() const override;
public: // 需要蓝图实现接口
UFUNCTION(BlueprintImplementableEvent)
void ReceiveSubSystemInitialize();
UFUNCTION(BlueprintImplementableEvent)
void ReceiveWorldBeginPlay();
UFUNCTION(BlueprintImplementableEvent)
void ReceiveSubSystemTick(float DeltaTime);
};