LeviLamina
Loading...
Searching...
No Matches
FlockingComponent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/math/Vec3.h"
7
8// auto generated forward declare list
9// clang-format off
10class Actor;
11struct ActorUniqueID;
12// clang-format on
13
15public:
16 // member variables
17 // NOLINTBEGIN
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;
46 // NOLINTEND
47
48public:
49 // prevent constructor by default
50 FlockingComponent& operator=(FlockingComponent const&);
53
54public:
55 // member functions
56 // NOLINTBEGIN
58
59 MCNAPI void calculateFlockVector(::Actor const& owner);
60
61 MCNAPI bool canJoinFlock(::Actor& owner) const;
62
63 MCNAPI void joinFlock(::Actor& owner);
64
65 MCNAPI void manageNeighborhood(::Actor& owner);
66
67 MCNAPI void mergeNeighborhoods(::Actor& owner);
68
69 MCNAPI ::FlockingComponent& operator=(::FlockingComponent&&);
70
71 MCNAPI void updateNeighborhoodData(::Actor const& owner);
72
73 MCNAPI bool validateVariantEntityTypes(::Actor const& e0, ::Actor const& e1) const;
74 // NOLINTEND
75
76public:
77 // constructor thunks
78 // NOLINTBEGIN
79 MCNAPI void* $ctor(::FlockingComponent&&);
80 // NOLINTEND
81};
Definition Actor.h:103
Definition FlockingComponent.h:14
MCAPI::FlockingComponent & operator=(::FlockingComponent &&)
MCAPI bool canJoinFlock(::Actor &owner) const
MCAPI void updateNeighborhoodData(::Actor const &owner)
MCAPI void mergeNeighborhoods(::Actor &owner)
MCAPI bool validateVariantEntityTypes(::Actor const &e0, ::Actor const &e1) const
MCAPI void manageNeighborhood(::Actor &owner)
MCAPI void * $ctor(::FlockingComponent &&)
MCAPI void calculateFlockVector(::Actor const &owner)
MCAPI FlockingComponent(::FlockingComponent &&)
MCAPI void joinFlock(::Actor &owner)
Definition ActorUniqueID.h:5