/
Azarel
/
Metro2
Обзор
Документация
Войти
/
Azarel
/
Metro2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Source/GameJam/Private/BaseWeapon.cpp
61 строка
2 KB
Arsenii
Initial commit
12 дек 2023, 21:31
12 дек 2023, 21:31
3c2092c
Код
Авторство
О чём код?
// Fill out your copyright notice in the Description page of Project Settings. #include "BaseWeapon.h" #include "CoreMinimal.h" #include "GameFramework/Actor.h" #include "Components/SkeletalMeshComponent.h" #include "Engine/World.h" #include "Components/InputComponent.h" #include "DrawDebugHelpers.h" #include "GameFramework/PlayerController.h" DEFINE_LOG_CATEGORY_STATIC(LogWeapon, All, All); // Sets default values ABaseWeapon::ABaseWeapon() { PrimaryActorTick.bCanEverTick = false; WeaponMesh = CreateDefaultSubobject<USkeletalMeshComponent>("WeaponMesh"); SetRootComponent(WeaponMesh); PC = CreateDefaultSubobject<APlayerController>("PC"); } void ABaseWeapon::Fire() { UE_LOG(LogWeapon, Display, TEXT("Fire")); MakeShot(); } // Called when the game starts or when spawned void ABaseWeapon::BeginPlay() { Super::BeginPlay(); check(WeaponMesh); } void ABaseWeapon::MakeShot() { if (!GetWorld()) return; const FTransform SocketTransform = WeaponMesh->GetSocketTransform(Gun_socket); const FVector TraceStart = SocketTransform.GetLocation(); float MouseX; float MouseY; PC->GetMousePosition(MouseX, MouseY); UE_LOG(LogTemp, Warning, TEXT("The boolean value is %s"), (PC->GetMousePosition(MouseX, MouseY) ? TEXT("true") : TEXT("false"))); UE_LOG(LogWeapon, Display, TEXT("Mouse X %s"), MouseX); UE_LOG(LogWeapon, Display, TEXT("Mouse Y %s"), MouseY); const FVector ShootDirection(MouseX, MouseY, TraceStart.Z); const FVector TraceEnd = TraceStart + ShootDirection * TraceMaxDistance; UE_LOG(LogWeapon, Display, TEXT("Making Shot %s"), *TraceStart.ToString()); UE_LOG(LogWeapon, Display, TEXT("Mouse at %s"), *ShootDirection.ToString()); DrawDebugLine(GetWorld(), TraceStart, TraceEnd, FColor::Red, false, 3.0f, 0, 3.0f); }