Skip to content

File MaterialEvents.h

File List > editor > events > MaterialEvents.h

Go to the documentation of this file

#pragma once
#include "Material.h"
#include "ID.h"

#include <string>

struct MaterialNameChangedEvent {
    Material* material;
    std::string name{};
};

struct MaterialFloatChangedEvent {
    Material* material;
    Material::MatParaType param_type{ Material::MAT_NONE };
    Material::MatDataType data_type{ Material::MPARA_FLT };
    float value{ 0.0f };
};

struct MaterialColorChangedEvent {
    Material* material;
    Material::MatParaType param_type{ Material::MAT_NONE };
    Material::MatDataType data_type{ Material::MPARA_COL };
    glm::vec3 color{ 0.0f };
};

struct MaterialTextureNameChangedEvent {
    Material* material;
    Material::MatParaType param_type{ Material::MAT_NONE };
    Material::MatDataType data_type{ Material::MPARA_TEX };
    std::string name{};
};

struct MaterialTypeChangedEvent {
    ObjectID* obj;
    Material* material;
    Material::MatParaType param_type{ Material::MAT_NONE };
    Material::MatDataType data_type{ Material::MPARA_FLT };
};

struct MaterialStructChangedEvent
{
    ObjectID* obj;
    Material* material;
};