mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2026-11-14 07:47:13 +00:00
refactor(component): the client's component lifecycle
Components get the client's per-component functions: LoadDataFromTemplate, PrepareConfigData, LoadConfigData, LoadFromSaveData, Startup, Run, OnEnterScope, OnLeaveScope, Preshutdown and Shutdown, called by the entity in the client's order. Update is renamed Run, LoadFromXml LoadFromSaveData and UpdateXml WriteSaveData. Nothing sent changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -63,7 +63,7 @@ void SkillComponent::StartCooldown(const uint32_t skillID) {
|
||||
left = std::max(left, skill.cooldown);
|
||||
}
|
||||
|
||||
void SkillComponent::LoadFromXml(const tinyxml2::XMLDocument& doc) {
|
||||
void SkillComponent::LoadFromSaveData(const tinyxml2::XMLDocument& doc) {
|
||||
m_CooldownGroups.clear();
|
||||
const auto* const obj = doc.FirstChildElement("obj");
|
||||
const auto* const skil = obj ? obj->FirstChildElement("skil") : nullptr;
|
||||
@@ -81,7 +81,7 @@ void SkillComponent::LoadFromXml(const tinyxml2::XMLDocument& doc) {
|
||||
}
|
||||
}
|
||||
|
||||
void SkillComponent::UpdateXml(tinyxml2::XMLDocument& doc) {
|
||||
void SkillComponent::WriteSaveData(tinyxml2::XMLDocument& doc) {
|
||||
auto* const obj = doc.FirstChildElement("obj");
|
||||
if (!obj) return;
|
||||
auto* skil = obj->FirstChildElement("skil");
|
||||
@@ -184,7 +184,7 @@ void SkillComponent::RegisterPlayerProjectile(const LWOOBJID projectileId, Behav
|
||||
this->m_managedProjectiles.push_back(entry);
|
||||
}
|
||||
|
||||
void SkillComponent::Update(const float deltaTime) {
|
||||
void SkillComponent::Run(const float deltaTime) {
|
||||
for (auto it = m_CooldownGroups.begin(); it != m_CooldownGroups.end();) {
|
||||
it->second -= deltaTime;
|
||||
it = it->second <= 0.0f ? m_CooldownGroups.erase(it) : std::next(it);
|
||||
|
||||
Reference in New Issue
Block a user