Space Plunder
Loading...
Searching...
No Matches
Weapon.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"
7#include "UObject/Interface.h"
9#include "Weapon.generated.h"
10
11UINTERFACE(MinimalAPI,meta = (CannotImplementInterfaceInBlueprint))
12class UWeapon : public UInterface
13{
14 GENERATED_BODY()
15};
16
17class WEAPONSYSTEM_API IWeapon
18{
19 GENERATED_BODY()
20
21
22public:
23
24 UFUNCTION(BlueprintCallable, Category = "Weapons")
25 virtual void InitWeapon() = 0;
27 UFUNCTION(BlueprintCallable, Category = "Weapons")
28 virtual void Fire(const FVector Location, const FRotator Rotation, const AActor* ActorToIgnore, const float Accuracy) = 0;
29 UFUNCTION(BlueprintCallable, Category = "Weapons")
30 virtual void Reload(float ReloadTime) = 0;
31 UFUNCTION(BlueprintCallable, Category = "Weapons")
32 virtual void CancelReload() = 0;
33 UFUNCTION(BlueprintCallable, Category = "Weapons")
34 virtual void SwitchAutoMode() = 0;
35 UFUNCTION(BlueprintCallable, Category = "Weapons")
36 virtual void BlindFireWeapon(const FVector Location,const FRotator Rotation, const AActor* ActorToIgnore, const float Accuracy) = 0;
37
39 UFUNCTION(BlueprintCallable, Category = "Weapon|Attachments")
40 virtual void AddAttachment(const FString& AttachmentID) = 0;
41 UFUNCTION(BlueprintCallable, Category = "Weapons")
42 virtual void ToggleAttachment(const EAttachmentType& AttachmentType) = 0;
43
44
45 UFUNCTION(BlueprintCallable, Category = "Weapons")
46 virtual void MoveUMG(bool bIsRightShoulder) = 0;
47 UFUNCTION(BlueprintCallable, Category = "Weapons")
48 virtual void Aiming(bool bIsAiming) = 0;
49
51 UFUNCTION(BlueprintCallable, Category = "Weapons")
52 virtual FWeaponData_T GetWeaponData() const = 0;
53 UFUNCTION(BlueprintCallable, Category = "Weapons")
54 virtual FWeaponStats_T GetWeaponStats() const = 0 ;
55 UFUNCTION(BlueprintCallable, Category="Weapons")
56 virtual EWeaponType GetWeaponType() const = 0;
57
58 UFUNCTION(BlueprintCallable, Category = "Weapons|Recoil")
59 virtual FTransform GetPivotPoint() const = 0;
60 UFUNCTION(BlueprintCallable, Category = "Weapons|ADS")
61 virtual FTransform GetAimDownSightSocket() const = 0;
62 UFUNCTION(BlueprintCallable, Category = "Weapons|ADS")
63 virtual float GetWeaponFOV() const = 0;
64
65 //@TODO Set Gravity
66 // virtual void SetGravity(const float Gravity) = 0;
67
68
69
70
71
72 // UFUNCTION(BlueprintCallable, Category = "Weapons")
73 // virtual FRecoilAnimData GetRecoilAnimData() = 0;
74
75 UFUNCTION(BlueprintCallable, Category = "Weapons|ADS")
76 virtual void SetWeaponShouldAutoReload(const bool bValue) = 0;
77
78 UFUNCTION(BlueprintCallable, Category = "Weapons")
79 virtual EWeaponFireMode GetFireMode() const = 0;
80
81 UFUNCTION(BlueprintCallable, Category = "Weapon")
82 virtual bool IsClipEmpty() const = 0;
83
84 UFUNCTION(BlueprintCallable, Category = "Weapons")
85 virtual void SetWeaponData(const FWeaponData_T NewWeaponData) = 0;
86
87 UFUNCTION(BlueprintCallable, Category = "Weapons")
88 virtual void SetWeaponMesh(USkeletalMesh* SkeletalMesh) = 0;
89 UFUNCTION(BlueprintCallable, Category = "Weapons")
90 virtual void SetMuzzleOffset(const FVector& Location, const FRotator& Rotation) = 0;
91 UFUNCTION(BlueprintCallable, Category = "Weapons")
92 virtual void SetRecoilPivotPoint(const FVector& Location, const FRotator& Rotation) = 0;
93
95 UFUNCTION(BlueprintCallable, Category = "Weapons")
96 virtual void SetWeaponMeshHidden(const bool bValue) = 0;
97
98 virtual void SetDebuggingStats(const bool bDebug, const bool bInfinite, const bool bBottomless) = 0;
99
101
102};
EWeaponType
Represents the types of weapons available in the game.
Definition WeaponStructs.h:83
EWeaponFireMode
Enum class representing the different fire modes for a weapon.
Definition WeaponStructs.h:99
EAttachmentType
Enum class representing different types of weapon attachments.
Definition WeaponStructs.h:150
Definition Weapon.h:18
Definition Weapon.h:13
Struct representing data of a weapon that changes.
Definition WeaponStructs.h:861
Represents statistics for a weapon.
Definition WeaponStructs.h:622