rodecomp/Source/UI/Cooldowns/CooldownOwner.h
ragnarok-clanker a887f8976d Confirm fn_20961 (DestroyCooldownOwner)
Batch #18226 by eAthena: 1 byte-identical, 0 confirmed by peer review.

- fn_20961 DestroyCooldownOwner: byte-identical (already on main)

Merged automatically: every function is byte-identical to the original.
2026-11-12 11:10:34 +00:00

42 lines
984 B
C++

#ifndef RAGNAROK_SOURCE_UI_COOLDOWNS_COOLDOWNOWNER_H
#define RAGNAROK_SOURCE_UI_COOLDOWNS_COOLDOWNOWNER_H
#include "UI/Cooldowns/CooldownDrawing.h"
#include <map>
class CooldownOwner {
public:
CooldownOwner();
~CooldownOwner();
void Register(unsigned id, std::uint32_t duration, std::uint32_t start, std::uint32_t elapsed);
void ClearReverseCommands();
CooldownState* Find(unsigned id);
void Erase(unsigned id);
// INLINED
void Remove(unsigned id) {
const auto entry = this->m_values.find(id);
if (entry != this->m_values.end()) {
this->m_values.erase(entry);
}
}
// INLINED
CooldownDrawing& Drawing() {
return this->m_drawing;
}
/* 0000 */ bool m_initialized;
/* 0004 */ CooldownDrawing m_drawing;
/* 001C */ std::map<unsigned, CooldownState> m_values;
};
extern CooldownOwner* g_cooldownOwner;
void DestroyCooldownOwner();
#if defined(_WIN32) && !defined(_WIN64)
static_assert(sizeof(CooldownOwner) == 36);
#endif
#endif