Added Reload Wait Timer To All Weapons
This commit is contained in:
		
							parent
							
								
									055356ec01
								
							
						
					
					
						commit
						a3021a2722
					
				| @ -1,3 +1,3 @@ | ||||
| version https://git-lfs.github.com/spec/v1 | ||||
| oid sha256:d593d68d5b9a9fc58b1b7ecc44936b84e361aaa1762ab04c5924e36bfd45bee9 | ||||
| size 61494 | ||||
| oid sha256:7cfd791337f79a964dbfef919494665648f1ce39168d4f28cd122e2018c4b694 | ||||
| size 61741 | ||||
|  | ||||
							
								
								
									
										
											BIN
										
									
								
								EndlessVendetta/Content/FirstPerson/Input/Actions/IA_Reload.uasset
									 (Stored with Git LFS)
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								EndlessVendetta/Content/FirstPerson/Input/Actions/IA_Reload.uasset
									 (Stored with Git LFS)
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							| @ -256,11 +256,11 @@ void AEndlessVendettaCharacter::EquipSecondary() | ||||
| //Calls the fire function in the baseWeaponClass
 | ||||
| void AEndlessVendettaCharacter::FireCaller() | ||||
| { | ||||
| 	 if (IsValid(PrimaryWeapon)) | ||||
| 	 if (IsValid(PrimaryWeapon) && !bIsReloading) | ||||
| 	 { | ||||
| 		 PrimaryWeapon->Fire(); | ||||
| 	 } | ||||
| 	 if (IsValid(SecondaryWeapon)) | ||||
| 	 if (IsValid(SecondaryWeapon) && !bIsReloading) | ||||
| 	 { | ||||
| 		 SecondaryWeapon->Fire(); | ||||
| 	 } | ||||
| @ -330,11 +330,13 @@ void AEndlessVendettaCharacter::GunReload() | ||||
| { | ||||
| 	if (IsValid(PrimaryWeapon)) | ||||
| 	{ | ||||
| 		PrimaryWeapon->WeaponReload(); | ||||
| 		PrimaryWeapon->ReloadTimer(); | ||||
| 		bIsReloading = true; | ||||
| 	} | ||||
| 	if (IsValid(SecondaryWeapon)) | ||||
| 	{ | ||||
| 		SecondaryWeapon->WeaponReload(); | ||||
| 		SecondaryWeapon->ReloadTimer(); | ||||
| 		bIsReloading = true; | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -91,6 +91,7 @@ protected: | ||||
| 
 | ||||
| public: | ||||
| 	int Money = 2000;  | ||||
| 	bool bIsReloading = false; | ||||
| 	 | ||||
| 	/** Look Input Action */ | ||||
| 	UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Input, meta = (AllowPrivateAccess = "true")) | ||||
|  | ||||
| @ -54,6 +54,7 @@ void ABaseWeaponClass::BeginPlay() | ||||
| 	UE_LOG(LogTemp, Display, TEXT("crnnt ammo: %d"), MagazineSize); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| // Called every frame
 | ||||
| void ABaseWeaponClass::Tick(float DeltaTime) | ||||
| { | ||||
| @ -63,7 +64,6 @@ void ABaseWeaponClass::Tick(float DeltaTime) | ||||
| 	{ | ||||
| 		ApplyRecoil(DeltaTime); | ||||
| 	} | ||||
| 	UE_LOG(LogTemp, Display, TEXT("currnt pitch: %f"), currentPitch); | ||||
| 	if (currentPitch < 0 && bStopShooting) | ||||
| 	{ | ||||
| 		float increment = currentPitch * DeltaTime * 8; | ||||
| @ -213,12 +213,19 @@ void ABaseWeaponClass::WeaponScopedFire() | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| void ABaseWeaponClass::ReloadTimer() | ||||
| { | ||||
| 	GetWorldTimerManager().SetTimer(reloadTimerHandle, this, &ABaseWeaponClass::WeaponReload, TimeToReload, false); | ||||
| 	GLog->Log("ReloadTimer Activated"); | ||||
| } | ||||
| 
 | ||||
| void ABaseWeaponClass::WeaponReload() | ||||
| { | ||||
| 	if(MagazineSize > currentAmmoCount) | ||||
| 	if(MagazineSize >= currentAmmoCount) | ||||
| 	{ | ||||
| 		UE_LOG(LogTemp, Display, TEXT("Weapon Reloading: mag size: %d"), MagazineSize); | ||||
| 		currentAmmoCount = MagazineSize; | ||||
| 		endlessVendettaChar->bIsReloading = false; | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -41,10 +41,12 @@ protected: | ||||
| 	float recoilResultPitch = 0; | ||||
| 	float recoilResultYaw = 0; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| public: | ||||
| 	// Called every frame
 | ||||
| 	virtual void Tick(float DeltaTime) override; | ||||
| 	 | ||||
| 	void ReloadTimer(); | ||||
| 	UPROPERTY(EditAnywhere) | ||||
| 	FName WeaponName; | ||||
| 
 | ||||
| @ -57,6 +59,9 @@ public: | ||||
| 	UPROPERTY(EditAnywhere, BlueprintReadWrite) | ||||
| 	int MagazineSize; | ||||
| 
 | ||||
| 	UPROPERTY(EditAnywhere) | ||||
| 	float TimeToReload = 3.f; | ||||
| 
 | ||||
| 	//how many bullets until the recoil stops going up
 | ||||
| 	UPROPERTY(EditAnywhere) | ||||
| 	int howMnyShotsTillRclStop; | ||||
| @ -95,6 +100,7 @@ public: | ||||
| 	APlayerController* playerControllerRef; | ||||
| 
 | ||||
| 	FTimerHandle timerHandle; | ||||
| 	FTimerHandle reloadTimerHandle; | ||||
| 
 | ||||
| 	bool bFirstBulletShot = false; | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user