Files
glitchy-engine-beef/GlitchyEngine/src/World/SkinnedMeshRendererComponent.bf
T

50 lines
812 B
Beef

using System;
using GlitchyEngine.Renderer;
using GlitchyEngine.Renderer.Animation;
namespace GlitchyEngine.World
{
/// A component that allows to render a skinned mesh.
public struct SkinnedMeshRendererComponent : IDisposableComponent
{
private Material _material;
private Skeleton _skeleton;
public Material Material
{
[Inline]
get => _material;
set mut
{
if(_material == value)
return;
_material?.ReleaseRef();
_material = value;
_material?.AddRef();
}
}
public Skeleton Skeleton
{
[Inline]
get => _skeleton;
set mut
{
if(_skeleton == value)
return;
_skeleton?.ReleaseRef();
_skeleton = value;
_skeleton?.AddRef();
}
}
public void Dispose()
{
_material?.ReleaseRef();
_skeleton?.ReleaseRef();
}
}
}