// Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" #include "GameFramework/PlayerController.h" #include "MPlayerController.generated.h" /** * */ class UUserWidget; class AMWeapon; UCLASS() class MECHDEFENCE_API AMPlayerController : public APlayerController { GENERATED_BODY() public: AMPlayerController(); UFUNCTION(BlueprintImplementableEvent, Category = "PlayerController") void OnGameOver(); UFUNCTION(BlueprintImplementableEvent, Category = "PlayerController") void OnLevelComplete(); UFUNCTION(BlueprintImplementableEvent) void HandleTargetHit(AMWeapon* Weapon, AActor* Target, AActor* Shooter); protected: UPROPERTY(EditDefaultsOnly, Category = "UI") TSubclassOf PauseWidgetClass; UPROPERTY(EditDefaultsOnly, Category = "UI") TSubclassOf HudWidgetClass; void SetupInputComponent() override; UFUNCTION(BlueprintCallable) void TogglePause(); void BeginPlay() override; UPROPERTY(BlueprintReadOnly, Category = "UI") UUserWidget* PauseWidget; UPROPERTY(BlueprintReadOnly, Category = "UI") UUserWidget* HudWidget; };