Table of Contents

Class CharacterRendererBase

Namespace
BlazerTech.CharacterManagement.Components
Assembly
Assembly-CSharp.dll
[DisallowMultipleComponent]
public abstract class CharacterRendererBase : MonoBehaviour
Inheritance
Object
Component
Behaviour
MonoBehaviour
CharacterRendererBase
Derived

Fields

_animator

The Animator component which the Animator Controller will be applied to.

[SerializeField]
[ShowIf("setAnimatorController")]
[BoxGroup("References")]
protected Animator _animator

Field Value

Animator

_renderer

The Renderer to apply the character shader to.

[SerializeField]
[BoxGroup("References")]
protected Renderer _renderer

Field Value

Renderer

characterSpriteParent

[SerializeField]
[BoxGroup("References")]
protected Transform characterSpriteParent

Field Value

Transform

defaultOverlayLayers

[SerializeField]
[BoxGroup("Overlay Layers")]
protected List<CharacterOverlayLayerSO> defaultOverlayLayers

Field Value

List<CharacterOverlayLayerSO>

isValid

protected bool isValid

Field Value

bool

loadCharacterOnStart

Toggles if the character should be loaded when the Start method is called.

[SerializeField]
[BoxGroup("Loading")]
protected bool loadCharacterOnStart

Field Value

bool

loadingMode

Option to load character asynchronously or synchronously.

[SerializeField]
[BoxGroup("Loading")]
protected CharacterLoaderLoadingMode loadingMode

Field Value

CharacterLoaderLoadingMode

setAnimatorController

Toggles if the Animator Controller set in Character Type should be used.

[Tooltip("Override the animator controller with the one assigned in the Character Type")]
[SerializeField]
[BoxGroup("References")]
protected bool setAnimatorController

Field Value

bool

Properties

Animator

public Animator Animator { get; }

Property Value

Animator

CharacterSpriteParent

public Transform CharacterSpriteParent { get; }

Property Value

Transform

DefaultOverlayLayers

public IReadOnlyList<CharacterOverlayLayerSO> DefaultOverlayLayers { get; }

Property Value

IReadOnlyList<CharacterOverlayLayerSO>

LoadCharacterOnStart

public bool LoadCharacterOnStart { get; }

Property Value

bool

LoadedCharacter

public abstract ICharacter<CharacterTypeBaseSO, CharacterShaderState> LoadedCharacter { get; }

Property Value

ICharacter<CharacterTypeBaseSO, CharacterShaderState>

LoadingMode

public CharacterLoaderLoadingMode LoadingMode { get; }

Property Value

CharacterLoaderLoadingMode

OverlayLayerHandler

public OverlayLayersHandler OverlayLayerHandler { get; }

Property Value

OverlayLayersHandler

Renderer

public Renderer Renderer { get; }

Property Value

Renderer

SetAnimatorController

public bool SetAnimatorController { get; }

Property Value

bool

Methods

GetAndShowCharacter()

public abstract Task GetAndShowCharacter()

Returns

Task

InstantiateNewOverlayLayer()

public CharacterOverlayLayerHandler InstantiateNewOverlayLayer()

Returns

CharacterOverlayLayerHandler

InvokeOnCharacterLoaded(ICharacter<CharacterTypeBaseSO, CharacterShaderState>)

protected void InvokeOnCharacterLoaded(ICharacter<CharacterTypeBaseSO, CharacterShaderState> character)

Parameters

character ICharacter<CharacterTypeBaseSO, CharacterShaderState>

OnDestroy()

protected virtual void OnDestroy()

ReleaseCharacter()

protected abstract void ReleaseCharacter()

ShowCharacter()

protected virtual void ShowCharacter()

TrySetCharacterAnimator(CharacterTypeBaseSO)

protected void TrySetCharacterAnimator(CharacterTypeBaseSO characterType)

Parameters

characterType CharacterTypeBaseSO

ValidationCheck()

protected virtual bool ValidationCheck()

Returns

bool

Events

OnCharacterLoaded

public event EventHandler<ICharacter<CharacterTypeBaseSO, CharacterShaderState>> OnCharacterLoaded

Event Type

EventHandler<ICharacter<CharacterTypeBaseSO, CharacterShaderState>>