This commit is contained in:
2024-09-22 17:35:29 +02:00
parent 07556b4018
commit 4a6378dab0
23 changed files with 5554 additions and 1739 deletions

View File

@@ -9,10 +9,13 @@ public class TraitSelectorManager : MonoBehaviour
private TMP_InputField _compositionSize;
[SerializeField]
private ChampionSelector _championSelector;
private ChampionSelector _mandatorychampionSelector;
[SerializeField]
private UIToLogic _emblemSelector;
private ChampionSelector _acceptablechampionSelector;
[SerializeField]
private EmblemSelector _emblemSelector;
[SerializeField]
private int _traitThreshold = 7;
@@ -22,25 +25,28 @@ public class TraitSelectorManager : MonoBehaviour
public void ListAllActivableCompo()
{
emblemList = _emblemSelector.GetEmblems();
var champList = _championSelector.GetSelectedChampions();
var mandatoryChampions = ChampionUtils.ToLong(_mandatorychampionSelector.GetSelectedChampions());
var acceptableChampions = ChampionUtils.ToLong(_acceptablechampionSelector.GetSelectedChampions());
int compositionSize = _compositionSize.text == "" ? 1 : int.Parse(_compositionSize.text);
var coroutine = StartCoroutine(TraitsMapping.GetChampionSubsetsAsync(champList, compositionSize,emblemList, HandleCombination));
var composition = TraitsMapping.GenerateCombinations(mandatoryChampions, acceptableChampions, compositionSize);
Coroutine coroutine = StartCoroutine(TraitsMapping.DisplayCompositions(composition));
//var coroutine = StartCoroutine(TraitsMapping.GetChampionSubsetsAsync(champList, compositionSize,emblemList, HandleCombination));
}
private void HandleCombination(HashSet<ChampionsEnum> combination)
private void HandleCombination(long combination)
{
var synergies = TraitsMapping.MergeEmblems(
TraitsMapping.TraitCountInCompo(combination),
emblemList
);
var activeSynergies = TraitsMapping.FilterActiveTraits(synergies);
if (activeSynergies.Count >= _traitThreshold)
{
var s = TraitsMapping.CompositionToString(combination, activeSynergies);
Debug.Log(s);
} else {
Debug.LogWarning("Combination not valid");
}
// var synergies = TraitsMapping.MergeEmblems(
// TraitsMapping.TraitCountInCompo(combination),
// emblemList
// );
// var activeSynergies = TraitsMapping.FilterActiveTraits(synergies);
// if (TraitUtils.TraitCountFromInt(activeSynergies) >= _traitThreshold)
// {
// var s = TraitsMapping.CompositionToString(combination, activeSynergies);
// Debug.Log(s);
// } else {
// Debug.LogWarning("Combination not valid");
// }
}
}