#pragma once #include "Game/T6/T6.h" #include "Json/JsonCommon.h" #include "Json/JsonOptional.h" #include #include #include #include #include namespace T6 { class JsonWeaponCamoSet { public: std::optional solidCamoImage; std::optional patternCamoImage; JsonVec2 patternOffset; float patternScale; }; NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(JsonWeaponCamoSet, solidCamoImage, patternCamoImage, patternOffset, patternScale); class JsonWeaponCamoMaterialOverride { public: std::string baseMaterial; std::string camoMaterial; }; NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(JsonWeaponCamoMaterialOverride, baseMaterial, camoMaterial); class JsonWeaponCamoMaterial { public: bool useColorMap; bool useNormalMap; bool useSpecularMap; std::vector materialOverrides; std::array shaderConsts; }; NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(JsonWeaponCamoMaterial, useColorMap, useNormalMap, useSpecularMap, materialOverrides, shaderConsts); class JsonWeaponCamoMaterialSet { public: std::vector materials; }; NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(JsonWeaponCamoMaterialSet, materials); class JsonWeaponCamo { public: std::optional solidBaseImage; std::optional patternBaseImage; std::vector camoSets; std::vector camoMaterials; }; NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(JsonWeaponCamo, solidBaseImage, patternBaseImage, camoSets, camoMaterials); } // namespace T6