diff --git a/Content/Legumix/Player/BP_Play.uasset b/Content/Legumix/Player/BP_Play.uasset index f3813cf..6c89a76 100644 --- a/Content/Legumix/Player/BP_Play.uasset +++ b/Content/Legumix/Player/BP_Play.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5aa74ea2eb4bf3efb54f12818deed44f3e66c3affd22059e97b6de236026d3e3 -size 90105 +oid sha256:a6394dc8bd43c1199896af3b09ce201c36ca3ee2ee5569ac7c986802be9d1074 +size 103103 diff --git a/Content/Legumix/Player/BP_Player.uasset b/Content/Legumix/Player/BP_Player.uasset deleted file mode 100644 index 2f17b6b..0000000 --- a/Content/Legumix/Player/BP_Player.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:753ea5e4b6acedce454e964d906df3a3a0532fa7f9c6535a87505bf4e8f60a21 -size 60088 diff --git a/Content/Legumix/Weapon/Ammo/BP_Tracer.uasset b/Content/Legumix/Weapon/Ammo/BP_Tracer.uasset index 10d8885..5a13942 100644 --- a/Content/Legumix/Weapon/Ammo/BP_Tracer.uasset +++ b/Content/Legumix/Weapon/Ammo/BP_Tracer.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dfa3f0af4efb1e6732a8ffa4235697431292e4a8e09211d6484add25c015af3d -size 95427 +oid sha256:0d8d9e1ade041b2c18b0941ef7ec790375571ada6cefbb9d5df0ee117275e3d0 +size 95154 diff --git a/Content/Legumix/Weapon/Ammo/FXE_ShotGun_Trail.uasset b/Content/Legumix/Weapon/Ammo/FXE_ShotGun_Trail.uasset index b54437d..7c3b0e1 100644 --- a/Content/Legumix/Weapon/Ammo/FXE_ShotGun_Trail.uasset +++ b/Content/Legumix/Weapon/Ammo/FXE_ShotGun_Trail.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f319a772b479fb77c96461a89e2cfb742316cfe9af7a5532d2366322a2fe8c03 -size 348406 +oid sha256:0c6da2a2f17dfdea9776b237fdf79883ff8dc11d327addaa698eb4a8c395eb48 +size 337453 diff --git a/Content/Legumix/Weapon/VFX/ProjectileHit/NS_ProjectileHit.uasset b/Content/Legumix/Weapon/VFX/ProjectileHit/NS_ProjectileHit.uasset index cc1cabd..b72bad4 100644 --- a/Content/Legumix/Weapon/VFX/ProjectileHit/NS_ProjectileHit.uasset +++ b/Content/Legumix/Weapon/VFX/ProjectileHit/NS_ProjectileHit.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1c84915aa1694b328c42fa96c3886dfb8cf110387da645127031509a9946d6d0 -size 210631 +oid sha256:e16739e5fdd5089468ec99e7279e624985e0f621e66fbce5df408056f4ca8832 +size 210715 diff --git a/Plugins/FMODStudioNiagara/Binaries/Win64/UnrealEditor-FMODStudioNiagara.pdb b/Plugins/FMODStudioNiagara/Binaries/Win64/UnrealEditor-FMODStudioNiagara.pdb index b7270a9..bcb2a0f 100644 --- a/Plugins/FMODStudioNiagara/Binaries/Win64/UnrealEditor-FMODStudioNiagara.pdb +++ b/Plugins/FMODStudioNiagara/Binaries/Win64/UnrealEditor-FMODStudioNiagara.pdb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:00552f5c9ac368a603670e87a704df5ad1114f35d30cc20694e6cb766fb2e8f3 -size 65622016 +oid sha256:82f689c996d185b6a7b87026be21593479634e4119b31638a640b5bda185d576 +size 65548288 diff --git a/Source/LegumeMix/Private/Player/LMPlayer.cpp b/Source/LegumeMix/Private/Player/LMPlayer.cpp index f01a0cd..7260d44 100644 --- a/Source/LegumeMix/Private/Player/LMPlayer.cpp +++ b/Source/LegumeMix/Private/Player/LMPlayer.cpp @@ -13,21 +13,19 @@ ALMPlayer::ALMPlayer() { - // Set this character to call Tick() every frame. You can turn this off to improve performance if you don't need it. PrimaryActorTick.bCanEverTick = true; - Camera = CreateDefaultSubobject(TEXT("Camera")); - Camera->SetupAttachment(RootComponent); - Camera->bUsePawnControlRotation = true; - Camera->SetRelativeLocation(FVector(20, 0, 90)); - - ArmsMesh = CreateDefaultSubobject(TEXT("Arms Mesh")); - ArmsMesh->SetupAttachment(Camera); + // Camera = CreateDefaultSubobject(TEXT("Camera")); + // Camera->SetupAttachment(RootComponent); + // Camera->bUsePawnControlRotation = true; + // Camera->SetRelativeLocation(FVector(20, 0, 90)); + // + // ArmsMesh = CreateDefaultSubobject(TEXT("Arms Mesh")); + // ArmsMesh->SetupAttachment(Camera); SpreadStream = FRandomStream(FMath::Rand()); } -// Called when the game starts or when spawned void ALMPlayer::BeginPlay() { Super::BeginPlay(); @@ -71,7 +69,7 @@ void ALMPlayer::SetWeaponManager(ULMWeaponManager* Manager) } WeaponManager = Manager; - WeaponManager->Initialize(ArmsMesh); + WeaponManager->Initialize(GetArms()); } void ALMPlayer::PlayAnimation(UAnimMontage* Animation) @@ -122,15 +120,31 @@ void ALMPlayer::FireBullets(const FLMBulletInfo Settings) } } -FVector ALMPlayer::GetWeaponFiringOrigin() const +FVector ALMPlayer::GetWeaponFiringOrigin() { - if (!Camera) + if (!GetCam()) { GEngine->AddOnScreenDebugMessage(INDEX_NONE, 10.f, FColor::Silver, TEXT("No camera ???")); return FVector::ZeroVector; } - return Camera->GetComponentTransform().GetLocation(); + return GetCam()->GetComponentTransform().GetLocation(); } -FVector ALMPlayer::GetAimVector() const { return Camera->GetForwardVector(); } +FVector ALMPlayer::GetAimVector() { return GetCam()->GetForwardVector(); } + +UCameraComponent* ALMPlayer::GetCam() +{ + if (!Camera) + Camera = GetCamera(); + + return Camera; +} + +USkeletalMeshComponent* ALMPlayer::GetArms() +{ + if (!ArmsMesh) + ArmsMesh = GetArmsBP(); + + return ArmsMesh; +} diff --git a/Source/LegumeMix/Public/Player/LMPlayer.h b/Source/LegumeMix/Public/Player/LMPlayer.h index e9ed6f6..26ee4b9 100644 --- a/Source/LegumeMix/Public/Player/LMPlayer.h +++ b/Source/LegumeMix/Public/Player/LMPlayer.h @@ -60,10 +60,10 @@ public: void FireBullets(const FLMBulletInfo Settings); UFUNCTION(BlueprintCallable) - FVector GetWeaponFiringOrigin() const; + FVector GetWeaponFiringOrigin(); UFUNCTION(BlueprintCallable) - FVector GetAimVector() const; + FVector GetAimVector(); UFUNCTION(BlueprintCallable, BlueprintImplementableEvent) void WeaponFired(); @@ -83,6 +83,15 @@ public: UFUNCTION(BlueprintImplementableEvent, Category=Legumix) void OnReload(); +public: + UFUNCTION(BlueprintImplementableEvent) + UCameraComponent* GetCamera(); + UCameraComponent* GetCam(); + + UFUNCTION(BlueprintImplementableEvent) + USkeletalMeshComponent* GetArmsBP(); + USkeletalMeshComponent* GetArms(); + private: UPROPERTY(EditAnywhere, BlueprintReadOnly, Category=Legumix, meta = (AllowPrivateAccess = true)) TObjectPtr WeaponManager;