Compare commits
41 Commits
7e393cd7bb
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| e06de3f37e | |||
|
|
9056e32b00 | ||
|
|
2b4db1367d | ||
|
|
b1d862ded9 | ||
|
|
365442bbb7 | ||
|
|
94816eb54b | ||
|
|
7d9c2dfce8 | ||
|
|
bd5b2e9f3a | ||
|
|
c8ade04bc8 | ||
|
|
12add78480 | ||
|
|
9bdb9bac9a | ||
|
|
c959246bc7 | ||
|
|
e1986ef42f | ||
|
|
ee4371c320 | ||
|
|
6d97d86c1d | ||
|
|
9b0eef7e4f | ||
|
|
f40d53a6ba | ||
|
|
9d24abd287 | ||
|
|
f00d4d1baf | ||
|
|
0ddc2363c0 | ||
|
|
9e071fd29e | ||
|
|
5bf29d6cdb | ||
|
|
cc1c8fa880 | ||
| 7d48a2d40b | |||
| 0361eb2c00 | |||
| 47e434f596 | |||
| 5f827eeadf | |||
| 970101a74c | |||
| 3f02fd02e5 | |||
| 4662e6701a | |||
| ecd15c271f | |||
| 494d76833f | |||
| da46541a07 | |||
| ef5830dea3 | |||
| c7e3a83497 | |||
| 646276ab2c | |||
| 7b9a33abfe | |||
| 3b9a02b3b1 | |||
| dd3648f5b9 | |||
| a3a120491d | |||
| eb402e0458 |
@@ -113,3 +113,6 @@ ConnectionType=USBOnly
|
|||||||
bUseManualIPAddress=False
|
bUseManualIPAddress=False
|
||||||
ManualIPAddress=
|
ManualIPAddress=
|
||||||
|
|
||||||
|
[/Script/Engine.AudioSettings]
|
||||||
|
DefaultBaseSoundMix=/Game/Sounds/MainSoundMix.MainSoundMix
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Content/Input/Controller/C_Aim_IA.uasset
Normal file
BIN
Content/Input/Controller/C_Aim_IA.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Controller/C_Crouch_IA.uasset
Normal file
BIN
Content/Input/Controller/C_Crouch_IA.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Controller/C_FireMode_IA.uasset
Normal file
BIN
Content/Input/Controller/C_FireMode_IA.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Controller/C_Fire_IA.uasset
Normal file
BIN
Content/Input/Controller/C_Fire_IA.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Controller/C_Gadget_IA.uasset
Normal file
BIN
Content/Input/Controller/C_Gadget_IA.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Controller/C_Grenade_IA.uasset
Normal file
BIN
Content/Input/Controller/C_Grenade_IA.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Controller/C_Interact_IA.uasset
Normal file
BIN
Content/Input/Controller/C_Interact_IA.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Controller/C_Jump_IA.uasset
Normal file
BIN
Content/Input/Controller/C_Jump_IA.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Controller/C_LeanLeft_IA.uasset
Normal file
BIN
Content/Input/Controller/C_LeanLeft_IA.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Controller/C_LeanRight_IA.uasset
Normal file
BIN
Content/Input/Controller/C_LeanRight_IA.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Controller/C_Look_IA.uasset
Normal file
BIN
Content/Input/Controller/C_Look_IA.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Controller/C_Melee_IA.uasset
Normal file
BIN
Content/Input/Controller/C_Melee_IA.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Controller/C_Move_IA.uasset
Normal file
BIN
Content/Input/Controller/C_Move_IA.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Controller/C_OpticMode_IA.uasset
Normal file
BIN
Content/Input/Controller/C_OpticMode_IA.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Controller/C_Pause_IA.uasset
Normal file
BIN
Content/Input/Controller/C_Pause_IA.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Controller/C_Ping_IA.uasset
Normal file
BIN
Content/Input/Controller/C_Ping_IA.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Controller/C_Prone_IA.uasset
Normal file
BIN
Content/Input/Controller/C_Prone_IA.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Controller/C_Reload_IA.uasset
Normal file
BIN
Content/Input/Controller/C_Reload_IA.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Controller/C_Sprint_IA.uasset
Normal file
BIN
Content/Input/Controller/C_Sprint_IA.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Controller/C_SwapWeapon.uasset
Normal file
BIN
Content/Input/Controller/C_SwapWeapon.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Controller/C_SwitchToPrimaryWeapon_IA.uasset
Normal file
BIN
Content/Input/Controller/C_SwitchToPrimaryWeapon_IA.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Controller/C_SwitchToSecondaryWeapon_IA.uasset
Normal file
BIN
Content/Input/Controller/C_SwitchToSecondaryWeapon_IA.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Controller/C_SwitchToSpecialWeapon_IA.uasset
Normal file
BIN
Content/Input/Controller/C_SwitchToSpecialWeapon_IA.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Controller/C_Voip_IA.uasset
Normal file
BIN
Content/Input/Controller/C_Voip_IA.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Controller/Controller_IMC.uasset
Normal file
BIN
Content/Input/Controller/Controller_IMC.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Crouch_IA.uasset
Normal file
BIN
Content/Input/Crouch_IA.uasset
Normal file
Binary file not shown.
Binary file not shown.
BIN
Content/Input/FireMode_IA.uasset
Normal file
BIN
Content/Input/FireMode_IA.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Fire_IA.uasset
Normal file
BIN
Content/Input/Fire_IA.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Gadget_IA.uasset
Normal file
BIN
Content/Input/Gadget_IA.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Grenade_IA.uasset
Normal file
BIN
Content/Input/Grenade_IA.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Interact_IA.uasset
Normal file
BIN
Content/Input/Interact_IA.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Melee_IA.uasset
Normal file
BIN
Content/Input/Melee_IA.uasset
Normal file
Binary file not shown.
BIN
Content/Input/OpticMode_IA.uasset
Normal file
BIN
Content/Input/OpticMode_IA.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Ping_IA.uasset
Normal file
BIN
Content/Input/Ping_IA.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Prone_IA.uasset
Normal file
BIN
Content/Input/Prone_IA.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Reload_IA.uasset
Normal file
BIN
Content/Input/Reload_IA.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Sprint_IA.uasset
Normal file
BIN
Content/Input/Sprint_IA.uasset
Normal file
Binary file not shown.
BIN
Content/Input/SwapWeapon.uasset
Normal file
BIN
Content/Input/SwapWeapon.uasset
Normal file
Binary file not shown.
BIN
Content/Input/SwitchToPrimaryWeapon_IA.uasset
Normal file
BIN
Content/Input/SwitchToPrimaryWeapon_IA.uasset
Normal file
Binary file not shown.
BIN
Content/Input/SwitchToSecondaryWeapon_IA.uasset
Normal file
BIN
Content/Input/SwitchToSecondaryWeapon_IA.uasset
Normal file
Binary file not shown.
BIN
Content/Input/SwitchToSpecialWeapon_IA.uasset
Normal file
BIN
Content/Input/SwitchToSpecialWeapon_IA.uasset
Normal file
Binary file not shown.
BIN
Content/Input/Voip_IA.uasset
Normal file
BIN
Content/Input/Voip_IA.uasset
Normal file
Binary file not shown.
BIN
Content/ProofOfConcept/CharacterMovementComponent_BP.uasset
Normal file
BIN
Content/ProofOfConcept/CharacterMovementComponent_BP.uasset
Normal file
Binary file not shown.
BIN
Content/ProofOfConcept/DDICharacterInterface_BP.uasset
Normal file
BIN
Content/ProofOfConcept/DDICharacterInterface_BP.uasset
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Content/ProofOfConcept/ProjectileBase_BP.uasset
Normal file
BIN
Content/ProofOfConcept/ProjectileBase_BP.uasset
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Content/UI_Menus/Common/DDI_CheckBox_BP1.uasset
Normal file
BIN
Content/UI_Menus/Common/DDI_CheckBox_BP1.uasset
Normal file
Binary file not shown.
BIN
Content/UI_Menus/Common/DDI_Selector.uasset
Normal file
BIN
Content/UI_Menus/Common/DDI_Selector.uasset
Normal file
Binary file not shown.
BIN
Content/UI_Menus/Common/DDI_Slider_BP.uasset
Normal file
BIN
Content/UI_Menus/Common/DDI_Slider_BP.uasset
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Content/Weapons/Pistol_03/DA_Weapon_Pistol_03.uasset
Normal file
BIN
Content/Weapons/Pistol_03/DA_Weapon_Pistol_03.uasset
Normal file
Binary file not shown.
BIN
Content/Weapons/Pistol_03/Fbx_Default_Material_0.uasset
Normal file
BIN
Content/Weapons/Pistol_03/Fbx_Default_Material_0.uasset
Normal file
Binary file not shown.
BIN
Content/Weapons/Pistol_03/Test2.uasset
Normal file
BIN
Content/Weapons/Pistol_03/Test2.uasset
Normal file
Binary file not shown.
BIN
Content/Weapons/Pistol_03/Test2_PhysicsAsset.uasset
Normal file
BIN
Content/Weapons/Pistol_03/Test2_PhysicsAsset.uasset
Normal file
Binary file not shown.
BIN
Content/Weapons/Pistol_03/Test2_Skeleton.uasset
Normal file
BIN
Content/Weapons/Pistol_03/Test2_Skeleton.uasset
Normal file
Binary file not shown.
BIN
Content/Weapons/Pistol_03/Weapon_Pistol_03_BP.uasset
Normal file
BIN
Content/Weapons/Pistol_03/Weapon_Pistol_03_BP.uasset
Normal file
Binary file not shown.
BIN
Content/Weapons/Pistol_Test/DA_Weapon_Pistol_02.uasset
Normal file
BIN
Content/Weapons/Pistol_Test/DA_Weapon_Pistol_02.uasset
Normal file
Binary file not shown.
BIN
Content/Weapons/Pistol_Test/Fbx_Default_Material_0.uasset
Normal file
BIN
Content/Weapons/Pistol_Test/Fbx_Default_Material_0.uasset
Normal file
Binary file not shown.
BIN
Content/Weapons/Pistol_Test/Weapon_BP_Pistol_02.uasset
Normal file
BIN
Content/Weapons/Pistol_Test/Weapon_BP_Pistol_02.uasset
Normal file
Binary file not shown.
BIN
Content/Weapons/Pistol_Test/test.uasset
Normal file
BIN
Content/Weapons/Pistol_Test/test.uasset
Normal file
Binary file not shown.
BIN
Content/Weapons/Pistol_Test/test_PhysicsAsset.uasset
Normal file
BIN
Content/Weapons/Pistol_Test/test_PhysicsAsset.uasset
Normal file
Binary file not shown.
BIN
Content/Weapons/Pistol_Test/test_Skeleton.uasset
Normal file
BIN
Content/Weapons/Pistol_Test/test_Skeleton.uasset
Normal file
Binary file not shown.
Binary file not shown.
BIN
Content/Worlds/_GENERATED/Core/ProjectileBase.uasset
Normal file
BIN
Content/Worlds/_GENERATED/Core/ProjectileBase.uasset
Normal file
Binary file not shown.
@@ -1,4 +1,5 @@
|
|||||||
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
|
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
|
||||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=83F7D316_002D1724_002D38F0_002D85D9_002D704D5DF137A0_002Fdl_003ASource_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003FProgram_0020Files_003FEpic_0020Games_003FUE_005F5_002E7_003FEngine_003FSource_002Fd_003ARuntime_002Fd_003AEngine_002Fd_003AClasses_002Fd_003AGameFramework_002Ff_003AActor_002Eh/@EntryIndexedValue">ForceIncluded</s:String>
|
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=83F7D316_002D1724_002D38F0_002D85D9_002D704D5DF137A0_002Fdl_003ASource_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003FProgram_0020Files_003FEpic_0020Games_003FUE_005F5_002E7_003FEngine_003FSource_002Fd_003ARuntime_002Fd_003AEngine_002Fd_003AClasses_002Fd_003AGameFramework_002Ff_003AActor_002Eh/@EntryIndexedValue">ForceIncluded</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=83F7D316_002D1724_002D38F0_002D85D9_002D704D5DF137A0_002Fdl_003ASource_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003FProgram_0020Files_003FEpic_0020Games_003FUE_005F5_002E7_003FEngine_003FSource_002Fd_003ARuntime_002Fd_003AEngine_002Fd_003AClasses_002Fd_003AGameFramework_002Ff_003ACharacterMovementComponent_002Eh/@EntryIndexedValue">ForceIncluded</s:String>
|
||||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=83F7D316_002D1724_002D38F0_002D85D9_002D704D5DF137A0_002Fdl_003ASource_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003FProgram_0020Files_003FEpic_0020Games_003FUE_005F5_002E7_003FEngine_003FSource_002Fd_003ARuntime_002Fd_003AEngine_002Fd_003AClasses_002Fd_003APhysicsEngine_002Ff_003APhysicsSpringComponent_002Eh/@EntryIndexedValue">ForceIncluded</s:String>
|
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=83F7D316_002D1724_002D38F0_002D85D9_002D704D5DF137A0_002Fdl_003ASource_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003FProgram_0020Files_003FEpic_0020Games_003FUE_005F5_002E7_003FEngine_003FSource_002Fd_003ARuntime_002Fd_003AEngine_002Fd_003AClasses_002Fd_003APhysicsEngine_002Ff_003APhysicsSpringComponent_002Eh/@EntryIndexedValue">ForceIncluded</s:String>
|
||||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=83F7D316_002D1724_002D38F0_002D85D9_002D704D5DF137A0_002Fdl_003ASource_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003FProgram_0020Files_003FEpic_0020Games_003FUE_005F5_002E7_003FEngine_003FSource_002Fd_003ARuntime_002Fd_003AUMG_002Fd_003APublic_002Fd_003AComponents_002Ff_003AWidgetSwitcher_002Eh/@EntryIndexedValue">ForceIncluded</s:String></wpf:ResourceDictionary>
|
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=83F7D316_002D1724_002D38F0_002D85D9_002D704D5DF137A0_002Fdl_003ASource_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003FProgram_0020Files_003FEpic_0020Games_003FUE_005F5_002E7_003FEngine_003FSource_002Fd_003ARuntime_002Fd_003AUMG_002Fd_003APublic_002Fd_003AComponents_002Ff_003AWidgetSwitcher_002Eh/@EntryIndexedValue">ForceIncluded</s:String></wpf:ResourceDictionary>
|
||||||
@@ -9,6 +9,7 @@ UDDIHealth::UDDIHealth()
|
|||||||
// Set this component to be initialized when the game starts, and to be ticked every frame. You can turn these features
|
// Set this component to be initialized when the game starts, and to be ticked every frame. You can turn these features
|
||||||
// off to improve performance if you don't need them.
|
// off to improve performance if you don't need them.
|
||||||
PrimaryComponentTick.bCanEverTick = true;
|
PrimaryComponentTick.bCanEverTick = true;
|
||||||
|
SetIsReplicatedByDefault(true);
|
||||||
MaxHealth = 0;
|
MaxHealth = 0;
|
||||||
CurrentHealth = 0;
|
CurrentHealth = 0;
|
||||||
ClassName = ClassNames::Scout;
|
ClassName = ClassNames::Scout;
|
||||||
@@ -41,7 +42,7 @@ void UDDIHealth::BeginPlay()
|
|||||||
MaxHealth += seg;
|
MaxHealth += seg;
|
||||||
|
|
||||||
CurrentHealth = MaxHealth;
|
CurrentHealth = MaxHealth;
|
||||||
GEngine->AddOnScreenDebugMessage(-1, 5.0f, FColor::Cyan, FString::Printf(TEXT("CurrentHealth: %d"), CurrentHealth));
|
GEngine->AddOnScreenDebugMessage(-1, 5.0f, FColor::Emerald, FString::Printf(TEXT("CurrentHealth: %d"), CurrentHealth));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -81,10 +82,9 @@ void UDDIHealth::Heal()
|
|||||||
// Called to cause damage
|
// Called to cause damage
|
||||||
void UDDIHealth::TakeDamage(int DamageValue)
|
void UDDIHealth::TakeDamage(int DamageValue)
|
||||||
{
|
{
|
||||||
// if (HealTimer.IsValid())
|
|
||||||
// HealTimer.Invalidate();
|
|
||||||
GetWorld()->GetTimerManager().ClearTimer(HealTimer);
|
GetWorld()->GetTimerManager().ClearTimer(HealTimer);
|
||||||
|
|
||||||
CurrentHealth -= DamageValue;
|
CurrentHealth -= DamageValue;
|
||||||
|
GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Cyan, FString::Printf(TEXT("Client Hit\nHealth: %d"), CurrentHealth));
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -36,13 +36,13 @@ protected:
|
|||||||
ClassNames ClassName;
|
ClassNames ClassName;
|
||||||
|
|
||||||
/*Functions*/
|
/*Functions*/
|
||||||
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, Category = "Health")
|
|
||||||
void TakeDamage(int DamageValue);
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
/*Properties*/
|
/*Properties*/
|
||||||
|
|
||||||
/*Functions*/
|
/*Functions*/
|
||||||
|
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, Category = "Health")
|
||||||
|
void TakeDamage(int DamageValue);
|
||||||
|
|
||||||
/*C++ only declarations*/
|
/*C++ only declarations*/
|
||||||
private:
|
private:
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ struct FHealthSegment : public FTableRowBase
|
|||||||
GENERATED_BODY()
|
GENERATED_BODY()
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Health Segments")
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Health Segments")
|
||||||
ClassNames Class;
|
ClassNames Class = ClassNames::Basic;
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Health Segments")
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Health Segments")
|
||||||
TArray<int> SegmentList;
|
TArray<int> SegmentList;
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,10 @@
|
|||||||
|
|
||||||
|
|
||||||
#include "DDICharacter.h"
|
#include "DDICharacter.h"
|
||||||
|
|
||||||
|
#include "Components/CapsuleComponent.h"
|
||||||
#include "GameFramework/SpringArmComponent.h"
|
#include "GameFramework/SpringArmComponent.h"
|
||||||
|
#include "OpenConflict/Weapons/Projectiles/ProjectileBase.h"
|
||||||
|
|
||||||
// Sets default values
|
// Sets default values
|
||||||
ADDICharacter::ADDICharacter()
|
ADDICharacter::ADDICharacter()
|
||||||
@@ -17,6 +20,12 @@ ADDICharacter::ADDICharacter()
|
|||||||
CameraComponent->SetRelativeLocation(FVector(0.0f, 0.0f, 50.0f));
|
CameraComponent->SetRelativeLocation(FVector(0.0f, 0.0f, 50.0f));
|
||||||
CameraComponent->bUsePawnControlRotation = true;
|
CameraComponent->bUsePawnControlRotation = true;
|
||||||
|
|
||||||
|
HealthComponent = CreateDefaultSubobject<UDDIHealth>(TEXT("HealthComponent"));
|
||||||
|
|
||||||
|
GetCapsuleComponent()->SetCollisionProfileName(TEXT("BlockAllDynamic"));
|
||||||
|
GetCapsuleComponent()->SetGenerateOverlapEvents(true);
|
||||||
|
GetCapsuleComponent()->SetNotifyRigidBodyCollision(true);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -24,6 +33,11 @@ ADDICharacter::ADDICharacter()
|
|||||||
void ADDICharacter::BeginPlay()
|
void ADDICharacter::BeginPlay()
|
||||||
{
|
{
|
||||||
Super::BeginPlay();
|
Super::BeginPlay();
|
||||||
|
|
||||||
|
if (GetCapsuleComponent())
|
||||||
|
{
|
||||||
|
GetCapsuleComponent()->OnComponentHit.AddDynamic(this, &ADDICharacter::OnHit);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -34,4 +48,69 @@ void ADDICharacter::Tick(float DeltaTime)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ADDICharacter::OnHit(UPrimitiveComponent* HitComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, FVector NormalImpulse, const FHitResult& Hit)
|
||||||
|
{
|
||||||
|
Server_CharacterHit(HitComponent, OtherActor, OtherComp, NormalImpulse, Hit);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ADDICharacter::TakeDamage(int Damage)
|
||||||
|
{
|
||||||
|
HealthComponent->TakeDamage(Damage);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool ADDICharacter::Server_SpawnProjectile_Validate()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
void ADDICharacter::Server_SpawnProjectile_Implementation()
|
||||||
|
{
|
||||||
|
FVector Location = GetActorLocation();
|
||||||
|
FRotator Rotation = GetActorRotation();
|
||||||
|
FVector Dir = GetActorForwardVector();
|
||||||
|
|
||||||
|
Location += Dir * 200.f;
|
||||||
|
if (!ProjectileClass)
|
||||||
|
{
|
||||||
|
GEngine->AddOnScreenDebugMessage(1, 10.f, FColor::Emerald, "No Projectile Set");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
GetWorld()->SpawnActor<AActor>(ProjectileClass, Location, Rotation);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void ADDICharacter::Client_CharacterHit_Implementation()
|
||||||
|
{
|
||||||
|
TakeDamage(10);
|
||||||
|
OnDamageTaken();
|
||||||
|
|
||||||
|
}
|
||||||
|
bool ADDICharacter::Client_CharacterHit_Validate()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
void ADDICharacter::Server_CharacterHit_Implementation(UPrimitiveComponent* HitComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, FVector NormalImpulse, const FHitResult& Hit)
|
||||||
|
{
|
||||||
|
if (AProjectileBase* Projectile = Cast<AProjectileBase>(OtherActor))
|
||||||
|
{
|
||||||
|
// if (Cast<ADDICharacter>(Projectile->Owner) == this)
|
||||||
|
GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Emerald, "Damage dealt");
|
||||||
|
Client_CharacterHit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
bool ADDICharacter::Server_CharacterHit_Validate(UPrimitiveComponent* HitComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, FVector NormalImpulse, const FHitResult& Hit)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ADDICharacter::OnRep_Health()
|
||||||
|
{
|
||||||
|
GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, "Health Replicated");
|
||||||
|
}
|
||||||
|
|
||||||
|
void ADDICharacter::GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const
|
||||||
|
{
|
||||||
|
Super::GetLifetimeReplicatedProps(OutLifetimeProps);
|
||||||
|
DOREPLIFETIME(ADDICharacter, HealthComponent);
|
||||||
|
}
|
||||||
@@ -4,7 +4,9 @@
|
|||||||
|
|
||||||
#include "CoreMinimal.h"
|
#include "CoreMinimal.h"
|
||||||
#include "Camera/CameraComponent.h"
|
#include "Camera/CameraComponent.h"
|
||||||
|
#include "Components/DDIHealth.h"
|
||||||
#include "GameFramework/Character.h"
|
#include "GameFramework/Character.h"
|
||||||
|
#include "Net/UnrealNetwork.h"
|
||||||
#include "DDICharacter.generated.h"
|
#include "DDICharacter.generated.h"
|
||||||
|
|
||||||
|
|
||||||
@@ -12,20 +14,69 @@ UCLASS()
|
|||||||
class OPENCONFLICT_API ADDICharacter : public ACharacter
|
class OPENCONFLICT_API ADDICharacter : public ACharacter
|
||||||
{
|
{
|
||||||
GENERATED_BODY()
|
GENERATED_BODY()
|
||||||
|
/*UPROPERTY and UFUNCTION declarations*/
|
||||||
|
private:
|
||||||
|
/*Properties*/
|
||||||
|
|
||||||
public:
|
/*Functions*/
|
||||||
// Sets default values for this character's properties
|
|
||||||
ADDICharacter();
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
/*Properties*/
|
||||||
|
|
||||||
|
/*Functions*/
|
||||||
|
UFUNCTION(BlueprintImplementableEvent, Category = "Events")
|
||||||
|
void OnDamageTaken();
|
||||||
|
|
||||||
|
public:
|
||||||
|
/*Properties*/
|
||||||
|
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Camera")
|
||||||
|
UCameraComponent* CameraComponent;
|
||||||
|
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Health", ReplicatedUsing=OnRep_Health)
|
||||||
|
UDDIHealth* HealthComponent;
|
||||||
|
|
||||||
|
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Projectile")
|
||||||
|
TSubclassOf<AActor> ProjectileClass;
|
||||||
|
|
||||||
|
/*Functions*/
|
||||||
|
UFUNCTION()
|
||||||
|
void OnHit(UPrimitiveComponent* HitComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, FVector NormalImpulse, const FHitResult& Hit);
|
||||||
|
|
||||||
|
UFUNCTION()
|
||||||
|
void TakeDamage(int Damage);
|
||||||
|
|
||||||
|
UFUNCTION(Server, Reliable, WithValidation, BlueprintCallable)
|
||||||
|
void Server_SpawnProjectile();
|
||||||
|
|
||||||
|
UFUNCTION(Client, Reliable, WithValidation, BlueprintCallable)
|
||||||
|
void Client_CharacterHit();
|
||||||
|
|
||||||
|
UFUNCTION(Server, Reliable, WithValidation, BlueprintCallable)
|
||||||
|
void Server_CharacterHit(UPrimitiveComponent* HitComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, FVector NormalImpulse, const FHitResult& Hit);
|
||||||
|
|
||||||
|
UFUNCTION()
|
||||||
|
void OnRep_Health();
|
||||||
|
|
||||||
|
/*C++ only declarations*/
|
||||||
|
private:
|
||||||
|
/*Properties*/
|
||||||
|
|
||||||
|
/*Functions*/
|
||||||
|
|
||||||
|
protected:
|
||||||
|
/*Properties*/
|
||||||
|
|
||||||
|
/*Functions*/
|
||||||
// Called when the game starts or when spawned
|
// Called when the game starts or when spawned
|
||||||
virtual void BeginPlay() override;
|
virtual void BeginPlay() override;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
/*Properties*/
|
||||||
|
|
||||||
|
/*Functions*/
|
||||||
|
// Sets default values for this character's properties
|
||||||
|
ADDICharacter();
|
||||||
// Called every frame
|
// Called every frame
|
||||||
virtual void Tick(float DeltaTime) override;
|
virtual void Tick(float DeltaTime) override;
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Camera")
|
|
||||||
UCameraComponent* CameraComponent;
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
52
Source/OpenConflict/Weapons/Projectiles/ProjectileBase.cpp
Normal file
52
Source/OpenConflict/Weapons/Projectiles/ProjectileBase.cpp
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
// Fill out your copyright notice in the Description page of Project Settings.
|
||||||
|
|
||||||
|
|
||||||
|
#include "ProjectileBase.h"
|
||||||
|
|
||||||
|
#include "OpenConflict/PlayerCharacter/DDICharacter.h"
|
||||||
|
|
||||||
|
// Sets default values
|
||||||
|
AProjectileBase::AProjectileBase()
|
||||||
|
{
|
||||||
|
// Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it.
|
||||||
|
PrimaryActorTick.bCanEverTick = true;
|
||||||
|
bReplicates = true;
|
||||||
|
bNetLoadOnClient = true;
|
||||||
|
|
||||||
|
InitialLifeSpan = 3.f;
|
||||||
|
|
||||||
|
|
||||||
|
collision = CreateDefaultSubobject<USphereComponent>("Collision");
|
||||||
|
RootComponent = collision;
|
||||||
|
collision->BodyInstance.SetCollisionProfileName(TEXT("BlockAllDynamic"));
|
||||||
|
|
||||||
|
projectileMesh = CreateDefaultSubobject<UStaticMeshComponent>("ProjectileMesh");
|
||||||
|
projectileMesh->SetupAttachment(collision);
|
||||||
|
|
||||||
|
projectileMotion = CreateDefaultSubobject<UProjectileMovementComponent>("ProjectileMovementComponent");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Called when the game starts or when spawned
|
||||||
|
void AProjectileBase::BeginPlay()
|
||||||
|
{
|
||||||
|
Super::BeginPlay();
|
||||||
|
|
||||||
|
if (collision)
|
||||||
|
collision->OnComponentHit.AddDynamic(this, &AProjectileBase::OnHit);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// Called every frame
|
||||||
|
void AProjectileBase::Tick(float DeltaTime)
|
||||||
|
{
|
||||||
|
Super::Tick(DeltaTime);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void AProjectileBase::OnHit(UPrimitiveComponent* HitComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, FVector NormalImpulse, const FHitResult& Hit)
|
||||||
|
{
|
||||||
|
// if (ADDICharacter* character = Cast<ADDICharacter>(OtherActor))
|
||||||
|
Destroy();
|
||||||
|
|
||||||
|
}
|
||||||
64
Source/OpenConflict/Weapons/Projectiles/ProjectileBase.h
Normal file
64
Source/OpenConflict/Weapons/Projectiles/ProjectileBase.h
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
// Fill out your copyright notice in the Description page of Project Settings.
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "CoreMinimal.h"
|
||||||
|
#include "Components/SphereComponent.h"
|
||||||
|
#include "GameFramework/Actor.h"
|
||||||
|
#include "GameFramework/ProjectileMovementComponent.h"
|
||||||
|
#include "ProjectileBase.generated.h"
|
||||||
|
|
||||||
|
UCLASS()
|
||||||
|
class OPENCONFLICT_API AProjectileBase : public AActor
|
||||||
|
{
|
||||||
|
GENERATED_BODY()
|
||||||
|
/*UPROPERTY and UFUNCTION declarations*/
|
||||||
|
private:
|
||||||
|
/*Properties*/
|
||||||
|
|
||||||
|
/*Functions*/
|
||||||
|
|
||||||
|
protected:
|
||||||
|
/*Properties*/
|
||||||
|
|
||||||
|
/*Functions*/
|
||||||
|
|
||||||
|
public:
|
||||||
|
/*Properties*/
|
||||||
|
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Projectile")
|
||||||
|
UStaticMeshComponent* projectileMesh;
|
||||||
|
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Projectile")
|
||||||
|
USphereComponent* collision;
|
||||||
|
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Projectile")
|
||||||
|
UProjectileMovementComponent* projectileMotion;
|
||||||
|
|
||||||
|
/*Functions*/
|
||||||
|
UFUNCTION()
|
||||||
|
void OnHit(UPrimitiveComponent* HitComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, FVector NormalImpulse, const FHitResult& Hit);
|
||||||
|
|
||||||
|
|
||||||
|
/*C++ only declarations*/
|
||||||
|
private:
|
||||||
|
/*Properties*/
|
||||||
|
|
||||||
|
/*Functions*/
|
||||||
|
|
||||||
|
protected:
|
||||||
|
/*Properties*/
|
||||||
|
|
||||||
|
/*Functions*/
|
||||||
|
// Called when the game starts
|
||||||
|
virtual void BeginPlay() override;
|
||||||
|
|
||||||
|
public:
|
||||||
|
/*Properties*/
|
||||||
|
|
||||||
|
/*Functions*/
|
||||||
|
|
||||||
|
// Called every frame
|
||||||
|
virtual void Tick(float DeltaTime) override;
|
||||||
|
|
||||||
|
// Sets default values for this actor's properties
|
||||||
|
AProjectileBase();
|
||||||
|
|
||||||
|
};
|
||||||
27
Source/OpenConflict/Weapons/WeaponBase.cpp
Normal file
27
Source/OpenConflict/Weapons/WeaponBase.cpp
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
// Fill out your copyright notice in the Description page of Project Settings.
|
||||||
|
|
||||||
|
|
||||||
|
#include "WeaponBase.h"
|
||||||
|
|
||||||
|
// Sets default values
|
||||||
|
AWeaponBase::AWeaponBase()
|
||||||
|
{
|
||||||
|
// Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it.
|
||||||
|
PrimaryActorTick.bCanEverTick = true;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// Called when the game starts or when spawned
|
||||||
|
void AWeaponBase::BeginPlay()
|
||||||
|
{
|
||||||
|
Super::BeginPlay();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// Called every frame
|
||||||
|
void AWeaponBase::Tick(float DeltaTime)
|
||||||
|
{
|
||||||
|
Super::Tick(DeltaTime);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
26
Source/OpenConflict/Weapons/WeaponBase.h
Normal file
26
Source/OpenConflict/Weapons/WeaponBase.h
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
// Fill out your copyright notice in the Description page of Project Settings.
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "CoreMinimal.h"
|
||||||
|
#include "GameFramework/Actor.h"
|
||||||
|
#include "WeaponBase.generated.h"
|
||||||
|
|
||||||
|
UCLASS()
|
||||||
|
class OPENCONFLICT_API AWeaponBase : public AActor
|
||||||
|
{
|
||||||
|
GENERATED_BODY()
|
||||||
|
|
||||||
|
public:
|
||||||
|
// Sets default values for this actor's properties
|
||||||
|
AWeaponBase();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
// Called when the game starts or when spawned
|
||||||
|
virtual void BeginPlay() override;
|
||||||
|
|
||||||
|
public:
|
||||||
|
// Called every frame
|
||||||
|
virtual void Tick(float DeltaTime) override;
|
||||||
|
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user