Files
Seele/src/Engine/Asset/MaterialInstanceAsset.cpp
T

41 lines
1003 B
C++
Raw Normal View History

2023-01-21 18:43:21 +01:00
#include "MaterialInstanceAsset.h"
#include "Material/MaterialInstance.h"
#include "Material/Material.h"
2023-01-29 18:58:59 +01:00
#include "Graphics/Graphics.h"
2023-11-05 10:36:01 +01:00
#include "Asset/AssetRegistry.h"
2023-01-21 18:43:21 +01:00
using namespace Seele;
MaterialInstanceAsset::MaterialInstanceAsset()
{
}
2023-02-13 14:56:13 +01:00
MaterialInstanceAsset::MaterialInstanceAsset(std::string_view folderPath, std::string_view name)
: Asset(folderPath, name)
2023-01-21 18:43:21 +01:00
{
}
MaterialInstanceAsset::~MaterialInstanceAsset()
{
}
2023-02-13 14:56:13 +01:00
void MaterialInstanceAsset::save(ArchiveBuffer& buffer) const
2023-01-21 18:43:21 +01:00
{
2024-05-01 14:10:52 +02:00
Serialization::save(buffer, baseMaterial->getFolderPath());
Serialization::save(buffer, baseMaterial->getName());
2023-11-05 10:36:01 +01:00
material->save(buffer);
2023-01-21 18:43:21 +01:00
}
2023-02-13 14:56:13 +01:00
void MaterialInstanceAsset::load(ArchiveBuffer& buffer)
2023-01-21 18:43:21 +01:00
{
2024-05-01 14:10:52 +02:00
std::string folder;
Serialization::load(buffer, folder);
2023-11-05 10:36:01 +01:00
std::string id;
Serialization::load(buffer, id);
2023-11-07 16:55:13 +01:00
material = new MaterialInstance();
2023-11-05 10:36:01 +01:00
material->load(buffer);
2024-05-01 14:10:52 +02:00
baseMaterial = AssetRegistry::findMaterial(folder, id);
2023-11-05 10:36:01 +01:00
material->setBaseMaterial(baseMaterial);
2023-01-21 18:43:21 +01:00
}