Skip to content

CompositeResourceProvider

interludesoftware.tick

Interlude.Tick

CompositeResourceProvider Class

Resource provider that walks an ordered list of inner providers on every TryGetFont(string, int, Font) / TryGetImage(string, Texture) / TryGetShader(string, Shader) lookup, returning the first hit. Index 0 has the highest priority; later entries act as progressively lower-priority fallbacks. Null entries in the list are silently skipped.

Typical wiring: BaseGameUI builds a composite by adding the user-supplied providers (in inspector order) followed by the bundled DefaultTickConfig. Game code with a reference to the composite can Push(IGUIResourceProvider) additional providers at runtime (e.g. activating a localisation pack) and Remove(IGUIResourceProvider) them later.

public class CompositeResourceProvider : Interlude.Tick.IGUIResourceProvider

Inheritance System.Object → CompositeResourceProvider

Implements IGUIResourceProvider

Properties

CompositeResourceProvider.Count Property

The number of registered providers.

public int Count { get; }

Property Value

System.Int32

CompositeResourceProvider.Providers Property

Read-only view of the providers in priority order (index 0 highest).

public System.Collections.Generic.IReadOnlyList<Interlude.Tick.IGUIResourceProvider> Providers { get; }

Property Value

System.Collections.Generic.IReadOnlyList<IGUIResourceProvider>

Methods

CompositeResourceProvider.Add(IGUIResourceProvider) Method

Appends provider at the end of the list (lowest priority). Null is a silent no-op so callers can `Add` the result of a dictionary lookup without guarding it themselves.

public void Add(Interlude.Tick.IGUIResourceProvider provider);

Parameters

provider IGUIResourceProvider

CompositeResourceProvider.Clear() Method

Removes all providers.

public void Clear();

CompositeResourceProvider.Push(IGUIResourceProvider) Method

Inserts provider at index 0 (highest priority). Use this when game code wants a temporary override (theme swap, localisation pack) to shadow whatever was previously at the top.

public void Push(Interlude.Tick.IGUIResourceProvider provider);

Parameters

provider IGUIResourceProvider

CompositeResourceProvider.Remove(IGUIResourceProvider) Method

Removes the first occurrence of provider. Returns true if removed.

public bool Remove(Interlude.Tick.IGUIResourceProvider provider);

Parameters

provider IGUIResourceProvider

Returns

System.Boolean

CompositeResourceProvider.TryGetFont(string, int, Font) Method

Walks providers in priority order and returns the first exact font match for fontName at size.

public bool TryGetFont(string fontName, int size, out Interlude.Tick.Font foundFont);

Parameters

fontName System.String

size System.Int32

foundFont Font

Implements TryGetFont(string, int, Font)

Returns

System.Boolean

CompositeResourceProvider.TryGetFontScaled(string, int, Font) Method

Walks providers in priority order and returns the best available font for fontName at requestedSize.

public bool TryGetFontScaled(string fontName, int requestedSize, out Interlude.Tick.Font foundFont);

Parameters

fontName System.String

requestedSize System.Int32

foundFont Font

Implements TryGetFontScaled(string, int, Font)

Returns

System.Boolean

CompositeResourceProvider.TryGetImage(string, Texture) Method

Walks providers in priority order and returns the first image matching imageName.

public bool TryGetImage(string imageName, out Texture foundImage);

Parameters

imageName System.String

foundImage UnityEngine.Texture

Implements TryGetImage(string, Texture)

Returns

System.Boolean

CompositeResourceProvider.TryGetShader(string, Shader) Method

Walks providers in priority order and returns the first shader matching shaderName.

public bool TryGetShader(string shaderName, out Shader foundShader);

Parameters

shaderName System.String

foundShader UnityEngine.Shader

Implements TryGetShader(string, Shader)

Returns

System.Boolean

CompositeResourceProvider.TryGetSprite(string, Sprite) Method

Walks providers in priority order and returns the first sprite matching spriteName.

public bool TryGetSprite(string spriteName, out Sprite foundSprite);

Parameters

spriteName System.String

foundSprite UnityEngine.Sprite

Implements TryGetSprite(string, Sprite)

Returns

System.Boolean