LeviLamina
Loading...
Searching...
No Matches
MingleGoal.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/entity/components/MingleComponent.h"
7#include "mc/world/actor/ActorDefinitionIdentifier.h"
8#include "mc/world/actor/ai/goal/MoveToPOIGoal.h"
9
10// auto generated forward declare list
11// clang-format off
12class Actor;
13class MingleComponent;
14class Mob;
15struct ActorUniqueID;
16// clang-format on
17
18class MingleGoal : public ::MoveToPOIGoal {
19public:
20 // member variables
21 // NOLINTBEGIN
22 ::ll::TypedStorage<4, 4, int> mCooldownTicks;
23 ::ll::TypedStorage<4, 4, int> mCooldownTicksMax;
24 ::ll::TypedStorage<4, 4, int> mMingleTicks;
25 ::ll::TypedStorage<4, 4, int> mMingleTicksMax;
26 ::ll::TypedStorage<4, 4, int> mAvailableTicks;
27 ::ll::TypedStorage<4, 4, int> mAvailableTicksMax;
28 ::ll::TypedStorage<4, 4, int> mSpeakInterval;
29 ::ll::TypedStorage<8, 176, ::ActorDefinitionIdentifier> mDesiredPartnerType;
30 ::ll::TypedStorage<4, 4, float> mMingleDistanceSquared;
31 // NOLINTEND
32
33public:
34 // prevent constructor by default
35 MingleGoal();
36
37public:
38 // virtual functions
39 // NOLINTBEGIN
40 virtual bool canUse() /*override*/;
41
42 virtual bool canContinueToUse() /*override*/;
43
44 virtual void start() /*override*/;
45
46 virtual void stop() /*override*/;
47
48 virtual void tick() /*override*/;
49
50 virtual void appendDebugInfo(::std::string& str) const /*override*/;
51 // NOLINTEND
52
53public:
54 // member functions
55 // NOLINTBEGIN
56 MCAPI explicit MingleGoal(::Mob& actor);
57
58 MCAPI void _findNewPartner(::ActorUniqueID previousPartnerId);
59
60 MCAPI bool _isSuitablePartner(::Actor& partner, ::ActorUniqueID previousPartnerId);
61
62 MCAPI void _lookAt(::Actor* partner);
63
64 MCAPI void _partnerWith(::Actor& target);
65
66 MCAPI void _tickMingling(::MingleComponent& mingleComponent);
67
68 MCAPI void _tickPartneredActive(::MingleComponent& mingleComponent);
69
70 MCAPI void _tickPartneredPassive(::MingleComponent& mingleComponent);
71
72 MCAPI void _tickUnavailable(::MingleComponent& mingleComponent);
73
74 MCAPI bool _tryPathToPartner(::Actor& partner);
75
76 MCAPI bool _validatePartnerState(
77 ::MingleComponent::MingleState expectedState,
78 ::MingleComponent& mingleComponent,
79 bool requireWithinInteractRange
80 );
81 // NOLINTEND
82
83public:
84 // constructor thunks
85 // NOLINTBEGIN
86 MCAPI void* $ctor(::Mob& actor);
87 // NOLINTEND
88
89public:
90 // virtual function thunks
91 // NOLINTBEGIN
92 MCAPI bool $canUse();
93
94 MCAPI bool $canContinueToUse();
95
96 MCAPI void $start();
97
98 MCAPI void $stop();
99
100 MCAPI void $tick();
101
102 MCAPI void $appendDebugInfo(::std::string& str) const;
103
104
105 // NOLINTEND
106
107public:
108 // vftables
109 // NOLINTBEGIN
110 MCNAPI static void** $vftable();
111 // NOLINTEND
112};
Definition Actor.h:125
Definition MingleComponent.h:13
static MCAPI void ** $vftable()
Definition Mob.h:57
Definition ActorUniqueID.h:10