LEAP Documentation 40220
Documentation for the LEAP project
ProjectX.h
Go to the documentation of this file.
1// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Debug.h"
6#include "CoreMinimal.h"
7#include "Engine/World.h"
8#include "Runtime/Engine/Public/EngineUtils.h"
9#include "Runtime/Engine/Public/TimerManager.h"
10#include "Runtime/Engine/Public/CollisionQueryParams.h"
11#include "Runtime/CoreUObject/Public/UObject/UObjectIterator.h"
12#include "ProjectX.generated.h"
13
14DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGenericDelegateSignature);
15
16DECLARE_LOG_CATEGORY_EXTERN(LogOnlineInterface, Log, Display);
17DECLARE_LOG_CATEGORY_EXTERN(LogSpawning, Log, All);
18DECLARE_LOG_CATEGORY_EXTERN(LogOrbitCamera, Log, All);
19
20UCLASS()
21class UProjectX : public UObject
22{
23 GENERATED_BODY()
24};
25
26UENUM(BlueprintType)
27enum class EBuildType : uint8
28{
29 Development = 0,
30 Release = 1,
31 Patch = 2,
32};
33
34UENUM(BlueprintType)
35enum class EActorLevelState : uint8
36{
37 None = 0,
38 Removed = 1
39};
40
41USTRUCT(Blueprintable)
43{
44 GENERATED_USTRUCT_BODY()
45
46public:
47 UPROPERTY()
48 AActor* Actor = nullptr;
49 UPROPERTY()
50 UPrimitiveComponent* Component = nullptr;
51 UPROPERTY()
53 UPROPERTY()
54 int32 Index = INDEX_NONE;
55};
56
57#define STEAM_APP_ID 906930
58
59//Trace Channels
60#define ECC_InteractionTrace ECC_GameTraceChannel2
61
62//Collision Profiles
63#define CP_Pawn FName("Pawn")
64#define CP_Deployable FName("Deployable")
65#define CP_HunterInvisible FName("HunterInvisibility")
66
67#define ECC_WorldOnly ECC_GameTraceChannel6
68#define ECC_WaterBlock ECC_GameTraceChannel7
69
70#define ECC_ClientProjectile ECC_GameTraceChannel11
71#define ECC_AimAssistTrace ECC_GameTraceChannel12
72#define ECC_WeaponTrace ECC_GameTraceChannel3
73#define ECC_WeaponTracePenetrateTarget ECC_GameTraceChannel4
74#define ECC_TraceValidation ECC_GameTraceChannel8
75#define ECC_ExtentTraceTargetCollector ECC_GameTraceChannel10
76#define ECC_Explosion ECC_GameTraceChannel15
77#define ECC_Terrain ECC_GameTraceChannel17
78
79#define WORLD_MIN_Z -100000.0f
80#define WORLD_MAX_Z 100000.0f
81#define CLAMPED_DELTATIME FMath::Clamp(GetWorld() ? GetWorld()->GetDeltaSeconds() : 0.033f, SMALL_NUMBER, 0.1f)
82#define CLAMP_DELTATIME(c) FMath::Clamp(c, SMALL_NUMBER, 0.1f)
83
84#define IS_CONSOLE_PLATFORM (PLATFORM_PS4 || PLATFORM_XBOXONE || PLATFORM_SWITCH || PLATFORM_PS5 || PLATFORM_XSX)
85#define PLATFORM_XBOX (PLATFORM_XBOXONE || PLATFORM_XSX)
86#define PLATFORM_PLAYSTATION (PLATFORM_PS4 || PLATFORM_PS5)
87
88DECLARE_STATS_GROUP(TEXT("ProjectY"), STATGROUP_PROJECTY, STATCAT_Advanced);
89
90#define VALIDATE_OBJECT_ITERATOR(c,w,v) \
91{ \
92 if (((w != NULL) && (c->GetWorld() != w)) || c->IsPendingKill()) \
93 { \
94 v; \
95 } \
96}
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGenericDelegateSignature)
EBuildType
Definition: ProjectX.h:28
@ Release
Definition: TelekenesisComponent.cpp:166
DECLARE_STATS_GROUP(TEXT("ProjectY"), STATGROUP_PROJECTY, STATCAT_Advanced)
EActorLevelState
Definition: ProjectX.h:36
DECLARE_LOG_CATEGORY_EXTERN(LogOnlineInterface, Log, Display)
Definition: ProjectX.h:22
Definition: ProjectX.h:43