3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/ecs/Optional.h"
7#include "mc/deps/ecs/ViewT.h"
8#include "mc/deps/ecs/strict/EntityModifier.h"
9#include "mc/deps/ecs/strict/Exclude.h"
10#include "mc/deps/ecs/strict/Include.h"
11#include "mc/deps/ecs/strict/OptionalGlobal.h"
40namespace SolidMobSystem {
43MCNAPI ::TickingSystemWithInfo createRewindShapeRefreshSystem();
45MCNAPI
void flagNearbyMobsForServerMovementCatchup(
46 ::StrictEntityContext
const& player,
47 ::StateVectorComponent
const& stateVector,
48 ::ServerCatchupMovementTrackerComponent
const& tracker,
50 ::StrictEntityContext,
51 ::DimensionTypeComponent
const,
52 ::AABBShapeComponent
const,
53 ::Optional<::MobFlagComponent const>,
54 ::Optional<::IsSolidMobComponent const>>
const& fullData,
55 ::ViewT<::StrictEntityContext, ::IsSolidMobComponent const, ::AABBShapeComponent const>
const& solidMobs,
56 ::EntityModifier<::IsSolidMobNearbyComponent> modifier,
57 ::LocalSpatialEntityFetcherFactoryComponent
const& fetcherFactory,
58 ::LocalSpatialEntityFetcher& fetcher,
59 ::std::vector<::StrictEntityContext>& buffer
62MCNAPI
void flagNearbyMobsForServerMovementCatchupSystem(
64 ::StrictEntityContext,
65 ::Include<::ActorMovementTickNeededComponent>,
66 ::StateVectorComponent
const,
67 ::ServerCatchupMovementTrackerComponent
const> view,
69 ::StrictEntityContext,
70 ::DimensionTypeComponent
const,
71 ::AABBShapeComponent
const,
72 ::Optional<::MobFlagComponent const>,
73 ::Optional<::IsSolidMobComponent const>>
const& fullData,
74 ::ViewT<::StrictEntityContext, ::IsSolidMobComponent const, ::AABBShapeComponent const>
const& solidMobs,
75 ::OptionalGlobal<::LocalSpatialEntityFetcherFactoryComponent const> fetcherFactory,
76 ::EntityModifier<::IsSolidMobNearbyComponent> modifier
79MCNAPI
void flagNearbyMobsFromSolidEntity(
80 ::StrictEntityContext
const& solidMob,
81 ::IsSolidMobComponent
const& solid,
82 ::AABBShapeComponent
const& shape,
84 ::StrictEntityContext,
85 ::Include<::ActorOwnerComponent, ::AABBShapeComponent>,
86 ::Exclude<::ActorIsFirstTickFlagComponent>,
87 ::Optional<::MobFlagComponent const>,
88 ::Optional<::IsSolidMobComponent const>,
89 ::Optional<::FallingBlockFlagComponent const>>
const& liveEntityView,
90 ::LocalSpatialEntityFetcher& fetcher,
91 ::EntityModifier<::IsSolidMobNearbyComponent> modifier,
92 ::std::vector<::StrictEntityContext>& buffer
95MCNAPI
void flagNearbyMobsFromSolidSystem(
97 ::StrictEntityContext,
98 ::Include<::ActorComponent>,
99 ::DimensionTypeComponent
const,
100 ::IsSolidMobComponent
const,
101 ::AABBShapeComponent
const> view,
103 ::StrictEntityContext,
104 ::Include<::ActorOwnerComponent, ::AABBShapeComponent>,
105 ::Exclude<::ActorIsFirstTickFlagComponent>,
106 ::Optional<::MobFlagComponent const>,
107 ::Optional<::IsSolidMobComponent const>,
108 ::Optional<::FallingBlockFlagComponent const>>
const& liveEntityView,
109 ::OptionalGlobal<::LocalSpatialEntityFetcherFactoryComponent const> fetcherFactory,
110 ::EntityModifier<::IsSolidMobNearbyComponent> modifier
113MCNAPI
void flagSolidMobsFromNearbyEntity(
114 ::StrictEntityContext
const& entity,
115 ::AABBShapeComponent
const& shape,
116 ::Optional<::MobFlagComponent const> isMob,
117 ::Optional<::IsSolidMobComponent const> isSolid,
118 ::ViewT<::StrictEntityContext, ::IsSolidMobComponent const, ::AABBShapeComponent const>
const& nearbySolidMobs,
119 ::LocalSpatialEntityFetcher& fetcher,
120 ::EntityModifier<::IsSolidMobNearbyComponent> modifier,
121 ::std::vector<::StrictEntityContext>& buffer
124MCNAPI
void flagSolidMobsFromNearbySystem(
126 ::StrictEntityContext,
127 ::Include<::ShouldBeSimulatedComponent, ::ActorMovementTickNeededComponent>,
128 ::DimensionTypeComponent
const,
129 ::AABBShapeComponent
const,
130 ::Optional<::MobFlagComponent const>,
131 ::Optional<::IsSolidMobComponent const>> view,
132 ::ViewT<::StrictEntityContext, ::IsSolidMobComponent const, ::AABBShapeComponent const>
const& solidMobs,
133 ::OptionalGlobal<::LocalSpatialEntityFetcherFactoryComponent const> fetcherFactory,
134 ::EntityModifier<::IsSolidMobNearbyComponent> modifier
137MCNAPI ::std::optional<::Vec3> getLatestPosition(
138 ::StrictEntityContext
const& e,
139 ::ViewT<::StrictEntityContext, ::PredictedMovementComponent const>
const& pmcs,
140 ::ViewT<::StrictEntityContext, ::MovementInterpolatorComponent const>
const& interpolators
143MCNAPI
void registerSystems(::EntitySystems& systems,
bool isClientSide);
145MCNAPI
void storeNearbyMobsOnMoveRequest(
146 ::IsSolidMobNearbyComponent
const& nearby,
147 ::DepenetrationComponent& depenetration,
148 ::MoveRequestComponent& request
Definition ActorOwnerComponent.h:10
Definition EntitySystems.h:25
Definition LocalSpatialEntityFetcher.h:5
Definition PredictedMovementComponent.h:21
Definition StrictEntityContext.h:8
Definition AABBShapeComponent.h:9
Definition ActorComponent.h:5
Definition ActorIsFirstTickFlagComponent.h:5
Definition ActorMovementTickNeededComponent.h:5
Definition DepenetrationComponent.h:13
Definition DimensionTypeComponent.h:13
Definition FallingBlockFlagComponent.h:5
Definition IsSolidMobComponent.h:8
Definition IsSolidMobNearbyComponent.h:15
Definition LocalSpatialEntityFetcherFactoryComponent.h:8
Definition MobFlagComponent.h:5
Definition MoveRequestComponent.h:11
Definition MovementInterpolatorComponent.h:9
Definition ServerCatchupMovementTrackerComponent.h:8
Definition ShouldBeSimulatedComponent.h:5
Definition StateVectorComponent.h:8
Definition TickingSystemWithInfo.h:13