Api Sandbox Engine MaterialAccessor
class

MaterialAccessor

public sealed class MaterialAccessor

A wrapper to allow the unification of editing materials. This is usually a member on a Component which implements MaterialAccessor.ITarget.

Constructors

MaterialAccessor(ITarget renderer)

Create a new material accessor for this object.

Properties

Name Type Description
Count Int32 Total number of material slots

Methods

Material GetOriginal(Int32 i)

Get the original material for the specified index.

Boolean HasOverride(Int32 i)

Does this index have an override material?

Material GetOverride(Int32 i)

Get the override material for this slot. Or null if not set.

Void SetOverride(Int32 i, Material material)

Set an override material for this slot. If the material is null, it will clear the override.

Void Apply()

Apply to the object. You don't need to call this when setting overrides, as it will automatically apply them to the target when you set them. This is here as a convenience if this object holds data, and you need to apply it to another object that didn't exist when the overrides were originally set, or loaded.

Examples

MaterialAccessor materialAccessor;
            
            	[Property]
            	public MaterialAccessor Materials => materialAccessor ??= new MaterialAccessor( this );
Assembly: Sandbox.Engine Namespace: Sandbox.Engine Full Name: Sandbox.Engine.MaterialAccessor