switch set, automatize more of the content without UI change

This commit is contained in:
2025-10-11 00:53:40 +02:00
parent 55050c87f9
commit bf4ed2c74f
51 changed files with 11109 additions and 13677 deletions

View File

@@ -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;
}
}
}