iw4x-client/src/Components/Modules/AssetInterfaces/IMaterial.hpp

21 lines
990 B
C++
Raw Normal View History

2017-01-20 08:36:52 -05:00
#pragma once
2016-01-22 05:59:43 -05:00
namespace Assets
{
class IMaterial : public Components::AssetHandler::IAsset
{
2016-01-26 10:12:41 -05:00
public:
Game::XAssetType getType() override { return Game::XAssetType::ASSET_TYPE_MATERIAL; }
2016-01-22 05:59:43 -05:00
void save(Game::XAssetHeader header, Components::ZoneBuilder::Zone* builder) override;
void mark(Game::XAssetHeader header, Components::ZoneBuilder::Zone* builder) override;
void load(Game::XAssetHeader* header, const std::string& name, Components::ZoneBuilder::Zone* builder) override;
2018-12-17 08:29:18 -05:00
void loadJson(Game::XAssetHeader* header, const std::string& name, Components::ZoneBuilder::Zone* builder);
void loadNative(Game::XAssetHeader* header, const std::string& name, Components::ZoneBuilder::Zone* builder);
void loadBinary(Game::XAssetHeader* header, const std::string& name, Components::ZoneBuilder::Zone* builder);
2022-12-14 03:40:15 -05:00
private:
Game::MaterialTechniqueSet* findWorkingTechset(const std::string techsetName, Game::Material* material, Components::ZoneBuilder::Zone* builder) const;
2016-01-22 05:59:43 -05:00
};
2016-06-28 06:46:28 -04:00
}