Space Plunder
Loading...
Searching...
No Matches
Terminal.h
Go to the documentation of this file.
1// Fill out your copyright notice in the Description page of Project Settings.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "GameplayTagContainer.h"
8#include "Components/BoxComponent.h"
9#include "Terminal.generated.h"
10
11class IMiniGame;
15UCLASS()
16class INTERACTION_API ATerminal : public AInteractableSwitch
17{
18 GENERATED_BODY()
19
20public:
21 ATerminal();
22
23 virtual void ResetTerminal();
24 void LockTerminal(const float LockoutTime);
25 void UpdateCaller() const;
26
27protected:
28
29 virtual void BeginPlay() override;
30
31 virtual void ReceiveOnInteract(AActor* Caller, const EInteractionType InteractionType) override;
32 virtual void ReceiveStartFocus(AActor* Caller) override;
33 virtual void ReceiveEndFocus(AActor* Caller) override;
34 virtual void ReceiveOnOverlap(AActor* Caller) override;
35 virtual void ReceiveOnEndOverlap(AActor* Caller) override;
36
37 // void SetMeshOutline(const bool bValue);
38
39 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category= "Terminal|Visual")
40 UStaticMeshComponent* MeshComponent;
41 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category= "Terminal|Visual")
42 UBoxComponent* BoxComponent;
43
44 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category= "Terminal|General")
45 bool bInUse = false;
46 // UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category= "Terminal|General")
47 // FGameplayTagContainer GameplayTags;
48
49
50 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category= "Terminal|General")
51 AActor* CurrentCaller;
52 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category= "Terminal|General")
53 UUserWidget* HackingWidget = nullptr;
54 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category= "Terminal|Status")
55 bool bHacked = false;
56
57private:
58
59 void SetHacked();
60
61 void DelayedPress();
62
63 UPROPERTY(EditAnywhere, Category= "Terminal|General")
64 TSubclassOf<UUserWidget> HackingWidgetClass;
65
66 IMiniGame* MiniGame;
67 FTimerHandle LockedTimerHandle;
68 FTimerHandle RoundTimerHandle;
69
70};
EInteractionType
Definition BaseData.h:149
UCLASS(Blueprintable, BlueprintType, ClassGroup=(BucciGames), meta=(BlueprintSpawnableComponent)) class CHATSYSTEM_API UChatSystemComponent
Definition ChatSystemComponent.h:13
Definition InteractableSwitch.h:11
Definition Terminal.h:17
Definition MiniGame.h:21