AEPlayer

Clear·2025년 2월 25일

EPortfolio docs

EPortfolio 의 플레이가 가능한 Character Class 입니다.

Inheritance Hierachy

Variables

	UPROPERTY(ReplicatedUsing = OnRep_OverlappingWeapon)
	TObjectPtr<class AEWeapon> OverlappingWeapon;

Overlap 된 Weapon 을 담을 맴버 변수입니다.
서버에서 값 변경시 클라이언트에게 자동 동기화 되며 OnRep_OverlappingWeapon 을 클라이언트에게 호출합니다.


	UPROPERTY(VisibleAnywhere, Category = "Camera")
	TObjectPtr<class USpringArmComponent> CameraBoom;

USpringArmComponent 맴버 변수입니다.


	UPROPERTY(VisibleAnywhere, Category = "Camera")
	TObjectPtr<class UCameraComponent> FollowCamera;

UCameraComponent 맴버 변수입니다.


	UPROPERTY(EditAnywhere, BlueprintReadOnly, meta = (AllowPrivateAccess = "true"))
	TObjectPtr<class UWidgetComponent> OverheadWidget;

UWidgetComponent 맴버 변수로 플레이어의 이름을 표시합니다.


	UPROPERTY(VisibleAnywhere)
	TObjectPtr<class UECombatComponent> CombatComponent;

UECombatComponent 맴버 변수입니다.


	UPROPERTY(Replicated)
	FVector2D MovementVector;

이동 입력 방향을 저장할 맴버변수입니다.


	UPROPERTY()
	TObjectPtr<class AEPlayerController> EPlayerController;

AEPlayerController 맴버 변수입니다.


	bool bElimmed = false;

플레이어의 제거 여부입니다.


	FTimerHandle ElimTimer;

제거 타이머 핸들입니다.


	FOnTimelineFloat DissolveTrack;

제거 타임라인 사용시 Float Curve를 활용할 맴버 변수입니다.


	UPROPERTY()
	TObjectPtr<class AEPlayerState> EPlayerState;

AEPlayerState 맴버 변수입니다.


	UPROPERTY(EditDefaultsOnly, Category = "Movement")
	float RunSpeed;

플레이어의 달리기 속도 입니다.


	UPROPERTY(EditDefaultsOnly, Category = "Movement")
	float WalkSpeed;

플레이어의 걷기 속도입니다.


	UPROPERTY(EditDefaultsOnly, Category = "Movement")
	float CrouchSpeed;

플레이어의 웅크리기 걷기 속도 입니다.


	UPROPERTY(EditDefaultsOnly, Category = "Movement")
	float SlowWalkSpeed;

플레이어의 느린 걷기 속도입니다.


	UPROPERTY(EditDefaultsOnly, Category = "Player Stats")
	float MaxHealth = 100.f;

플레이어의 최대 체력입니다.


	UPROPERTY(ReplicatedUsing = OnRep_Health, VisibleAnywhere, Category = "Player Stats")
	float Health = 100.f;

플레이어의 현재 체력입니다.


	UPROPERTY(EditDefaultsOnly)
	float ElimDelay = 3.f;

제거 딜레이 입니다.


	UPROPERTY(EditDefaultsOnly, Category = "Elim")
	UAnimMontage* ElimMontage;

제거시 사용할 몽타주입니다.


	UPROPERTY(VisibleAnywhere)
	TObjectPtr<UTimelineComponent> DissolveTimeline;

UTimelineComponent 맴버 변수로 플레이어 제거시 사용됩니다.


	UPROPERTY(EditDefaultsOnly)
	TObjectPtr<UCurveFloat> DissolveCurve;

플레이어 제거시 사용될 Curve 입니다.


	UPROPERTY(VisibleAnywhere, Category = "Elim")
	TArray<UMaterialInstanceDynamic*> DynamicDissolveMaterialInstances;

플레이어 제거시 교체할 UMaterialInstanceDynamic 맴버 입니다.


	UPROPERTY(EditAnywhere, Category = "Elim")
	TArray<TObjectPtr<UMaterialInstance>> DissolveMaterialInstances;

플레이어 제거 DissolveMaterialInstances 맴버 입니다.


	UPROPERTY(EditDefaultsOnly, Category = "Input")
	TObjectPtr<class UInputMappingContext> IMCPlayer;

