Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma once
- #include "GameFramework/Character.h"
- #include "AuroraBaseWeapon.h"
- #include "AuroraBaseCharacter.generated.h"
- UCLASS(Blueprintable)
- class ENTERAURORA_API AAuroraBaseCharacter : public ACharacter
- {
- GENERATED_BODY()
- /* Camera Boom Component */
- UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera, meta = (AllowPrivateAccess = "true"))
- class USpringArmComponent* cameraBoom;
- /* Main Camera Component */
- UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera, meta = (AllowPrivateAccess = "true"))
- class UCameraComponent* mainCamera;
- public:
- /* Constructor */
- AAuroraBaseCharacter(const FObjectInitializer& ObjectInitializer);
- /* Initialization */
- virtual void BeginPlay() override;
- /* Update */
- virtual void Tick( float DeltaSeconds ) override;
- /* Input */
- virtual void SetupPlayerInputComponent(class UInputComponent* InputComponent) override;
- /* Character Properties */
- UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Character")
- float currentHealth;
- UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Character")
- float maxHealth;
- UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Character")
- float moveSpeed;
- float joystickXVal;
- float joystickYVal;
- /* Inventory and weapons */
- UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Character Inventory")
- TSubclassOf<AAuroraBaseWeapon> primaryWeapon;
- UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Character Inventory")
- FName primarySocket;
- AAuroraBaseWeapon* currentWeapon;
- /* Movement Functions */
- void OnMoveForward(float Rate);
- void OnMoveSideways(float Rate);
- void OnGetJoystickX(float Rate);
- void OnGetJoystickY(float Rate);
- void OnCharacterRotation();
- void SpawnWeapon(TSubclassOf<AAuroraBaseWeapon> weaponToSpawn, FName socketToAttach);
- /* Returns CameraBoom sub object */
- FORCEINLINE class USpringArmComponent* GetCameraBoom() const { return cameraBoom; }
- /* Returns FollowCamera sub object */
- FORCEINLINE class UCameraComponent* GetMainCamera() const { return mainCamera; }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement