LEAP Documentation 40220
Documentation for the LEAP project
LockOnContainerWidget.h
Go to the documentation of this file.
1// Copyright Blue Isle Studios Inc 2018. All Rights Reserved.
2
3#pragma once
4
5#include "ProjectX.h"
7#include "LockOnContainerWidget.generated.h"
8
10class AProjectile;
13
14UCLASS()
15class PROJECTX_API ULockOnContainerWidget : public UBasicUserWidget
16{
17 GENERATED_BODY()
18
19protected:
20 virtual void NativeConstruct() override;
21
22 UFUNCTION()
23 virtual void OnPawnChanged(APawn* NewPawn);
24 UFUNCTION()
25 virtual void OnLockOn(UWeaponInstance* WeaponLocker);
26 UFUNCTION()
27 virtual void OnTentativeLockOn(UWeaponInstance* WeaponLocker);
28 UFUNCTION()
29 virtual void OnTentativeLockOff(UWeaponInstance* WeaponLocker);
30 UFUNCTION()
31 virtual void OnLockOff(UWeaponInstance* WeaponLocker);
32 UFUNCTION()
33 virtual void OnIncomingProjectileStart(AProjectile* IncomingProjectile);
34 UFUNCTION()
35 virtual void OnIncomingProjectileStop(AProjectile* IncomingProjectile);
36 UFUNCTION()
37 virtual void OnImminentMissileWarningStart(AActor* WarningInstigator);
38 UFUNCTION()
39 virtual void OnImminentMissileWarningEnd(AActor* WarningInstigator);
40
41 UFUNCTION(BlueprintImplementableEvent, Category = "LockOn Events")
42 void K2_OnImminentWarningToggle(AActor* WarningInstigator, bool bToggle);
43
44 UPROPERTY(EditDefaultsOnly, Category = "Lock On Widget")
45 TSubclassOf<ULockOnNotificationWidget> NotificationWidget = NULL;
46 UPROPERTY(EditDefaultsOnly, Category = "Lock On Widget")
47 TSubclassOf<UUserWidget> IncomingProjectilesNotificationWidget = NULL;
48
49private:
50 void BindToLockEvents();
51 void UnBindFromLockEvents();
52 void ClearReferences(bool bSkipIncomingProjectilesNotification = false);
53
54 TWeakObjectPtr<APawn> TrackedPawn = NULL;
55 TMap<uint32, ULockOnNotificationWidget*> LocksMap;
56 TArray<AProjectile*> IncomingProjectiles;
57 TWeakObjectPtr<UUserWidget> IncomingProjectilesNotificationWidgetInstance = NULL;
58};
Definition: Projectile.h:18
Definition: AdvancedUserWidget.h:30
virtual void NativeConstruct() override
Definition: AdvancedUserWidget.cpp:23
Definition: BasicUserWidget.h:14
Definition: LockOnContainerWidget.h:16
Definition: LockOnNotificationWidget.h:14
Definition: WeaponInstance.h:220