mirror of
https://github.com/Facepunch/sbox-public.git
synced 2026-01-03 03:48:24 -05:00
This commit imports the C# engine code and game files, excluding C++ source code. [Source-Commit: ceb3d758046e50faa6258bc3b658a30c97743268]
36 lines
1.0 KiB
C#
36 lines
1.0 KiB
C#
namespace Sandbox;
|
|
|
|
public partial class DebugOverlaySystem
|
|
{
|
|
/// <summary>
|
|
/// Draw model in the world
|
|
/// </summary>
|
|
public void Model( Model model, Color color = new Color(), float duration = 0, Transform transform = default, bool overlay = false, bool castShadows = true, Material materialOveride = default, Transform[] localBoneTransforms = default )
|
|
{
|
|
if ( transform == default ) transform = Transform.Zero;
|
|
if ( color == default ) color = Color.White;
|
|
|
|
var so = new SceneModel( Scene.SceneWorld, model, transform );
|
|
so.Flags.CastShadows = castShadows;
|
|
so.ColorTint = color;
|
|
so.RenderLayer = overlay ? SceneRenderLayer.OverlayWithoutDepth : SceneRenderLayer.Default;
|
|
so.Transform = transform;
|
|
|
|
if ( localBoneTransforms != null )
|
|
{
|
|
so.Update( 0.1f, () =>
|
|
{
|
|
for ( int i = 0; i < localBoneTransforms.Length; i++ )
|
|
{
|
|
so.SetParentSpaceBone( i, localBoneTransforms[i] );
|
|
}
|
|
} );
|
|
}
|
|
|
|
if ( materialOveride is not null )
|
|
so.SetMaterialOverride( materialOveride );
|
|
|
|
Add( duration, so );
|
|
}
|
|
}
|