Shipwright/soh/soh/resource/importer/scenecommand/SetSkyboxModifierFactory.cpp
Pepe20129 92467b87b5
Add scene command XML parsers (#4054)
* Add scene command parsers

* Move logging & add logging cvar

* Use new CVAR_DEVELOPER_TOOLS macro

* Update soh/soh/resource/logging/SceneCommandLoggers.h

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-04-28 20:58:12 -04:00

34 lines
1.4 KiB
C++

#include "soh/resource/importer/scenecommand/SetSkyboxModifierFactory.h"
#include "soh/resource/type/scenecommand/SetSkyboxModifier.h"
#include "soh/resource/logging/SceneCommandLoggers.h"
#include "spdlog/spdlog.h"
namespace SOH {
std::shared_ptr<LUS::IResource> SetSkyboxModifierFactory::ReadResource(std::shared_ptr<LUS::ResourceInitData> initData,
std::shared_ptr<LUS::BinaryReader> reader) {
auto setSkyboxModifier = std::make_shared<SetSkyboxModifier>(initData);
ReadCommandId(setSkyboxModifier, reader);
setSkyboxModifier->modifier.skyboxDisabled = reader->ReadInt8();
setSkyboxModifier->modifier.sunMoonDisabled = reader->ReadInt8();
if (CVarGetInteger(CVAR_DEVELOPER_TOOLS("ResourceLogging"), 0)) {
LogSkyboxModifierAsXML(setSkyboxModifier);
}
return setSkyboxModifier;
}
std::shared_ptr<LUS::IResource> SetSkyboxModifierFactoryXML::ReadResource(std::shared_ptr<LUS::ResourceInitData> initData,
tinyxml2::XMLElement* reader) {
auto setSkyboxModifier = std::make_shared<SetSkyboxModifier>(initData);
setSkyboxModifier->cmdId = SceneCommandID::SetSkyboxModifier;
setSkyboxModifier->modifier.skyboxDisabled = reader->IntAttribute("SkyboxDisabled");
setSkyboxModifier->modifier.sunMoonDisabled = reader->IntAttribute("SunMoonDisabled");
return setSkyboxModifier;
}
} // namespace SOH