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 {
43MCAPI ::TickingSystemWithInfo createClearNearbyMobsSystem();
45MCAPI ::TickingSystemWithInfo createRewindShapeRefreshSystem();
47MCAPI ::TickingSystemWithInfo createStoreNearbyMobsOnMoveRequestSystem();
49MCAPI
void flagNearbyMobsForServerMovementCatchup(
50 ::StrictEntityContext
const& player,
51 ::StateVectorComponent
const& stateVector,
52 ::ServerCatchupMovementTrackerComponent
const& tracker,
54 ::StrictEntityContext,
55 ::DimensionTypeComponent
const,
56 ::AABBShapeComponent
const,
57 ::Optional<::MobFlagComponent const>,
58 ::Optional<::IsSolidMobComponent const>>
const& fullData,
59 ::ViewT<::StrictEntityContext, ::IsSolidMobComponent const, ::AABBShapeComponent const>
const& solidMobs,
60 ::EntityModifier<::IsSolidMobNearbyComponent> modifier,
61 ::LocalSpatialEntityFetcherFactoryComponent
const& fetcherFactory,
62 ::LocalSpatialEntityFetcher& fetcher,
63 ::std::vector<::StrictEntityContext>& buffer
66MCAPI
void flagNearbyMobsForServerMovementCatchupSystem(
68 ::StrictEntityContext,
69 ::Include<::ActorMovementTickNeededComponent>,
70 ::StateVectorComponent
const,
71 ::ServerCatchupMovementTrackerComponent
const> view,
73 ::StrictEntityContext,
74 ::DimensionTypeComponent
const,
75 ::AABBShapeComponent
const,
76 ::Optional<::MobFlagComponent const>,
77 ::Optional<::IsSolidMobComponent const>>
const& fullData,
78 ::ViewT<::StrictEntityContext, ::IsSolidMobComponent const, ::AABBShapeComponent const>
const& solidMobs,
79 ::OptionalGlobal<::LocalSpatialEntityFetcherFactoryComponent const> fetcherFactory,
80 ::EntityModifier<::IsSolidMobNearbyComponent> modifier
83MCAPI
void flagNearbyMobsFromSolidEntity(
84 ::StrictEntityContext
const& solidMob,
85 ::IsSolidMobComponent
const& solid,
86 ::AABBShapeComponent
const& shape,
88 ::StrictEntityContext,
89 ::Include<::ActorOwnerComponent, ::AABBShapeComponent>,
90 ::Exclude<::ActorIsFirstTickFlagComponent>,
91 ::Optional<::MobFlagComponent const>,
92 ::Optional<::IsSolidMobComponent const>,
93 ::Optional<::FallingBlockFlagComponent const>>
const& liveEntityView,
94 ::LocalSpatialEntityFetcher& fetcher,
95 ::EntityModifier<::IsSolidMobNearbyComponent> modifier,
96 ::std::vector<::StrictEntityContext>& buffer
99MCAPI
void flagNearbyMobsFromSolidSystem(
101 ::StrictEntityContext,
102 ::Include<::ActorComponent>,
103 ::DimensionTypeComponent
const,
104 ::IsSolidMobComponent
const,
105 ::AABBShapeComponent
const> view,
107 ::StrictEntityContext,
108 ::Include<::ActorOwnerComponent, ::AABBShapeComponent>,
109 ::Exclude<::ActorIsFirstTickFlagComponent>,
110 ::Optional<::MobFlagComponent const>,
111 ::Optional<::IsSolidMobComponent const>,
112 ::Optional<::FallingBlockFlagComponent const>>
const& liveEntityView,
113 ::OptionalGlobal<::LocalSpatialEntityFetcherFactoryComponent const> fetcherFactory,
114 ::EntityModifier<::IsSolidMobNearbyComponent> modifier
117MCAPI
void flagSolidMobsFromNearbyEntity(
118 ::StrictEntityContext
const& entity,
119 ::AABBShapeComponent
const& shape,
120 ::Optional<::MobFlagComponent const> isMob,
121 ::Optional<::IsSolidMobComponent const> isSolid,
122 ::ViewT<::StrictEntityContext, ::IsSolidMobComponent const, ::AABBShapeComponent const>
const& nearbySolidMobs,
123 ::LocalSpatialEntityFetcher& fetcher,
124 ::EntityModifier<::IsSolidMobNearbyComponent> modifier,
125 ::std::vector<::StrictEntityContext>& buffer
128MCAPI
void flagSolidMobsFromNearbySystem(
130 ::StrictEntityContext,
131 ::Include<::ShouldBeSimulatedComponent, ::ActorMovementTickNeededComponent>,
132 ::DimensionTypeComponent
const,
133 ::AABBShapeComponent
const,
134 ::Optional<::MobFlagComponent const>,
135 ::Optional<::IsSolidMobComponent const>> view,
136 ::ViewT<::StrictEntityContext, ::IsSolidMobComponent const, ::AABBShapeComponent const>
const& solidMobs,
137 ::OptionalGlobal<::LocalSpatialEntityFetcherFactoryComponent const> fetcherFactory,
138 ::EntityModifier<::IsSolidMobNearbyComponent> modifier
141MCAPI ::std::optional<::Vec3> getLatestPosition(
142 ::StrictEntityContext
const& e,
143 ::ViewT<::StrictEntityContext, ::PredictedMovementComponent const>
const& pmcs,
144 ::ViewT<::StrictEntityContext, ::MovementInterpolatorComponent const>
const& interpolators
147MCAPI
void registerSystems(::EntitySystems& systems,
bool isClientSide);
149MCAPI
void storeNearbyMobsOnMoveRequest(
150 ::IsSolidMobNearbyComponent
const& nearby,
151 ::DepenetrationComponent& depenetration,
152 ::MoveRequestComponent& request
Definition ActorOwnerComponent.h:10
Definition EntitySystems.h:29
Definition LocalSpatialEntityFetcher.h:5
Definition PredictedMovementComponent.h:21
Definition StrictEntityContext.h:14
Definition AABBShapeComponent.h:9
Definition ActorComponent.h:5
Definition ActorIsFirstTickFlagComponent.h:5
Definition ActorMovementTickNeededComponent.h:5
Definition DepenetrationComponent.h:13
Definition DimensionTypeComponent.h:8
Definition FallingBlockFlagComponent.h:5
Definition IsSolidMobComponent.h:8
Definition IsSolidMobNearbyComponent.h:14
Definition LocalSpatialEntityFetcherFactoryComponent.h:8
Definition MobFlagComponent.h:5
Definition MoveRequestComponent.h:11
Definition MovementInterpolatorComponent.h:14
Definition ServerCatchupMovementTrackerComponent.h:8
Definition ShouldBeSimulatedComponent.h:5
Definition StateVectorComponent.h:8
Definition TickingSystemWithInfo.h:13