switch set, automatize more of the content without UI change
This commit is contained in:
@@ -1,135 +1,96 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Set.Data;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
|
||||
public class EmblemSelector : MonoBehaviour
|
||||
namespace UI
|
||||
{
|
||||
[SerializeField] private int _defaultEmblemCount = 0;
|
||||
[SerializeField]
|
||||
private TMP_InputField _arcanaEmblems;
|
||||
|
||||
[SerializeField]
|
||||
private TMP_InputField _chronoEmblems;
|
||||
|
||||
[SerializeField]
|
||||
private TMP_InputField _dragonEmblems;
|
||||
|
||||
[SerializeField]
|
||||
private TMP_InputField _druidEmblems;
|
||||
|
||||
[SerializeField]
|
||||
private TMP_InputField _eldrichtEmblems;
|
||||
|
||||
[SerializeField]
|
||||
private TMP_InputField _faerieEmblems;
|
||||
|
||||
[SerializeField]
|
||||
private TMP_InputField _frostEmblems;
|
||||
|
||||
[SerializeField]
|
||||
private TMP_InputField _honeymancyEmblems;
|
||||
|
||||
[SerializeField]
|
||||
private TMP_InputField _portalEmblems;
|
||||
|
||||
[SerializeField]
|
||||
private TMP_InputField _pyroEmblems;
|
||||
|
||||
[SerializeField]
|
||||
private TMP_InputField _sugarcraftEmblems;
|
||||
|
||||
[SerializeField]
|
||||
private TMP_InputField _witchcraftEmblems;
|
||||
|
||||
[SerializeField]
|
||||
private TMP_InputField _bastionEmblems;
|
||||
|
||||
[SerializeField]
|
||||
private TMP_InputField _blasterEmblems;
|
||||
|
||||
[SerializeField]
|
||||
private TMP_InputField _hunterEmblems;
|
||||
|
||||
[SerializeField]
|
||||
private TMP_InputField _incantatorEmblems;
|
||||
|
||||
[SerializeField]
|
||||
private TMP_InputField _mageEmblems;
|
||||
|
||||
[SerializeField]
|
||||
private TMP_InputField _multistrikerEmblems;
|
||||
|
||||
[SerializeField]
|
||||
private TMP_InputField _preserverEmblems;
|
||||
|
||||
[SerializeField]
|
||||
private TMP_InputField _scholarEmblems;
|
||||
|
||||
[SerializeField]
|
||||
private TMP_InputField _shapeshifterEmblems;
|
||||
|
||||
[SerializeField]
|
||||
private TMP_InputField _vanguardEmblems;
|
||||
|
||||
[SerializeField]
|
||||
private TMP_InputField _warriorEmblems;
|
||||
|
||||
// Start is called before the first frame update
|
||||
void Start() { }
|
||||
|
||||
public Dictionary<int, int> GetEmblems()
|
||||
public class EmblemSelector : MonoBehaviour
|
||||
{
|
||||
Dictionary<int, int> emblems = new Dictionary<int, int>();
|
||||
emblems[(int)TraitsEnum.ARCANA] = int.Parse(_arcanaEmblems.text);
|
||||
emblems[(int)TraitsEnum.CHRONO] = int.Parse(_chronoEmblems.text);
|
||||
emblems[(int)TraitsEnum.DRAGON] = int.Parse(_dragonEmblems.text);
|
||||
emblems[(int)TraitsEnum.DRUID] = int.Parse(_druidEmblems.text);
|
||||
emblems[(int)TraitsEnum.ELDRICHT] = int.Parse(_eldrichtEmblems.text);
|
||||
emblems[(int)TraitsEnum.FAERIE] = int.Parse(_faerieEmblems.text);
|
||||
emblems[(int)TraitsEnum.FROST] = int.Parse(_frostEmblems.text);
|
||||
emblems[(int)TraitsEnum.HONEYMANCY] = int.Parse(_honeymancyEmblems.text);
|
||||
emblems[(int)TraitsEnum.PORTAL] = int.Parse(_portalEmblems.text);
|
||||
emblems[(int)TraitsEnum.PYRO] = int.Parse(_pyroEmblems.text);
|
||||
emblems[(int)TraitsEnum.SUGARCRAFT] = int.Parse(_sugarcraftEmblems.text);
|
||||
emblems[(int)TraitsEnum.WITCHCRAFT] = int.Parse(_witchcraftEmblems.text);
|
||||
emblems[(int)TraitsEnum.BASTION] = int.Parse(_bastionEmblems.text);
|
||||
emblems[(int)TraitsEnum.BLASTER] = int.Parse(_blasterEmblems.text);
|
||||
emblems[(int)TraitsEnum.HUNTER] = int.Parse(_hunterEmblems.text);
|
||||
emblems[(int)TraitsEnum.INCANTATOR] = int.Parse(_incantatorEmblems.text);
|
||||
emblems[(int)TraitsEnum.MAGE] = int.Parse(_mageEmblems.text);
|
||||
emblems[(int)TraitsEnum.MULTISTRIKER] = int.Parse(_multistrikerEmblems.text);
|
||||
emblems[(int)TraitsEnum.PRESERVER] = int.Parse(_preserverEmblems.text);
|
||||
emblems[(int)TraitsEnum.SCHOLAR] = int.Parse(_scholarEmblems.text);
|
||||
emblems[(int)TraitsEnum.SHAPESHIFTER] = int.Parse(_shapeshifterEmblems.text);
|
||||
emblems[(int)TraitsEnum.VANGUARD] = int.Parse(_vanguardEmblems.text);
|
||||
emblems[(int)TraitsEnum.WARRIOR] = int.Parse(_warriorEmblems.text);
|
||||
return emblems;
|
||||
}
|
||||
public void Reset()
|
||||
{
|
||||
_arcanaEmblems.text = _defaultEmblemCount.ToString();
|
||||
_chronoEmblems.text = _defaultEmblemCount.ToString();
|
||||
_dragonEmblems.text = _defaultEmblemCount.ToString();
|
||||
_druidEmblems.text = _defaultEmblemCount.ToString();
|
||||
_eldrichtEmblems.text = _defaultEmblemCount.ToString();
|
||||
_faerieEmblems.text = _defaultEmblemCount.ToString();
|
||||
_frostEmblems.text = _defaultEmblemCount.ToString();
|
||||
_honeymancyEmblems.text = _defaultEmblemCount.ToString();
|
||||
_portalEmblems.text = _defaultEmblemCount.ToString();
|
||||
_pyroEmblems.text = _defaultEmblemCount.ToString();
|
||||
_sugarcraftEmblems.text = _defaultEmblemCount.ToString();
|
||||
_witchcraftEmblems.text = _defaultEmblemCount.ToString();
|
||||
_bastionEmblems.text = _defaultEmblemCount.ToString();
|
||||
_blasterEmblems.text = _defaultEmblemCount.ToString();
|
||||
_hunterEmblems.text = _defaultEmblemCount.ToString();
|
||||
_incantatorEmblems.text = _defaultEmblemCount.ToString();
|
||||
_mageEmblems.text = _defaultEmblemCount.ToString();
|
||||
_multistrikerEmblems.text = _defaultEmblemCount.ToString();
|
||||
_preserverEmblems.text = _defaultEmblemCount.ToString();
|
||||
_scholarEmblems.text = _defaultEmblemCount.ToString();
|
||||
_shapeshifterEmblems.text = _defaultEmblemCount.ToString();
|
||||
_vanguardEmblems.text = _defaultEmblemCount.ToString();
|
||||
_warriorEmblems.text = _defaultEmblemCount.ToString();
|
||||
[Header("Configuration")]
|
||||
[SerializeField]
|
||||
private int _defaultEmblemCount = 0;
|
||||
|
||||
[SerializeField]
|
||||
private TraitDisplayInfo _emblemUIPrefab;
|
||||
|
||||
[Header("Layout")]
|
||||
[SerializeField]
|
||||
private Transform _traitsParent;
|
||||
|
||||
private Dictionary<TraitsEnum, TraitDisplayInfo> _emblemUIs =
|
||||
new Dictionary<TraitsEnum, TraitDisplayInfo>();
|
||||
|
||||
// Trait definitions with display names
|
||||
private readonly Dictionary<TraitsEnum, string> _traitDisplayInfo = new Dictionary<
|
||||
TraitsEnum,
|
||||
string
|
||||
>
|
||||
{
|
||||
{ TraitsEnum.BATTLEACADEMIA, "Battle Academia" },
|
||||
{ TraitsEnum.CRYSTALGAMBIT, "Crystal Gambit" },
|
||||
{ TraitsEnum.LUCHADOR, "Luchador" },
|
||||
{ TraitsEnum.MIGHTYMECH, "Mighty Mech" },
|
||||
{ TraitsEnum.MONSTERTRAINER, "Monster Trainer" },
|
||||
{ TraitsEnum.SOULFIGHTER, "Soul Fighter" },
|
||||
{ TraitsEnum.STARGUARDIAN, "Star Guardian" },
|
||||
{ TraitsEnum.SUPREMECELLS, "Supreme Cells" },
|
||||
{ TraitsEnum.THECREW, "The Crew" },
|
||||
{ TraitsEnum.WRAITH, "Wraith" },
|
||||
{ TraitsEnum.MENTOR, "Mentor" },
|
||||
{ TraitsEnum.PRODIGY, "Prodigy" },
|
||||
{ TraitsEnum.THECHAMP, "The Champ" },
|
||||
{ TraitsEnum.STANCEMASTER, "Stance Master" },
|
||||
{ TraitsEnum.ROGUECAPTAIN, "Rogue Captain" },
|
||||
{ TraitsEnum.BASTION, "Bastion" },
|
||||
{ TraitsEnum.DUELIST, "Duelist" },
|
||||
{ TraitsEnum.EDGELORD, "Edgelord" },
|
||||
{ TraitsEnum.EXECUTIONER, "Executioner" },
|
||||
{ TraitsEnum.HEAVYWEIGHT, "Heavyweight" },
|
||||
{ TraitsEnum.JUGGERNAUT, "Juggernaut" },
|
||||
{ TraitsEnum.PROTECTOR, "Protector" },
|
||||
{ TraitsEnum.SNIPER, "Sniper" },
|
||||
{ TraitsEnum.SORCERER, "Sorcerer" },
|
||||
{ TraitsEnum.STRATEGIST, "Strategist" },
|
||||
};
|
||||
|
||||
void Start()
|
||||
{
|
||||
CreateEmblemUIs();
|
||||
}
|
||||
|
||||
private void CreateEmblemUIs()
|
||||
{
|
||||
foreach (var kvp in _traitDisplayInfo)
|
||||
{
|
||||
var trait = kvp.Key;
|
||||
var traitName = kvp.Value;
|
||||
|
||||
TraitDisplayInfo emblemUI = Instantiate<TraitDisplayInfo>(
|
||||
_emblemUIPrefab,
|
||||
_traitsParent
|
||||
);
|
||||
emblemUI.Initialize(trait, traitName, _defaultEmblemCount);
|
||||
_emblemUIs.Add(trait, emblemUI);
|
||||
}
|
||||
}
|
||||
|
||||
public Dictionary<int, int> GetEmblems()
|
||||
{
|
||||
Dictionary<int, int> emblems = new Dictionary<int, int>();
|
||||
|
||||
foreach (var kvp in _emblemUIs)
|
||||
{
|
||||
var trait = kvp.Key;
|
||||
var emblemUI = kvp.Value;
|
||||
|
||||
int emblemCount = emblemUI.GetEmblemCount();
|
||||
emblems[(int)trait] = emblemCount;
|
||||
|
||||
}
|
||||
return emblems;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user