EPortfolio 에서 무기 베이스 클래스입니다.
UPROPERTY(EditDefaultsOnly, Category = "Weapon Properties") TObjectPtr<class USphereComponent> AreaSphere;픽업 가능한 USphereComponent 입니다.
UPROPERTY(EditDefaultsOnly, Category = "Weapon Properties") TObjectPtr<class UWidgetComponent> PickupWidget;픽업시 사용할 위젯입니다.
UPROPERTY(VisibleAnywhere, Category = "Weapon Properties") TObjectPtr<USkeletalMeshComponent> WeaponMesh;무기의 USkeletalMeshComponent 입니다.
UPROPERTY(ReplicatedUsing = OnRep_WeaponState, VisibleAnywhere, Category = "Weapon Properties") EWeaponState WeaponState;무기 상태입니다.
UPROPERTY(EditDefaultsOnly, Category = "WeaponData") FWeaponDatas WeaponDatas;무기의 정보 집합체 입니다.
UPROPERTY(EditDefaultsOnly, Category = "Timeline") TObjectPtr<class UTimelineComponent> Timeline;조준시 사용할 UTimelineComponent 입니다.
UPROPERTY(EditDefaultsOnly, Category = "Hit") TObjectPtr<class UMaterialInstanceConstant> HitDecal;피격시 사용할 데칼 입니다
UPROPERTY(EditDefaultsOnly, Category = "WeaponData") bool bAutomatic;연사 여부입니다.
UPROPERTY(EditDefaultsOnly, ReplicatedUsing = OnRep_Ammo, Category = "AMMO") int32 AMMO;장전된 탄약입니다.
UPROPERTY(EditDefaultsOnly, Category = "AMMO") int32 MagazineCapacity;탄창의 최대 용량입니다.
UPROPERTY() TObjectPtr<class AEPlayer> OwnerCharacter;해당 무기를 소유하고 있는 AEPlayer 입니다.
UPROPERTY() TObjectPtr<class AEPlayerController> OwnerController;해당 무기를 소유하고 있는 AEPlayerController 입니다.
UPROPERTY(EditDefaultsOnly, Category = "WeaponData") EWeaponType WeaponType;무기의 타입입니다.
- ShowPickupWidget
- SetWeaponState
- Fire
- Aimimg
- DrawDecal
- Dropped
- SetHUDAMMO
- IsAMMOEmpty
- AddAMMO
- Reload
- OnBeginOverlap
- OnEndOverlap
- OnRep_WeaponState
- OnAiming
- OnRep_AMMO
- SetAimData
- SpendAMMO
FORCEINLINE class USphereComponent* GetAreaSphere() const;
FORCEINLINE TSubclassOf<class UEPlayerLinkedAnimLayer> GetWeaponAnimLayerClass();
FORCEINLINE USkeletalMeshComponent* GetWeaponMesh() const;
FORCEINLINE UAnimMontage* GetWeaponFireMontage() const;
FORCEINLINE UAnimMontage* GetWeaponReloadMontage() const;
FORCEINLINE const FWeaponCrosshairData& GetWeaponCrosshairData() const;
FORCEINLINE const float GetAutoFireInterval() const;
FORCEINLINE const bool GetAutomatic() const;
FORCEINLINE EWeaponType GetWeaponType() const;
FORCEINLINE int32 GetAMMO() const;
FORCEINLINE int32 GetMagazineCapacity() const;