32 lines
1.0 KiB
C#
32 lines
1.0 KiB
C#
using System;
|
|
using SharpUI.Source.Data.Model.Character;
|
|
using UnityEngine;
|
|
|
|
namespace SharpUI.Source.Common.UI.Factory
|
|
{
|
|
public class CharacterIconFactory : MonoBehaviour
|
|
{
|
|
[SerializeField] public Sprite iconWarriorPrefab;
|
|
[SerializeField] public Sprite iconHunterPrefab;
|
|
[SerializeField] public Sprite iconCasterPrefab;
|
|
|
|
private Sprite CreateWarriorIcon() => Instantiate(iconWarriorPrefab);
|
|
|
|
private Sprite CreateHunterIcon() => Instantiate(iconHunterPrefab);
|
|
|
|
private Sprite CreateCasterIcon() => Instantiate(iconCasterPrefab);
|
|
|
|
public Sprite CreateSpriteFor(ClassType classType)
|
|
{
|
|
switch (classType)
|
|
{
|
|
case ClassType.Warrior: return CreateWarriorIcon();
|
|
case ClassType.Hunter: return CreateHunterIcon();
|
|
case ClassType.Caster: return CreateCasterIcon();
|
|
default:
|
|
throw new ArgumentOutOfRangeException(nameof(classType), classType, "Unhandled classType");
|
|
}
|
|
}
|
|
}
|
|
}
|