public void Initialize(int tier) { var key = new SpellKey(category, tier); var spells = Repository.Get <Spells>(References.Spells); spell = spells.GetRandom(key); title.text = spell.Title; thumbnail.sprite = spell.Thumbnail; }
public SpellBase GetRandom(SpellKey key) { while (!all.ContainsKey(key)) { key.Downgrade(); } var list = all[key]; return(list[Random.Range(0, list.Count)]); }
private void Register(SpellBase spell) { var key = new SpellKey(spell.Category, spell.Tier); if (all.TryGetValue(key, out var list)) { list.Add(spell); } else { all.Add(key, new List <SpellBase>() { spell }); } }
internal SpellVar(SpellVarDto dto) { Link = dto.Link; Coeff = dto.Coeff.ToImmutableArray(); Key = Enum.Parse <SpellKey>(dto.Key, true); }