81 - Drawing the Crosshairs
This commit is contained in:
parent
7127ade9ee
commit
e75c93aeb4
|
@ -7,5 +7,54 @@ void ABlasterHUD::DrawHUD()
|
|||
{
|
||||
Super::DrawHUD();
|
||||
|
||||
|
||||
FVector2D ViewportSize;
|
||||
if (GEngine)
|
||||
{
|
||||
GEngine->GameViewport->GetViewportSize(ViewportSize);
|
||||
const FVector2D ViewportCenter(ViewportSize.X / 2.f, ViewportSize.Y / 2.f);
|
||||
|
||||
if (HUDPackage.CrosshairsCenter)
|
||||
{
|
||||
DrawCrosshair(HUDPackage.CrosshairsCenter, ViewportCenter);
|
||||
}
|
||||
if (HUDPackage.CrosshairsLeft)
|
||||
{
|
||||
DrawCrosshair(HUDPackage.CrosshairsLeft, ViewportCenter);
|
||||
}
|
||||
if (HUDPackage.CrosshairsRight)
|
||||
{
|
||||
DrawCrosshair(HUDPackage.CrosshairsRight, ViewportCenter);
|
||||
}
|
||||
if (HUDPackage.CrosshairsTop)
|
||||
{
|
||||
DrawCrosshair(HUDPackage.CrosshairsTop, ViewportCenter);
|
||||
}
|
||||
if (HUDPackage.CrosshairsBottom)
|
||||
{
|
||||
DrawCrosshair(HUDPackage.CrosshairsBottom, ViewportCenter);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ABlasterHUD::DrawCrosshair(UTexture2D* Texture, FVector2D ViewportCenter)
|
||||
{
|
||||
const float TextureWidth = Texture->GetSizeX();
|
||||
const float TextureHeight = Texture->GetSizeY();
|
||||
const FVector2D TextureDrawPoint(
|
||||
ViewportCenter.X - (TextureWidth / 2.f),
|
||||
ViewportCenter.Y - (TextureHeight / 2.f)
|
||||
);
|
||||
|
||||
DrawTexture(
|
||||
Texture,
|
||||
TextureDrawPoint.X,
|
||||
TextureDrawPoint.Y,
|
||||
TextureWidth,
|
||||
TextureHeight,
|
||||
0.f,
|
||||
0.f,
|
||||
1.f,
|
||||
1.f,
|
||||
FLinearColor::White
|
||||
);
|
||||
}
|
||||
|
|
|
@ -33,6 +33,8 @@ public:
|
|||
private:
|
||||
FHUDPackage HUDPackage;
|
||||
|
||||
void DrawCrosshair(UTexture2D* Texture, FVector2D ViewportCenter);
|
||||
|
||||
public:
|
||||
FORCEINLINE void SetHUDPackage(const FHUDPackage& Package) { HUDPackage = Package; };
|
||||
};
|
||||
|
|
|
@ -14,6 +14,7 @@ ACasing::ACasing()
|
|||
ShellEjectionImpulseMax = 12.f;
|
||||
CasingMesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("CasingMesh"));
|
||||
CasingMesh->SetCollisionResponseToChannel(ECC_Camera, ECR_Ignore);
|
||||
CasingMesh->SetCollisionResponseToChannel(ECC_Pawn, ECR_Ignore);
|
||||
CasingMesh->SetSimulatePhysics(true);
|
||||
CasingMesh->SetEnableGravity(true);
|
||||
CasingMesh->SetNotifyRigidBodyCollision(true);
|
||||
|
|
Loading…
Reference in New Issue