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/legacy/ActorUniqueID.h"
7#include "mc/safety/RedactableString.h"
8#include "mc/world/actor/ai/util/BossEventUpdateType.h"
9#include "mc/world/phys/AABB.h"
10
11// auto generated forward declare list
12// clang-format off
13class Actor;
14class Mob;
15class Player;
16class Raid;
17class Village;
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&);
42
43public:
44 // member functions
45 // NOLINTBEGIN
47
48 MCNAPI void _broadcastBossEvent(::BossEventUpdateType type, ::Actor& owner);
49
50 MCNAPI void _handleRegisterPlayers(::Actor& owner);
51
52 MCNAPI void _sendBossEvent(::BossEventUpdateType type, ::Player& player);
53
54 MCNAPI ::Bedrock::Safety::RedactableString getName();
55
56 MCNAPI bool isWithinRange(::Mob const& player);
57
58 MCNAPI ::RaidBossComponent& operator=(::RaidBossComponent&&);
59
60 MCNAPI void removeBossBar(::Actor& owner);
61
62 MCNAPI bool tryRemoveBoss(::Actor& owner, ::Player& player);
63
64 MCNAPI void updateBossBarStats(::Actor& owner, ::Raid const& raid);
65
66 MCNAPI void updateHealthBarVisible(bool visible, ::Actor& owner);
67
69 // NOLINTEND
70
71public:
72 // constructor thunks
73 // NOLINTBEGIN
74 MCNAPI void* $ctor(::RaidBossComponent&&);
75 // NOLINTEND
76
77public:
78 // destructor thunk
79 // NOLINTBEGIN
80 MCNAPI void $dtor();
81 // NOLINTEND
82};
Definition Actor.h:103
Definition Mob.h:47
Definition Player.h:119
Definition RaidBossComponent.h:20
MCAPI void _broadcastBossEvent(::BossEventUpdateType type, ::Actor &owner)
MCAPI void * $ctor(::RaidBossComponent &&)
MCAPI void removeBossBar(::Actor &owner)
MCAPI void updateBossBarStats(::Actor &owner, ::Raid const &raid)
MCAPI void _handleRegisterPlayers(::Actor &owner)
MCAPI::Bedrock::Safety::RedactableString getName()
MCAPI void $dtor()
MCAPI void updateHealthBarVisible(bool visible, ::Actor &owner)
MCAPI ~RaidBossComponent()
MCAPI RaidBossComponent(::RaidBossComponent &&)
MCAPI::RaidBossComponent & operator=(::RaidBossComponent &&)
MCAPI bool isWithinRange(::Mob const &player)
MCAPI void _sendBossEvent(::BossEventUpdateType type, ::Player &player)
MCAPI bool tryRemoveBoss(::Actor &owner, ::Player &player)
Definition Raid.h:16
Definition Village.h:34