// Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" #include "GameFramework/Character.h" #include "the_twilight_abyss/BaseItems/Items/BaseItem.h" #include "Camera/CameraComponent.h" #include "Engine/PostProcessVolume.h" #include "Components/WidgetInteractionComponent.h" #include "../TurnBasedCombatV2/TurnBaseCombatV2.h" #include "TempCharacter.generated.h" UCLASS() class THE_TWILIGHT_ABYSS_API ATempCharacter : public ACharacter { GENERATED_BODY() public: // Sets default values for this character's properties ATempCharacter(); void ResetWidgetPointer() const; protected: // Called when the game starts or when spawned virtual void BeginPlay() override; void ForwardInput(float Axis); void RightMoveInput(float Axis); UFUNCTION() void Sneak(); UCapsuleComponent* PlayerCapsule; UPROPERTY() APlayerController* FirstPlayerController; UPROPERTY() UWidgetInteractionComponent* WidgetPointer; UPROPERTY() ATurnBaseCombatV2* CombatSystem; public: // Called every frame virtual void Tick(float DeltaTime) override; UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Inventory, meta = (AllowPrivateAccess = "true")) class UInventoryComponent* Inventory; //Using the InventoryComponent class // Called to bind functionality to input virtual void SetupPlayerInputComponent(class UInputComponent* PlayerInputComponent) override; void KeyPressed(); UPROPERTY(EditAnyWhere) float TraceDistance = 200; void InputDisabler(); void LineTraceLogic(); UPROPERTY() class UPawnNoiseEmitterComponent* NoiseEmitter; UPROPERTY(BlueprintReadWrite, EditAnywhere, Category= "Health") float Health; UPROPERTY(BlueprintReadWrite, EditAnywhere, Category= "Gold") int GoldBalance; UPROPERTY(VisibleDefaultsOnly, Category = "LineTrace") bool bHit; //Using the item in the inventory UFUNCTION(BlueprintCallable, Category= "Items") void UseItem(class UBaseItem* Item); // Overriding the BaseItem Class UFUNCTION(BlueprintCallable) void InputEnabler(); UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Camera") UCameraComponent* ThisCamera; FVector OriginalCameraLocation; FRotator OriginalCameraRotation; int OriginalCameraFOV; UFUNCTION(BlueprintCallable, Category= "Items") void BuyItem(AActor* Item); bool bShopKeeperText = false; UPROPERTY(BlueprintReadWrite) bool disableTab = false; APostProcessVolume* PostProcessVolume; TArray AIActors; FName Enemy; FName Ammo; UPROPERTY(EditAnywhere, BlueprintReadWrite) float ReactionSpeed = 100.0f; bool isInStealth = false; UPROPERTY() UUserWidget* ImportantStatsWidget; UPROPERTY() UUserWidget* CrossHairWidget; UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Widgets") UUserWidget* ImportantStats; UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Widgets") UUserWidget* MainMenuWidget; UPROPERTY(EditAnywhere, Category= "Widgets") TSubclassOf ImportantStatsSub; UPROPERTY(EditAnywhere, Category= "Widgets") TSubclassOf MainMenuSub; UPROPERTY(EditAnywhere, Category= "Widgets") TSubclassOf CrossHairSub; private: UPROPERTY() FHitResult OutHit; UFUNCTION() void AddToInventory(); };