14class FlockingComponent {
18 ::ll::TypedStorage<8, 24, ::std::vector<::ActorUniqueID>> mNeighborhood;
19 ::ll::TypedStorage<4, 12, ::Vec3> mCenterOfMass;
20 ::ll::TypedStorage<4, 12, ::Vec3> mGroupVelocity;
21 ::ll::TypedStorage<4, 12, ::Vec3> mGoalHeading;
22 ::ll::TypedStorage<4, 12, ::Vec3> mCurrentHeading;
23 ::ll::TypedStorage<1, 1, bool> mInWater;
24 ::ll::TypedStorage<1, 1, bool> mMatchVariant;
25 ::ll::TypedStorage<1, 1, bool> mUseCenterOfMass;
26 ::ll::TypedStorage<1, 1, bool> mIsLeader;
27 ::ll::TypedStorage<1, 1, bool> mInFlock;
28 ::ll::TypedStorage<1, 1, bool> mIsEnabled;
29 ::ll::TypedStorage<1, 1, bool> mHasTargetGoal;
30 ::ll::TypedStorage<1, 1, bool> mUsingDirection;
31 ::ll::TypedStorage<4, 4, int> mFlockLimit;
32 ::ll::TypedStorage<4, 4, float> mLonerChance;
33 ::ll::TypedStorage<4, 4, float> mGoalWeight;
34 ::ll::TypedStorage<4, 4, float> mInfluenceRadius;
35 ::ll::TypedStorage<4, 4, float> mBreachInfluence;
36 ::ll::TypedStorage<4, 4, float> mSeparationWeight;
37 ::ll::TypedStorage<4, 4, float> mSeparationThreshold;
38 ::ll::TypedStorage<4, 4, float> mCohesionWeight;
39 ::ll::TypedStorage<4, 4, float> mCohesionThreshold;
40 ::ll::TypedStorage<4, 4, float> mInnerCohesionThreshold;
41 ::ll::TypedStorage<4, 4, float> mMinHeight;
42 ::ll::TypedStorage<4, 4, float> mMaxHeight;
43 ::ll::TypedStorage<4, 4, float> mBlockDist;
44 ::ll::TypedStorage<4, 4, float> mBlockWeight;
45 ::ll::TypedStorage<1, 1, bool> mOverspeedRequired;
50 FlockingComponent& operator=(FlockingComponent
const&);
51 FlockingComponent(FlockingComponent
const&);
57 MCAPI FlockingComponent(::FlockingComponent&&);
59 MCAPI
void calculateFlockVector(
::Actor const& owner);
61 MCAPI
bool canJoinFlock(
::Actor& owner)
const;
63 MCAPI
void joinFlock(
::Actor& owner);
65 MCAPI
void manageNeighborhood(
::Actor& owner);
67 MCAPI
void mergeNeighborhoods(
::Actor& owner);
69 MCAPI ::FlockingComponent& operator=(::FlockingComponent&&);
71 MCAPI
void updateNeighborhoodData(
::Actor const& owner);
73 MCAPI
bool validateVariantEntityTypes(
::Actor const& e0,
::Actor const& e1)
const;
79 MCAPI
void* $ctor(::FlockingComponent&&);