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
49
_tickReadyToContinueServer(
::ViewT
<
50
::StrictEntityContext
,
51
::Exclude<::PassengerComponent, ::VehicleComponent, ::DimensionTransitionComponent>
,
52
::PlayerChangeDimensionRequestComponent
> view);
53
54
MCAPI
static
void
_tickVehicleDismount(
55
::ViewT
<
::StrictEntityContext
,
::Include<::PlayerChangeDimensionRequestComponent, ::PassengerComponent>
>
56
passengers,
57
::ViewT
<
::StrictEntityContext
,
::Include<::PlayerChangeDimensionRequestComponent>
,
::VehicleComponent
const
>
58
vehicles,
59
::EntityModifier<::StopRidingRequestComponent, ::ExitFromPassengerFlagComponent>
modifier
60
);
61
62
MCAPI static ::TickingSystemWithInfo createPortalTransition();
63
64
MCAPI static ::TickingSystemWithInfo createVehicleDismount();
65
66
MCAPI
static
void
requestPlayerChangeDimension(
67
::StrictEntityContext
const
& player,
68
::ChangeDimensionRequest
&& request,
69
::ViewT<::StrictEntityContext, ::DimensionStateComponent, ::StateVectorComponent>
playerData,
70
::EntityModifier<::PlayerChangeDimensionRequestComponent>
modifier
71
);
72
73
MCAPI
static
void
tryHandleChangeDimensionRequestLevel(
74
::ViewT
<
75
::StrictEntityContext
,
76
::Include<::PlayerComponent>
,
77
::PlayerChangeDimensionRequestComponent
,
78
::ActorOwnerComponent
> requests,
79
::EntityModifier<::PlayerChangeDimensionRequestComponent>
modifier,
80
::std::function<
bool
(
::Player
&,
::ChangeDimensionRequest
&)>
const
& callback,
81
::std::function<
bool
(
::Player
&)>
const
& isSuspended
82
);
83
// NOLINTEND
84
};
ActorOwnerComponent
Definition
ActorOwnerComponent.h:10
ChangeDimensionRequest
Definition
ChangeDimensionRequest.h:15
DimensionStateComponent
Definition
DimensionStateComponent.h:5
DimensionTransitionSystem
Definition
DimensionTransitionSystem.h:29
EntityModifier
Definition
EntityModifier.h:6
Player
Definition
Player.h:119
StrictEntityContext
Definition
StrictEntityContext.h:10
ViewT
Definition
ViewT.h:6
DimensionTransitionComponent
Definition
DimensionTransitionComponent.h:15
Exclude
Definition
Exclude.h:6
ExitFromPassengerFlagComponent
Definition
ExitFromPassengerFlagComponent.h:5
Include
Definition
Include.h:6
PassengerComponent
Definition
PassengerComponent.h:10
PlayerChangeDimensionRequestComponent
Definition
PlayerChangeDimensionRequestComponent.h:10
PlayerComponent
Definition
PlayerComponent.h:5
StateVectorComponent
Definition
StateVectorComponent.h:10
StopRidingRequestComponent
Definition
StopRidingRequestComponent.h:5
TickingSystemWithInfo
Definition
TickingSystemWithInfo.h:11
VehicleComponent
Definition
VehicleComponent.h:10
src
mc
entity
systems
DimensionTransitionSystem.h
Generated on Sat Apr 26 2025 05:55:37 for LeviLamina by
1.12.0