LeviLamina
Loading...
Searching...
No Matches
RaidBossComponent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/actor/ai/util/BossEventUpdateType.h"
7
8// auto generated forward declare list
9// clang-format off
10class AABB;
11class Actor;
12class Mob;
13class Player;
14class Raid;
15class Village;
16struct ActorUniqueID;
17namespace Bedrock::Safety { class RedactableString; }
18// clang-format on
19
21public:
22 // member variables
23 // NOLINTBEGIN
24 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::Village>> mVillage;
25 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mOwnerID;
26 ::ll::TypedStorage<8, 72, ::Bedrock::Safety::RedactableString> mName;
27 ::ll::TypedStorage<8, 32, ::std::string> mProgress;
28 ::ll::TypedStorage<4, 4, int> mPlayersRegistered;
29 ::ll::TypedStorage<1, 1, bool> mWaveStarted;
30 ::ll::TypedStorage<1, 1, bool> mRaidInProgress;
31 ::ll::TypedStorage<1, 1, bool> mHealthBarVisible;
32 ::ll::TypedStorage<4, 4, float> mHealthPercent;
33 ::ll::TypedStorage<4, 24, ::AABB> mBossBarVisibleBounds;
34 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mLastPlayerUpdate;
35 // NOLINTEND
36
37public:
38 // prevent constructor by default
39 RaidBossComponent& operator=(RaidBossComponent const&);
41
42public:
43 // member functions
44 // NOLINTBEGIN
46
47 MCAPI void _broadcastBossEvent(::BossEventUpdateType type, ::Actor& owner);
48
49 MCAPI void _handleRegisterPlayers(::Actor& owner);
50
51 MCAPI void _sendBossEvent(::BossEventUpdateType type, ::Player& player);
52
53 MCAPI ::Bedrock::Safety::RedactableString getName();
54
55 MCAPI bool isWithinRange(::Mob const& player);
56
57 MCAPI ::RaidBossComponent& operator=(::RaidBossComponent&&);
58
59 MCAPI void removeBossBar(::Actor& owner);
60
61 MCAPI bool tryRemoveBoss(::Actor& owner, ::Player& player);
62
63 MCAPI void updateBossBarStats(::Actor& owner, ::Raid const& raid);
64
65 MCAPI void updateHealthBarVisible(bool visible, ::Actor& owner);
66
67 MCAPI ~RaidBossComponent();
68 // NOLINTEND
69
70public:
71 // constructor thunks
72 // NOLINTBEGIN
73 MCAPI void* $ctor(::RaidBossComponent&&);
74 // NOLINTEND
75
76public:
77 // destructor thunk
78 // NOLINTBEGIN
79 MCAPI void $dtor();
80 // NOLINTEND
81};
Definition AABB.h:16
Definition Actor.h:104
Definition Mob.h:47
Definition Player.h:119
Definition RaidBossComponent.h:20
Definition Raid.h:16
Definition Village.h:34
Definition ActorUniqueID.h:5