mirror of
https://github.com/aharabada/glitchy-engine-beef.git
synced 2026-09-05 13:01:52 +00:00
50 lines
812 B
Beef
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();
|
|
}
|
|
}
|
|
}
|