#pragma once #include "../../DNACommon/DNACommon.hpp" #include "IScriptObject.hpp" #include "Parameters.hpp" namespace DataSpec::DNAMP1 { struct ScriptBeam : IScriptObject { AT_DECL_DNA_YAML AT_DECL_DNAV String<-1> name; Value location; Value orientation; Value active; UniqueID32 wpsc; BeamInfo beamInfo; DamageInfo damageInfo; void nameIDs(PAKRouter& pakRouter) const { if (wpsc.isValid()) { PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc); ent->name = name + "_wpsc"; } beamInfo.nameIDs(pakRouter, name + "_beamInfo"); } void gatherDependencies(std::vector& pathsOut, std::vector& lazyOut) const { g_curSpec->flattenDependencies(wpsc, pathsOut); beamInfo.depIDs(pathsOut); } }; } // namespace DataSpec::DNAMP1