#pragma once class DiffuseAnimatedMaterial final : public Material { public: DiffuseAnimatedMaterial(); ~DiffuseAnimatedMaterial() override = default; DiffuseAnimatedMaterial(const DiffuseAnimatedMaterial& other) = delete; DiffuseAnimatedMaterial(DiffuseAnimatedMaterial&& other) noexcept = delete; DiffuseAnimatedMaterial& operator=(const DiffuseAnimatedMaterial& other) = delete; DiffuseAnimatedMaterial& operator=(DiffuseAnimatedMaterial&& other) noexcept = delete; void SetDiffuseTexture(const std::wstring& assetFile); protected: void InitializeEffectVariables() override; void OnUpdateModelVariables(const SceneContext&, const ModelComponent*) const override; private: TextureData* m_pDiffuseTexture{}; };