UInputMappingContext 맴버 입니다.


	UPROPERTY(EditDefaultsOnly, Category = "Input")
	TObjectPtr<class UInputAction> IAMove;

이동 UInputAction 입니다.


	UPROPERTY(EditDefaultsOnly, Category = "Input")
	TObjectPtr<class UInputAction> IALook;

시점 전환 UInputAction 입니다.


	UPROPERTY(EditDefaultsOnly, Category = "Input")
	TObjectPtr<class UInputAction> IAJump;

점프 UInputAction 입니다.


	UPROPERTY(EditDefaultsOnly, Category = "Input")
	TObjectPtr<class UInputAction> IAEquip;

장착 UInputAction 입니다.


	UPROPERTY(EditDefaultsOnly, Category = "Input")
	TObjectPtr<class UInputAction> IACrouch;

웅크리기 UInputAction 입니다.


	UPROPERTY(EditDefaultsOnly, Category = "Input")
	TObjectPtr<class UInputAction> IARun;

달리기 UInputAction 입니다.


	UPROPERTY(EditDefaultsOnly, Category = "Input")
	TObjectPtr<class UInputAction> IASlowWalk;

느린 걷기 UInputAction 입니다.


	UPROPERTY(EditDefaultsOnly, Category = "Input")
	TObjectPtr<class UInputAction> IAAiming;

에임 조준 UInputAction 입니다.


	UPROPERTY(EditDefaultsOnly, Category = "Input")
	TObjectPtr<class UInputAction> IAFire;

발사 UInputAction 입니다.


	UPROPERTY(EditDefaultsOnly, Category = "Input")
	TObjectPtr<class UInputAction> IADodge;

회피 동작 UInputAction 입니다.


	UPROPERTY(EditDefaultsOnly, Category = "Input")
	TObjectPtr<class UInputAction> IAReload;

재장전 UInputAction 입니다.

Constructor

Override Functions


	virtual void Tick(float InDeltaTime) override;

PollInit 실행

Functions


	void MoveAction(const struct FInputActionValue& InputActionValue);

Controller 의 Yaw 회전 값에 따라 이동합니다.


	void LookAction(const struct FInputActionValue& InputActionValue);

Controller 의 Yaw , Picth 의 값을 조정합니다.


	void JumpAction(const struct FInputActionValue& InputActionValue);

bIsCrouched 상태가 아니라면 점프합니다.


	void EquipAction(const struct FInputActionValue& InputActionValue);

CombatComponent 가 존재한다면


	void CrouchAction(const struct FInputActionValue& InputActionValue);

bIsCrouched 상태에 따라 웅크리기와 웅크리기 해제


	void RunAction(const struct FInputActionValue& InputActionValue);

조준중이거나 발사중이라면 함수 종료
InputActionValue 에 따라 SetMaxSpeed최고속력 업데이트


	void SlowWalkAction(const struct FInputActionValue& InputActionValue);

InputActionValue 에 따라 SetMaxSpeed최고속력 업데이트


	void AimingAction(const struct FInputActionValue& InputActionValue);

	void FiringAction(const struct FInputActionValue& InputActionValue);
  • CombatComponent Firing발사 상태 업데이트
  • SetMaxSpeed최고속력 업데이트

	void DodgeAction(const struct FInputActionValue& InputActionValue);

	void ReloadAction(const struct FInputActionValue& InputActionValue);
  • Reload발사 상태 업데이트

	FORCEINLINE class UCameraComponent* GetFollowCamera() const { return FollowCamera; };

	FORCEINLINE class USpringArmComponent* GetCameraBoom() const { return CameraBoom; };

	FORCEINLINE bool IsElimmed() const { return bElimmed; }

	float GetFootStepVolume() const;

	FORCEINLINE float GetHealth()    const { return Health; }

	FORCEINLINE float GetMaxHealth() const { return MaxHealth; }

	ECombatState GetCombatState() const;

    bool IsAiming();

	bool IsFiring();

	AEWeapon* GetEquippedWeapon();

	TSubclassOf<class UEPlayerLinkedAnimLayer> GetAnimLayer();

	FVector GetHitTarget() const;
profile
Programmer

0개의 댓글