add initial project

This commit is contained in:
2024-09-20 10:42:31 +02:00
commit e8195fe237
170 changed files with 83694 additions and 0 deletions

View File

@@ -0,0 +1,64 @@
public enum ChampionsEnum
{
ASHE,
BLITZCRANK,
ELISE,
JAX,
JAYCE,
LILLIA,
NOMSY,
POPPY,
SERAPHINE,
SORAKA,
TWITCH,
WARWICK,
ZIGGS,
ZOE,
AHRI,
AKALI,
CASSIOPEIA,
GALIO,
KASSADIN,
KOGMAW,
NILAH,
NUNU,
RUMBLE,
SHYVANA,
SYNDRA,
TRISTANA,
ZILEAN,
BARD,
EZREAL,
HECARIM,
HWEI,
JINX,
KATARINA,
MORDEKAISER,
NEEKO,
SHEN,
SWAIN,
VEIGAR,
VEX,
WUKONG,
FIORA,
GWEN,
KALISTA,
KARMA,
NAMI,
NASUS,
OLAF,
RAKAN,
RYZE,
TAHMKENCH,
TARIC,
VARUS,
BRIAR,
CAMILLE,
DIANA,
MILLIO,
MORGANA,
NORRA,
SMOLDER,
XERATH
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: a75df9c17190edf428ce88624342f5c9

View File

@@ -0,0 +1,61 @@
using System.Collections.Generic;
using Assets.Data;
using TMPro;
using UnityEngine;
public class TraitSelectorManager : MonoBehaviour
{
[SerializeField]
private TMP_InputField _compositionSize;
[SerializeField]
private ChampionSelector _championSelector;
[SerializeField]
private UIToLogic _emblemSelector;
[SerializeField]
private int _traitThreshold = 7;
private Dictionary<TraitsEnum, int> emblemList;
public void ListAllActivableCompo()
{
emblemList = _emblemSelector.GetEmblems();
var champList = _championSelector.GetSelectedChampions();
int compositionSize = _compositionSize.text == "" ? 1 : int.Parse(_compositionSize.text);
//int i = 0;
//var allComposition = TraitsMapping.GetChampionSubsets(champList, compositionSize);
var coroutine = StartCoroutine(TraitsMapping.GetChampionSubsetsAsync(champList, compositionSize,emblemList, HandleCombination));
// foreach (var composition in allComposition)
// {
// var synergies = TraitsMapping.MergeEmblems(
// TraitsMapping.TraitCountInCompo(composition),
// emblemList
// );
// var activeSynergies = TraitsMapping.FilterActiveTraits(synergies);
// if (activeSynergies.Count >= _traitThreshold)
// {
// var s = TraitsMapping.CompositionToString(composition, activeSynergies);
// Debug.Log(i + " : " + s);
// i++;
// }
// }
}
private void HandleCombination(HashSet<ChampionsEnum> 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");
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 73ed0a195abac8049bbd09802659e2a6

View File

@@ -0,0 +1,6 @@
namespace Assets.Data
{
public class TraitUtils
{
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 88f87d6992be1ef4c96d540fad7f6b25

26
Assets/Data/TraitsEnum.cs Normal file
View File

@@ -0,0 +1,26 @@
public enum TraitsEnum
{
ARCANA,
CHRONO,
DRAGON,
DRUID,
ELDRICHT,
FAERIE,
FROST,
HONEYMANCY,
PORTAL,
PYRO,
SUGARCRAFT,
WITCHCRAFT,
BASTION,
BLASTER,
HUNTER,
INCANTATOR,
MAGE,
MULTISTRIKER,
PRESERVER,
SCHOLAR,
SHAPESHIFTER,
VANGUARD,
WARRIOR
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 1370abde62662fc488093e0861760ee2

1001
Assets/Data/TraitsMapping.cs Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: e486327ee9799854e84d9924d1e547c1