F4MP/codigos originales/tiltedcode/Code/client/Utils.cpp

41 lines
1.2 KiB
C++
Raw Permalink Normal View History

#include <World.h>
#include <Components.h>
#include <Actor.h>
namespace Utils
{
std::optional<uint32_t> GetServerId(entt::entity aEntity) noexcept
{
const auto* pLocalComponent = World::Get().try_get<LocalComponent>(aEntity);
const auto* pRemoteComponent = World::Get().try_get<RemoteComponent>(aEntity);
const auto* pObjectComponent = World::Get().try_get<ObjectComponent>(aEntity);
uint32_t serverId = -1;
if (pLocalComponent)
serverId = pLocalComponent->Id;
else if (pRemoteComponent)
serverId = pRemoteComponent->Id;
else if (pObjectComponent)
serverId = pObjectComponent->Id;
else
{
const auto* pFormIdComponent = World::Get().try_get<FormIdComponent>(aEntity);
spdlog::debug("{}: This entity has neither a local or remote component: {:X}, form id: {:X}", __FUNCTION__, to_integral(aEntity), pFormIdComponent ? pFormIdComponent->Id : 0);
return std::nullopt;
}
return {serverId};
}
void ShowHudMessage(const TiltedPhoques::String& acMessage)
{
using TShowHudMessage = void(const char*, const char*, bool);
POINTER_SKYRIMSE(TShowHudMessage, s_showHudMessage, 52933);
s_showHudMessage(acMessage.c_str(), nullptr, false);
}
} // namespace Utils