LeviLamina
Loading...
Searching...
No Matches
DimensionTransitionSystem.h
1
#pragma once
2
3
#include "mc/_HeaderOutputPredefine.h"
4
5
// auto generated inclusion list
6
#include "mc/deps/ecs/ViewT.h"
7
#include "mc/deps/ecs/strict/EntityModifier.h"
8
#include "mc/deps/ecs/strict/Exclude.h"
9
#include "mc/deps/ecs/strict/Include.h"
10
11
// auto generated forward declare list
12
// clang-format off
13
class
ActorOwnerComponent
;
14
class
ChangeDimensionRequest
;
15
class
DimensionStateComponent
;
16
class
Player
;
17
class
StrictEntityContext
;
18
struct
DimensionTransitionComponent
;
19
struct
ExitFromPassengerFlagComponent
;
20
struct
PassengerComponent
;
21
struct
PlayerChangeDimensionRequestComponent
;
22
struct
PlayerComponent
;
23
struct
StateVectorComponent
;
24
struct
StopRidingRequestComponent
;
25
struct
TickingSystemWithInfo
;
26
struct
VehicleComponent
;
27
// clang-format on
28
29
class
DimensionTransitionSystem
{
30
public
:
31
// DimensionTransitionSystem inner types define
32
using
DimensionRequestHandler = ::std::function<bool(
::Player
&,
::ChangeDimensionRequest
&)>;
33
34
using
IsSuspended = ::std::function<bool(
::Player
&)>;
35
36
public
:
37
// static functions
38
// NOLINTBEGIN
39
MCAPI
static
void
_tickPortalTransition(
40
::ViewT
<
41
::StrictEntityContext
,
42
::Exclude<::PassengerComponent, ::VehicleComponent>
,
43
::ActorOwnerComponent
,
44
::DimensionTransitionComponent
const
> view,
45
::EntityModifier<::DimensionTransitionComponent>
mod
46
);
47
48
MCAPI
static
void
_tickVehicleDismount(
49
::ViewT
<
::StrictEntityContext
,
::Include<::PlayerChangeDimensionRequestComponent, ::PassengerComponent>
>
50
passengers,
51
::ViewT
<
::StrictEntityContext
,
::Include<::PlayerChangeDimensionRequestComponent>
,
::VehicleComponent
const
>
52
vehicles,
53
::EntityModifier<::StopRidingRequestComponent, ::ExitFromPassengerFlagComponent>
modifier
54
);
55
56
MCAPI static ::TickingSystemWithInfo createPortalTransition();
57
58
#ifdef LL_PLAT_C
59
MCAPI static ::TickingSystemWithInfo createReadyToContinueClient();
60
#endif
61
62
MCAPI static ::TickingSystemWithInfo createReadyToContinueServer();
63
64
MCAPI static ::TickingSystemWithInfo createVehicleDismount();
65
66
MCAPI
static
void
removeChangeDimensionRequest(
67
::StrictEntityContext
const
& entity,
68
::EntityModifier<::PlayerChangeDimensionRequestComponent>
modifier
69
);
70
71
MCAPI
static
void
requestPlayerChangeDimension(
72
::StrictEntityContext
const
& player,
73
::ChangeDimensionRequest
&& request,
74
::ViewT<::StrictEntityContext, ::DimensionStateComponent, ::StateVectorComponent>
playerData,
75
::EntityModifier<::PlayerChangeDimensionRequestComponent>
modifier
76
);
77
78
MCAPI
static
bool
shouldLevelWaitForSystem(
79
::StrictEntityContext
const
& entity,
80
::ViewT<::StrictEntityContext, ::PlayerChangeDimensionRequestComponent const>
view
81
);
82
83
MCAPI
static
void
tryHandleChangeDimensionRequestLevel(
84
::ViewT
<
85
::StrictEntityContext
,
86
::Include<::PlayerComponent>
,
87
::PlayerChangeDimensionRequestComponent
,
88
::ActorOwnerComponent
> requests,
89
::EntityModifier<::PlayerChangeDimensionRequestComponent>
modifier,
90
::std::function<
bool
(
::Player
&,
::ChangeDimensionRequest
&)>
const
& callback,
91
::std::function<
bool
(
::Player
&)>
const
& isSuspended
92
);
93
// NOLINTEND
94
};
ActorOwnerComponent
Definition
ActorOwnerComponent.h:10
ChangeDimensionRequest
Definition
ChangeDimensionRequest.h:14
DimensionStateComponent
Definition
DimensionStateComponent.h:5
DimensionTransitionSystem
Definition
DimensionTransitionSystem.h:29
EntityModifier
Definition
EntityModifier.h:6
Player
Definition
Player.h:137
StrictEntityContext
Definition
StrictEntityContext.h:14
ViewT
Definition
ViewT.h:6
DimensionTransitionComponent
Definition
DimensionTransitionComponent.h:17
Exclude
Definition
Exclude.h:6
ExitFromPassengerFlagComponent
Definition
ExitFromPassengerFlagComponent.h:5
Include
Definition
Include.h:6
PassengerComponent
Definition
PassengerComponent.h:8
PlayerChangeDimensionRequestComponent
Definition
PlayerChangeDimensionRequestComponent.h:8
PlayerComponent
Definition
PlayerComponent.h:5
StateVectorComponent
Definition
StateVectorComponent.h:8
StopRidingRequestComponent
Definition
StopRidingRequestComponent.h:5
TickingSystemWithInfo
Definition
TickingSystemWithInfo.h:13
VehicleComponent
Definition
VehicleComponent.h:10
src
mc
entity
systems
DimensionTransitionSystem.h
Generated on
for LeviLamina by
1.16.1