LeviLamina
Loading...
Searching...
No Matches
ExitVehicleSystemImpl.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/optional_ref.h"
7#include "mc/deps/ecs/Optional.h"
8#include "mc/deps/ecs/ViewT.h"
9#include "mc/deps/ecs/strict/AddRemove.h"
10#include "mc/deps/ecs/strict/EntityFactoryT.h"
11#include "mc/deps/ecs/strict/EntityModifier.h"
12#include "mc/deps/ecs/strict/Exclude.h"
13#include "mc/deps/ecs/strict/Filter.h"
14#include "mc/deps/ecs/strict/GlobalRead.h"
15#include "mc/deps/ecs/strict/GlobalWrite.h"
16#include "mc/deps/ecs/strict/IStrictTickingSystem.h"
17#include "mc/deps/ecs/strict/Include.h"
18#include "mc/deps/ecs/strict/Read.h"
19#include "mc/deps/ecs/strict/StrictExecutionContext.h"
20#include "mc/deps/ecs/strict/Write.h"
21#include "mc/world/actor/VehicleUtils.h"
22
23// auto generated forward declare list
24// clang-format off
25class AABB;
26class BaseGameVersion;
30class Vec3;
51struct MobFlagComponent;
54struct OffsetsComponent;
58struct PlayerComponent;
65struct VehicleComponent;
66// clang-format on
67
68struct ExitVehicleSystemImpl : public ::IStrictTickingSystem<::StrictExecutionContext<
69 ::Filter<
70 ::CanStandOnSnowFlagComponent,
71 ::HasLightweightFamilyFlagComponent,
72 ::HorseFlagComponent,
73 ::MobFlagComponent,
74 ::ParrotFlagComponent,
75 ::VehicleComponent,
76 ::CamelFlagComponent,
77 ::PlayerComponent,
78 ::StopRidingRequestComponent>,
79 ::Read<
80 ::AABBShapeComponent,
81 ::MovementAbilitiesComponent,
82 ::ActorTypeComponent,
83 ::FallDistanceComponent,
84 ::PassengerComponent,
85 ::ActorGameTypeComponent,
86 ::ActorDataFlagComponent,
87 ::VehicleComponent,
88 ::ActorRotationComponent,
89 ::MobBodyRotationComponent,
90 ::RenderRotationComponent,
91 ::StandAnimationComponent,
92 ::OffsetsComponent,
93 ::VanillaOffsetComponent,
94 ::PassengerRenderingRidingOffsetComponent,
95 ::DimensionTypeComponent,
96 ::EjectedByActivatorRailFlagComponent,
97 ::PostTickPositionDeltaComponent>,
98 ::Write<::AABBShapeComponent, ::ActorRotationComponent, ::StateVectorComponent>,
99 ::AddRemove<::ActorSetPositionRequestComponent>,
100 ::GlobalRead<::ExternalDataComponent, ::LocalConstBlockSourceFactoryComponent>,
101 ::GlobalWrite<>,
102 ::EntityFactoryT<>>> {
103public:
104 // member variables
105 // NOLINTBEGIN
108 // NOLINTEND
109
110public:
111 // prevent constructor by default
115
116public:
117 // virtual functions
118 // NOLINTBEGIN
119 // vIndex: 6
120 virtual void singleTick(
122 ::Filter<
132 ::Read<
155 ::EntityFactoryT<>>& executionContext,
156 ::StrictEntityContext& entityContext
157 ) /*override*/;
158
159 // vIndex: 5
160 virtual void tick(
162 ::Filter<
172 ::Read<
195 ::EntityFactoryT<>>& executionContext
196 ) /*override*/;
197
198 // vIndex: 0
199 virtual ~ExitVehicleSystemImpl() /*override*/ = default;
200 // NOLINTEND
201
202public:
203 // static functions
204 // NOLINTBEGIN
205 MCNAPI static void _tickExitVehicle(
206 ::StrictEntityContext const& entity,
207 ::PassengerComponent const& passenger,
208 ::AABBShapeComponent const& aabb,
209 ::StateVectorComponent const& svc,
210 ::OffsetsComponent const& offsetsComponent,
211 ::ActorDataSeatOffsetComponent const& actorDataSeatOffset,
212 ::ActorRotationComponent& rotation,
215 ::Optional<::EjectedByActivatorRailFlagComponent const> ejectedByActivatorRailFlagComponent,
216 ::BaseGameVersion const& baseGameVersion,
217 ::ViewT<
227 ::Filter<
237 ::Read<
260 ::EntityFactoryT<>>& executionContext,
261 bool isClientSide,
262 ::IConstBlockSource const& region
263 );
264
265 MCNAPI static auto createViews(
267 ::Filter<
277 ::Read<
301 );
302
303 MCNAPI static auto getExitStrategy(
304 ::BaseGameVersion const& version,
307 )
308 -> ::std::optional<::Vec3> (*)(
310 ::std::function<bool(::Vec3 const&, ::Vec3 const&)>
311 );
312
313 MCNAPI static bool tryPlaceAt(
314 ::Vec3 const& groundPos,
315 ::AABB const& aabbEntity,
316 ::IConstBlockSource const& region,
318 );
319 // NOLINTEND
320
321public:
322 // virtual function thunks
323 // NOLINTBEGIN
324 MCNAPI void $singleTick(
326 ::Filter<
336 ::Read<
359 ::EntityFactoryT<>>& executionContext,
360 ::StrictEntityContext& entityContext
361 );
362
363 MCNAPI void $tick(
365 ::Filter<
375 ::Read<
398 ::EntityFactoryT<>>& executionContext
399 );
400 // NOLINTEND
401
402public:
403 // vftables
404 // NOLINTBEGIN
405 MCNAPI static void** $vftable();
406 // NOLINTEND
407};
Definition AABB.h:18
Definition BaseGameVersion.h:8
Definition EntityModifier.h:6
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:24
Definition IStrictTickingSystem.h:6
Definition Optional.h:8
Definition StrictEntityContext.h:8
Definition StrictExecutionContext.h:6
Definition Vec3.h:10
Definition ViewT.h:6
Definition optional_ref.h:10
Definition AABBShapeComponent.h:9
Definition ActorDataFlagComponent.h:9
Definition ActorDataSeatOffsetComponent.h:8
Definition ActorGameTypeComponent.h:8
Definition ActorIsBeingDestroyedFlagComponent.h:5
Definition ActorRotationComponent.h:8
Definition ActorSetPositionRequestComponent.h:8
Definition ActorTypeComponent.h:8
Definition AddRemove.h:6
Definition CamelFlagComponent.h:5
Definition CanStandOnSnowFlagComponent.h:5
Definition DimensionTypeComponent.h:13
Definition DoesServerAuthOnlyDismountFlagComponent.h:5
Definition EjectedByActivatorRailFlagComponent.h:5
Definition EntityFactoryT.h:6
Definition Exclude.h:6
Definition ExitFromPassengerFlagComponent.h:5
Definition ExitVehicleSystemImpl.h:102
static MCAPI bool tryPlaceAt(::Vec3 const &groundPos, ::AABB const &aabbEntity, ::IConstBlockSource const &region, ::optional_ref<::GetCollisionShapeInterface const > entity)
static MCAPI auto getExitStrategy(::BaseGameVersion const &version, ::Optional<::EjectedByActivatorRailFlagComponent const > const &ejectedByActivatorRail, ::Optional<::ExitFromPassengerFlagComponent const > const &exitFromPassenger) -> ::std::optional<::Vec3 >(*)(::VehicleUtils::VehicleDirections const &, ::std::function< bool(::Vec3 const &, ::Vec3 const &)>)
static MCAPI void _tickExitVehicle(::StrictEntityContext const &entity, ::PassengerComponent const &passenger, ::AABBShapeComponent const &aabb, ::StateVectorComponent const &svc, ::OffsetsComponent const &offsetsComponent, ::ActorDataSeatOffsetComponent const &actorDataSeatOffset, ::ActorRotationComponent &rotation, ::Optional<::ExitFromPassengerFlagComponent const > exitFromPassengerFlag, ::Optional<::ActorIsBeingDestroyedFlagComponent const > actorIsBeingDestroyedFlag, ::Optional<::EjectedByActivatorRailFlagComponent const > ejectedByActivatorRailFlagComponent, ::BaseGameVersion const &baseGameVersion, ::ViewT< ::StrictEntityContext, ::Include<::VehicleComponent >, ::Exclude<::DoesServerAuthOnlyDismountFlagComponent >, ::StateVectorComponent const, ::ActorRotationComponent const, ::Optional<::PostTickPositionDeltaComponent const >, ::Optional<::MovementInterpolatorComponent const > > const &vehicleView, ::EntityModifier<::ActorSetPositionRequestComponent > &modifier, ::StrictExecutionContext< ::Filter< ::CanStandOnSnowFlagComponent, ::HasLightweightFamilyFlagComponent, ::HorseFlagComponent, ::MobFlagComponent, ::ParrotFlagComponent, ::VehicleComponent, ::CamelFlagComponent, ::PlayerComponent, ::StopRidingRequestComponent >, ::Read< ::AABBShapeComponent, ::MovementAbilitiesComponent, ::ActorTypeComponent, ::FallDistanceComponent, ::PassengerComponent, ::ActorGameTypeComponent, ::ActorDataFlagComponent, ::VehicleComponent, ::ActorRotationComponent, ::MobBodyRotationComponent, ::RenderRotationComponent, ::StandAnimationComponent, ::OffsetsComponent, ::VanillaOffsetComponent, ::PassengerRenderingRidingOffsetComponent, ::DimensionTypeComponent, ::EjectedByActivatorRailFlagComponent, ::PostTickPositionDeltaComponent >, ::Write<::AABBShapeComponent, ::ActorRotationComponent, ::StateVectorComponent >, ::AddRemove<::ActorSetPositionRequestComponent >, ::GlobalRead<::ExternalDataComponent, ::LocalConstBlockSourceFactoryComponent >, ::GlobalWrite<>, ::EntityFactoryT<> > &executionContext, bool isClientSide, ::IConstBlockSource const &region)
MCAPI void $singleTick(::StrictExecutionContext< ::Filter< ::CanStandOnSnowFlagComponent, ::HasLightweightFamilyFlagComponent, ::HorseFlagComponent, ::MobFlagComponent, ::ParrotFlagComponent, ::VehicleComponent, ::CamelFlagComponent, ::PlayerComponent, ::StopRidingRequestComponent >, ::Read< ::AABBShapeComponent, ::MovementAbilitiesComponent, ::ActorTypeComponent, ::FallDistanceComponent, ::PassengerComponent, ::ActorGameTypeComponent, ::ActorDataFlagComponent, ::VehicleComponent, ::ActorRotationComponent, ::MobBodyRotationComponent, ::RenderRotationComponent, ::StandAnimationComponent, ::OffsetsComponent, ::VanillaOffsetComponent, ::PassengerRenderingRidingOffsetComponent, ::DimensionTypeComponent, ::EjectedByActivatorRailFlagComponent, ::PostTickPositionDeltaComponent >, ::Write<::AABBShapeComponent, ::ActorRotationComponent, ::StateVectorComponent >, ::AddRemove<::ActorSetPositionRequestComponent >, ::GlobalRead<::ExternalDataComponent, ::LocalConstBlockSourceFactoryComponent >, ::GlobalWrite<>, ::EntityFactoryT<> > &executionContext, ::StrictEntityContext &entityContext)
MCAPI void $tick(::StrictExecutionContext< ::Filter< ::CanStandOnSnowFlagComponent, ::HasLightweightFamilyFlagComponent, ::HorseFlagComponent, ::MobFlagComponent, ::ParrotFlagComponent, ::VehicleComponent, ::CamelFlagComponent, ::PlayerComponent, ::StopRidingRequestComponent >, ::Read< ::AABBShapeComponent, ::MovementAbilitiesComponent, ::ActorTypeComponent, ::FallDistanceComponent, ::PassengerComponent, ::ActorGameTypeComponent, ::ActorDataFlagComponent, ::VehicleComponent, ::ActorRotationComponent, ::MobBodyRotationComponent, ::RenderRotationComponent, ::StandAnimationComponent, ::OffsetsComponent, ::VanillaOffsetComponent, ::PassengerRenderingRidingOffsetComponent, ::DimensionTypeComponent, ::EjectedByActivatorRailFlagComponent, ::PostTickPositionDeltaComponent >, ::Write<::AABBShapeComponent, ::ActorRotationComponent, ::StateVectorComponent >, ::AddRemove<::ActorSetPositionRequestComponent >, ::GlobalRead<::ExternalDataComponent, ::LocalConstBlockSourceFactoryComponent >, ::GlobalWrite<>, ::EntityFactoryT<> > &executionContext)
static MCAPI auto createViews(::StrictExecutionContext< ::Filter< ::CanStandOnSnowFlagComponent, ::HasLightweightFamilyFlagComponent, ::HorseFlagComponent, ::MobFlagComponent, ::ParrotFlagComponent, ::VehicleComponent, ::CamelFlagComponent, ::PlayerComponent, ::StopRidingRequestComponent >, ::Read< ::AABBShapeComponent, ::MovementAbilitiesComponent, ::ActorTypeComponent, ::FallDistanceComponent, ::PassengerComponent, ::ActorGameTypeComponent, ::ActorDataFlagComponent, ::VehicleComponent, ::ActorRotationComponent, ::MobBodyRotationComponent, ::RenderRotationComponent, ::StandAnimationComponent, ::OffsetsComponent, ::VanillaOffsetComponent, ::PassengerRenderingRidingOffsetComponent, ::DimensionTypeComponent, ::EjectedByActivatorRailFlagComponent, ::PostTickPositionDeltaComponent >, ::Write<::AABBShapeComponent, ::ActorRotationComponent, ::StateVectorComponent >, ::AddRemove<::ActorSetPositionRequestComponent >, ::GlobalRead<::ExternalDataComponent, ::LocalConstBlockSourceFactoryComponent >, ::GlobalWrite<>, ::EntityFactoryT<> > &context)
static MCAPI void ** $vftable()
Definition ExternalDataComponent.h:10
Definition FallDistanceComponent.h:5
Definition Filter.h:6
Definition GlobalRead.h:6
Definition GlobalWrite.h:6
Definition HasLightweightFamilyFlagComponent.h:5
Definition HorseFlagComponent.h:5
Definition Include.h:6
Definition LocalConstBlockSourceFactoryComponent.h:8
Definition MobBodyRotationComponent.h:5
Definition MobFlagComponent.h:5
Definition MovementAbilitiesComponent.h:8
Definition MovementInterpolatorComponent.h:9
Definition OffsetsComponent.h:8
Definition ParrotFlagComponent.h:5
Definition PassengerComponent.h:8
Definition PassengerRenderingRidingOffsetComponent.h:8
Definition PlayerComponent.h:5
Definition PostTickPositionDeltaComponent.h:8
Definition Read.h:6
Definition RenderRotationComponent.h:8
Definition StandAnimationComponent.h:5
Definition StateVectorComponent.h:8
Definition StopRidingRequestComponent.h:5
Definition VanillaOffsetComponent.h:8
Definition VehicleComponent.h:10
Definition VehicleUtils.h:21
Definition Write.h:6
Definition context.h:5
Definition Alias.h:14