Compare commits
2 Commits
main
...
stories/up
| Author | SHA1 | Date | |
|---|---|---|---|
| 3545b86b97 | |||
| bf4ed2c74f |
@@ -1,66 +0,0 @@
|
||||
using System;
|
||||
|
||||
[Flags]
|
||||
public enum ChampionsEnum : long
|
||||
{
|
||||
ASHE = 1L << 0,
|
||||
BLITZCRANK = 1L << 1,
|
||||
ELISE = 1L << 2,
|
||||
JAX = 1L << 3,
|
||||
JAYCE = 1L << 4,
|
||||
LILLIA = 1L << 5,
|
||||
NOMSY = 1L << 6,
|
||||
POPPY = 1L << 7,
|
||||
SERAPHINE = 1L << 8,
|
||||
SORAKA = 1L << 9,
|
||||
TWITCH = 1L << 10,
|
||||
WARWICK = 1L << 11,
|
||||
ZIGGS = 1L << 12,
|
||||
ZOE = 1L << 13,
|
||||
AHRI = 1L << 14,
|
||||
AKALI = 1L << 15,
|
||||
CASSIOPEIA = 1L << 16,
|
||||
GALIO = 1L << 17,
|
||||
KASSADIN = 1L << 18,
|
||||
KOGMAW = 1L << 19,
|
||||
NILAH = 1L << 20,
|
||||
NUNU = 1L << 21,
|
||||
RUMBLE = 1L << 22,
|
||||
SHYVANA = 1L << 23,
|
||||
SYNDRA = 1L << 24,
|
||||
TRISTANA = 1L << 25,
|
||||
ZILEAN = 1L << 26,
|
||||
BARD = 1L << 27,
|
||||
EZREAL = 1L << 28,
|
||||
HECARIM = 1L << 29,
|
||||
HWEI = 1L << 30,
|
||||
JINX = 1L << 31,
|
||||
KATARINA = 1L << 32,
|
||||
MORDEKAISER = 1L << 33,
|
||||
NEEKO = 1L << 34,
|
||||
SHEN = 1L << 35,
|
||||
SWAIN = 1L << 36,
|
||||
VEIGAR = 1L << 37,
|
||||
VEX = 1L << 38,
|
||||
WUKONG = 1L << 39,
|
||||
FIORA = 1L << 40,
|
||||
GWEN = 1L << 41,
|
||||
KALISTA = 1L << 42,
|
||||
KARMA = 1L << 43,
|
||||
NAMI = 1L << 44,
|
||||
NASUS = 1L << 45,
|
||||
OLAF = 1L << 46,
|
||||
RAKAN = 1L << 47,
|
||||
RYZE = 1L << 48,
|
||||
TAHMKENCH = 1L << 49,
|
||||
TARIC = 1L << 50,
|
||||
VARUS = 1L << 51,
|
||||
BRIAR = 1L << 52,
|
||||
CAMILLE = 1L << 53,
|
||||
DIANA = 1L << 54,
|
||||
MILLIO = 1L << 55,
|
||||
MORGANA = 1L << 56,
|
||||
NORRA = 1L << 57,
|
||||
SMOLDER = 1L << 58,
|
||||
XERATH = 1L << 59,
|
||||
}
|
||||
@@ -1,83 +0,0 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Assets.Data;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
|
||||
public class TraitSelectorManager : MonoBehaviour
|
||||
{
|
||||
[SerializeField]
|
||||
private TMP_InputField _compositionSize;
|
||||
|
||||
[SerializeField]
|
||||
private ChampionSelector _mandatorychampionSelector;
|
||||
|
||||
[SerializeField]
|
||||
private ChampionSelector _acceptablechampionSelector;
|
||||
|
||||
[SerializeField]
|
||||
private EmblemSelector _emblemSelector;
|
||||
|
||||
[SerializeField]
|
||||
private int _traitThreshold = 7;
|
||||
|
||||
[SerializeField] public int _compositionPerFrame = 100;
|
||||
public void ListAllActivableCompo()
|
||||
{
|
||||
var emblemList = _emblemSelector.GetEmblems();
|
||||
var mandatoryChampions = ChampionUtils.ToLong(_mandatorychampionSelector.GetSelectedChampions());
|
||||
var acceptableChampions = ChampionUtils.ToLong(_acceptablechampionSelector.GetSelectedChampions());
|
||||
int compositionSize = _compositionSize.text == "" ? 1 : int.Parse(_compositionSize.text);
|
||||
|
||||
Coroutine coroutine = StartCoroutine(ComputeCompositionAsync(mandatoryChampions, acceptableChampions, compositionSize, emblemList));
|
||||
}
|
||||
|
||||
public IEnumerator<float> ComputeCompositionAsync(long mandatoryChampions, long acceptableChampions, int compositionSize, Dictionary<int, int> emblemList)
|
||||
{
|
||||
var compositions = TraitsMapping.GenerateCombinations(mandatoryChampions, acceptableChampions, compositionSize);
|
||||
Debug.Log($"{compositions.Count} Compositions generated.");
|
||||
yield return 0f;
|
||||
int compHandled = 0;
|
||||
int totalCompHandled = 0;
|
||||
int totalSucessfulCompFound = 0;
|
||||
foreach (var composition in compositions)
|
||||
{
|
||||
int activeSynergies = GetActiveSynergy(composition, emblemList);
|
||||
compHandled++;
|
||||
totalCompHandled++;
|
||||
if(TraitUtils.TraitCountFromInt(activeSynergies) >= _traitThreshold)
|
||||
{
|
||||
totalSucessfulCompFound++;
|
||||
HashSet<ChampionsEnum> champions = ChampionUtils.FromLong(composition);
|
||||
var s = TraitsMapping.CompositionToString(champions);
|
||||
Debug.Log($"{totalSucessfulCompFound}: {s} - {TraitUtils.TraitCountFromInt(activeSynergies)}");
|
||||
}
|
||||
if(compHandled >= _compositionPerFrame)
|
||||
{
|
||||
Debug.LogWarning($"{totalSucessfulCompFound} : {totalCompHandled} Compositions handled.");
|
||||
compHandled = 0;
|
||||
yield return 0f;
|
||||
}
|
||||
}
|
||||
|
||||
Debug.Log("Total successful compositions found: " + totalSucessfulCompFound);
|
||||
}
|
||||
|
||||
private int GetActiveSynergy(long combination, Dictionary<int, int> emblemList)
|
||||
{
|
||||
var synergies = TraitsMapping.TraitCountInCompo(combination);
|
||||
|
||||
var synergiesWithEmblem = TraitsMapping.MergeEmblems(
|
||||
synergies,
|
||||
emblemList
|
||||
);
|
||||
var activeSynergies = TraitsMapping.FilterActiveTraits(synergiesWithEmblem);
|
||||
return activeSynergies;
|
||||
|
||||
}
|
||||
|
||||
public void StopAll()
|
||||
{
|
||||
StopAllCoroutines();
|
||||
}
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
using System;
|
||||
|
||||
[Flags]
|
||||
public enum TraitsEnum : int
|
||||
{
|
||||
ARCANA = 1 << 0,
|
||||
CHRONO = 1 << 1,
|
||||
DRAGON = 1 << 2,
|
||||
DRUID = 1 << 3,
|
||||
ELDRICHT = 1 << 4,
|
||||
FAERIE = 1 << 5,
|
||||
FROST = 1 << 6,
|
||||
HONEYMANCY = 1 << 7,
|
||||
PORTAL = 1 << 8,
|
||||
PYRO = 1 << 9,
|
||||
SUGARCRAFT = 1 << 10,
|
||||
WITCHCRAFT = 1 << 11,
|
||||
BASTION = 1 << 12,
|
||||
BLASTER = 1 << 13,
|
||||
HUNTER = 1 << 14,
|
||||
INCANTATOR = 1 << 15,
|
||||
MAGE = 1 << 16,
|
||||
MULTISTRIKER = 1 << 17,
|
||||
PRESERVER = 1 << 18,
|
||||
SCHOLAR = 1 << 19,
|
||||
SHAPESHIFTER = 1 << 20,
|
||||
VANGUARD = 1 << 21,
|
||||
WARRIOR = 1 << 22
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
69
Assets/ReferenceSet15.cs
Normal file
69
Assets/ReferenceSet15.cs
Normal file
@@ -0,0 +1,69 @@
|
||||
/*
|
||||
TFT Set 15 Champion Data
|
||||
Format: Champion Name / Cost / Trait1 / Trait2 / (Trait3)
|
||||
|
||||
Aatrox / 1 / Mighty Mech / Heavyweight / Juggernaut
|
||||
Ahri / 3 / Star Guardian / Sorcerer
|
||||
Akali / 4 / Supreme Cells / Executioner
|
||||
Ashe / 4 / Crystal Gambit / Duelist
|
||||
Braum / 5 / The Champ / Luchador / Bastion
|
||||
Caitlyn / 3 / Battle Academia / Sniper
|
||||
Darius / 3 / Supreme Cells / Heavyweight
|
||||
Dr. Mundo / 2 / Luchador / Juggernaut
|
||||
Ekko / 5 / Prodigy / Sorcerer / Strategist
|
||||
Ezreal / 1 / Battle Academia / Prodigy
|
||||
Gangplank / 2 / Mighty Mech / Duelist
|
||||
Garen / 1 / Battle Academia / Bastion
|
||||
Gnar / 1 / Luchador / Sniper
|
||||
Gwen / 5 / Soul Fighter / Sorcerer
|
||||
Janna / 2 / Crystal Gambit / Protector / Strategist
|
||||
Jarvan IV / 4 / Mighty Mech / Strategist
|
||||
Jayce / 3 / Battle Academia / Heavyweight
|
||||
Jhin / 2 / Wraith / Sniper
|
||||
Jinx / 4 / Star Guardian / Sniper
|
||||
Kai'Sa / 2 / Supreme Cells / Duelist
|
||||
Kalista / 1 / Soul Fighter / Executioner
|
||||
Karma / 4 / Mighty Mech / Sorcerer
|
||||
Katarina / 2 / Battle Academia / Executioner
|
||||
Kayle / 1 / Wraith / Duelist
|
||||
Kennen / 1 / Supreme Cells / Protector / Sorcerer
|
||||
Kobuko / 2 / Mentor / Heavyweight
|
||||
Kog'Maw / 3 / Monster Trainer
|
||||
K'Sante / 4 / Wraith / Protector
|
||||
Lee Sin / 5 / Stance Master / Duelist / Juggernaut / Executioner
|
||||
Leona / 4 / Battle Academia / Bastion
|
||||
Lucian / 1 / Mighty Mech / Sorcerer
|
||||
Lulu / 3 / Monster Trainer
|
||||
Lux / 2 / Soul Fighter / Sorcerer
|
||||
Malphite / 1 / The Crew / Protector
|
||||
Malzahar / 3 / Wraith / Prodigy
|
||||
Naafiri / 1 / Soul Fighter / Juggernaut
|
||||
Neeko / 3 / Star Guardian / Protector
|
||||
Poppy / 4 / Star Guardian / Heavyweight
|
||||
Rakan / 2 / Battle Academia / Protector
|
||||
Rammus / 3 / Monster Trainer
|
||||
Rell / 1 / Star Guardian / Bastion
|
||||
Ryze / 4 / Mentor / Executioner / Strategist
|
||||
Samira / 4 / Soul Fighter / Edgelord
|
||||
Senna / 3 / Mighty Mech / Executioner
|
||||
Seraphine / 5 / Star Guardian / Prodigy
|
||||
Sett / 4 / Soul Fighter / Juggernaut
|
||||
Shen / 2 / The Crew / Bastion / Edgelord
|
||||
Sivir / 1 / The Crew / Sniper
|
||||
Smolder / 3 / Monster Trainer
|
||||
Swain / 3 / Crystal Gambit / Bastion / Sorcerer
|
||||
Syndra / 1 / Crystal Gambit / Star Guardian / Prodigy
|
||||
Twisted Fate / 5 / Rogue Captain / The Crew
|
||||
Udyr / 3 / Mentor / Juggernaut / Duelist
|
||||
Varus / 5 / Wraith / Sniper
|
||||
Vi / 2 / Crystal Gambit / Juggernaut
|
||||
Viego / 3 / Soul Fighter / Duelist
|
||||
Volibear / 4 / Luchador / Edgelord
|
||||
Xayah / 2 / Star Guardian / Edgelord
|
||||
Xin Zhao / 2 / Soul Fighter / Bastion
|
||||
Yasuo / 3 / Mentor / Edgelord
|
||||
Yone / 5 / Mighty Mech / Edgelord
|
||||
Yuumi / 4 / Battle Academia / Prodigy
|
||||
Zac / 1 / Wraith / Heavyweight
|
||||
Ziggs / 3 / The Crew / Strategist
|
||||
*/
|
||||
2
Assets/ReferenceSet15.cs.meta
Normal file
2
Assets/ReferenceSet15.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2a1c5bf866ccea24fad71331cd6ac6c3
|
||||
8
Assets/Set.meta
Normal file
8
Assets/Set.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0c5ec2ccbda5d0047bb36be0354668d7
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3352894ddb2980e45b7117dcbfc78999
|
||||
guid: 02eade1755b3bee4ba788d4232fa4dd8
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
@@ -1,6 +1,6 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Assets.Data
|
||||
namespace Set.Data
|
||||
{
|
||||
public class ChampionUtils
|
||||
{
|
||||
81
Assets/Set/Data/ChampionsEnum.cs
Normal file
81
Assets/Set/Data/ChampionsEnum.cs
Normal file
@@ -0,0 +1,81 @@
|
||||
using System;
|
||||
|
||||
namespace Set.Data
|
||||
{
|
||||
[Flags]
|
||||
public enum ChampionsEnum : long
|
||||
{
|
||||
// Cost 1 Champions
|
||||
AATROX = 1L << 0,
|
||||
EZREAL = 1L << 1,
|
||||
GAREN = 1L << 2,
|
||||
GNAR = 1L << 3,
|
||||
KALISTA = 1L << 4,
|
||||
KAYLE = 1L << 5,
|
||||
KENNEN = 1L << 6,
|
||||
LUCIAN = 1L << 7,
|
||||
MALPHITE = 1L << 8,
|
||||
NAAFIRI = 1L << 9,
|
||||
RELL = 1L << 10,
|
||||
SIVIR = 1L << 11,
|
||||
SYNDRA = 1L << 12,
|
||||
ZAC = 1L << 13,
|
||||
|
||||
// Cost 2 Champions
|
||||
DRMUNDO = 1L << 14,
|
||||
GANGPLANK = 1L << 15,
|
||||
JANNA = 1L << 16,
|
||||
JHIN = 1L << 17,
|
||||
KAISA = 1L << 18,
|
||||
KATARINA = 1L << 19,
|
||||
KOBUKO = 1L << 20,
|
||||
LUX = 1L << 21,
|
||||
RAKAN = 1L << 22,
|
||||
SHEN = 1L << 23,
|
||||
VI = 1L << 24,
|
||||
XAYAH = 1L << 25,
|
||||
XINZHAO = 1L << 26,
|
||||
|
||||
// Cost 3 Champions
|
||||
AHRI = 1L << 27,
|
||||
CAITLYN = 1L << 28,
|
||||
DARIUS = 1L << 29,
|
||||
JAYCE = 1L << 30,
|
||||
KOGMAW = 1L << 31,
|
||||
LULU = 1L << 32,
|
||||
MALZAHAR = 1L << 33,
|
||||
NEEKO = 1L << 34,
|
||||
RAMMUS = 1L << 35,
|
||||
SENNA = 1L << 36,
|
||||
SMOLDER = 1L << 37,
|
||||
SWAIN = 1L << 38,
|
||||
UDYR = 1L << 39,
|
||||
VIEGO = 1L << 40,
|
||||
YASUO = 1L << 41,
|
||||
ZIGGS = 1L << 42,
|
||||
|
||||
// Cost 4 Champions
|
||||
AKALI = 1L << 43,
|
||||
ASHE = 1L << 44,
|
||||
JARVANIV = 1L << 45,
|
||||
JINX = 1L << 46,
|
||||
KARMA = 1L << 47,
|
||||
KSANTE = 1L << 48,
|
||||
LEONA = 1L << 49,
|
||||
POPPY = 1L << 50,
|
||||
RYZE = 1L << 51,
|
||||
SAMIRA = 1L << 52,
|
||||
SETT = 1L << 53,
|
||||
VOLIBEAR = 1L << 54,
|
||||
YUUMI = 1L << 55,
|
||||
|
||||
// Cost 5 Champions
|
||||
BRAUM = 1L << 56,
|
||||
EKKO = 1L << 57,
|
||||
GWEN = 1L << 58,
|
||||
LEESIN = 1L << 59,
|
||||
SERAPHINE = 1L << 60,
|
||||
TWISTEDFATE = 1L << 61,
|
||||
VARUS = 1L << 62,
|
||||
}
|
||||
}
|
||||
109
Assets/Set/Data/TraitSelectorManager.cs
Normal file
109
Assets/Set/Data/TraitSelectorManager.cs
Normal file
@@ -0,0 +1,109 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using TMPro;
|
||||
using UI;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Set.Data
|
||||
{
|
||||
public class TraitSelectorManager : MonoBehaviour
|
||||
{
|
||||
[SerializeField]
|
||||
private TMP_InputField _compositionSize;
|
||||
|
||||
[SerializeField]
|
||||
private ChampionSelector _mandatorychampionSelector;
|
||||
|
||||
[SerializeField]
|
||||
private ChampionSelector _acceptablechampionSelector;
|
||||
|
||||
[SerializeField]
|
||||
private EmblemSelector _emblemSelector;
|
||||
|
||||
[SerializeField]
|
||||
private int _traitThreshold = 7;
|
||||
|
||||
[SerializeField]
|
||||
public int _compositionPerFrame = 100;
|
||||
|
||||
public void ListAllActivableCompo()
|
||||
{
|
||||
var emblemList = _emblemSelector.GetEmblems();
|
||||
var mandatoryChampions = ChampionUtils.ToLong(
|
||||
_mandatorychampionSelector.GetSelectedChampions()
|
||||
);
|
||||
var acceptableChampions = ChampionUtils.ToLong(
|
||||
_acceptablechampionSelector.GetSelectedChampions()
|
||||
);
|
||||
int compositionSize =
|
||||
_compositionSize.text == "" ? 1 : int.Parse(_compositionSize.text);
|
||||
|
||||
Coroutine coroutine = StartCoroutine(
|
||||
ComputeCompositionAsync(
|
||||
mandatoryChampions,
|
||||
acceptableChampions,
|
||||
compositionSize,
|
||||
emblemList
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
public IEnumerator<float> ComputeCompositionAsync(
|
||||
long mandatoryChampions,
|
||||
long acceptableChampions,
|
||||
int compositionSize,
|
||||
Dictionary<int, int> emblemList
|
||||
)
|
||||
{
|
||||
var compositions = TraitsMapping.GenerateCombinations(
|
||||
mandatoryChampions,
|
||||
acceptableChampions,
|
||||
compositionSize
|
||||
);
|
||||
Debug.Log($"{compositions.Count} Compositions generated.");
|
||||
yield return 0f;
|
||||
int compHandled = 0;
|
||||
int totalCompHandled = 0;
|
||||
int totalSucessfulCompFound = 0;
|
||||
foreach (var composition in compositions)
|
||||
{
|
||||
int activeSynergies = GetActiveSynergy(composition, emblemList);
|
||||
compHandled++;
|
||||
totalCompHandled++;
|
||||
if (TraitUtils.TraitCountFromInt(activeSynergies) >= _traitThreshold)
|
||||
{
|
||||
totalSucessfulCompFound++;
|
||||
HashSet<ChampionsEnum> champions = ChampionUtils.FromLong(composition);
|
||||
var s = TraitsMapping.CompositionToString(champions);
|
||||
Debug.Log(
|
||||
$"{totalSucessfulCompFound}: {s} - {TraitUtils.TraitCountFromInt(activeSynergies)}"
|
||||
);
|
||||
}
|
||||
if (compHandled >= _compositionPerFrame)
|
||||
{
|
||||
Debug.LogWarning(
|
||||
$"{totalSucessfulCompFound} : {totalCompHandled} Compositions handled."
|
||||
);
|
||||
compHandled = 0;
|
||||
yield return 0f;
|
||||
}
|
||||
}
|
||||
|
||||
Debug.Log("Total successful compositions found: " + totalSucessfulCompFound);
|
||||
}
|
||||
|
||||
private int GetActiveSynergy(long combination, Dictionary<int, int> emblemList)
|
||||
{
|
||||
var synergies = TraitsMapping.TraitCountInCompo(combination);
|
||||
|
||||
var synergiesWithEmblem = TraitsMapping.MergeEmblems(synergies, emblemList);
|
||||
var activeSynergies = TraitsMapping.FilterActiveTraits(synergiesWithEmblem);
|
||||
return activeSynergies;
|
||||
}
|
||||
|
||||
public void StopAll()
|
||||
{
|
||||
StopAllCoroutines();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Numerics;
|
||||
|
||||
namespace Assets.Data
|
||||
namespace Set.Data
|
||||
{
|
||||
public class TraitUtils
|
||||
{
|
||||
34
Assets/Set/Data/TraitsEnum.cs
Normal file
34
Assets/Set/Data/TraitsEnum.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
using System;
|
||||
|
||||
namespace Set.Data
|
||||
{
|
||||
[Flags]
|
||||
public enum TraitsEnum : int
|
||||
{
|
||||
BATTLEACADEMIA = 1 << 0,
|
||||
CRYSTALGAMBIT = 1 << 1,
|
||||
LUCHADOR = 1 << 2,
|
||||
MIGHTYMECH = 1 << 3,
|
||||
MONSTERTRAINER = 1 << 4,
|
||||
SOULFIGHTER = 1 << 5,
|
||||
STARGUARDIAN = 1 << 6,
|
||||
SUPREMECELLS = 1 << 7,
|
||||
THECREW = 1 << 8,
|
||||
WRAITH = 1 << 9,
|
||||
MENTOR = 1 << 10,
|
||||
PRODIGY = 1 << 11,
|
||||
THECHAMP = 1 << 12,
|
||||
STANCEMASTER = 1 << 13,
|
||||
ROGUECAPTAIN = 1 << 14,
|
||||
BASTION = 1 << 15,
|
||||
DUELIST = 1 << 16,
|
||||
EDGELORD = 1 << 17,
|
||||
EXECUTIONER = 1 << 18,
|
||||
HEAVYWEIGHT = 1 << 19,
|
||||
JUGGERNAUT = 1 << 20,
|
||||
PROTECTOR = 1 << 21,
|
||||
SNIPER = 1 << 22,
|
||||
SORCERER = 1 << 23,
|
||||
STRATEGIST = 1 << 24
|
||||
}
|
||||
}
|
||||
1106
Assets/Set/Data/TraitsMapping.cs
Normal file
1106
Assets/Set/Data/TraitsMapping.cs
Normal file
File diff suppressed because it is too large
Load Diff
8
Assets/Set13.meta
Normal file
8
Assets/Set13.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5dc542870b07f6b489464965d76fd310
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Set13/Scenes.meta
Normal file
8
Assets/Set13/Scenes.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a799773b3ea26c04ea96d6421654077d
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
6957
Assets/Set13/Scenes/Set13Tracker.unity
Normal file
6957
Assets/Set13/Scenes/Set13Tracker.unity
Normal file
File diff suppressed because it is too large
Load Diff
7
Assets/Set13/Scenes/Set13Tracker.unity.meta
Normal file
7
Assets/Set13/Scenes/Set13Tracker.unity.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6419b0f3fb0243d4a95bd5f520385acd
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -2,7 +2,7 @@ using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using NUnit.Framework;
|
||||
|
||||
namespace Assets.Data
|
||||
namespace Tests.Editor
|
||||
{
|
||||
[TestFixture]
|
||||
public class TestBitWise
|
||||
|
||||
@@ -1,76 +1,77 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using NUnit.Framework;
|
||||
// using System;
|
||||
// using System.Collections;
|
||||
// using System.Collections.Generic;
|
||||
// using NUnit.Framework;
|
||||
// using Set.Data;
|
||||
|
||||
namespace Assets.Data
|
||||
{
|
||||
[TestFixture]
|
||||
public class TestChampionUtils
|
||||
{
|
||||
[Test]
|
||||
[TestCaseSource(typeof(ChampionCase), "championsEnum")]
|
||||
public void TestIntChampion(long champlong)
|
||||
{
|
||||
var champs = ChampionUtils.FromLong(champlong);
|
||||
long output = ChampionUtils.ToLong(champs);
|
||||
Assert.IsTrue(champlong == output);
|
||||
}
|
||||
// namespace Tests.Editor
|
||||
// {
|
||||
// [TestFixture]
|
||||
// public class TestChampionUtils
|
||||
// {
|
||||
// [Test]
|
||||
// [TestCaseSource(typeof(ChampionCase), "championsEnum")]
|
||||
// public void TestIntChampion(long champlong)
|
||||
// {
|
||||
// var champs = ChampionUtils.FromLong(champlong);
|
||||
// long output = ChampionUtils.ToLong(champs);
|
||||
// Assert.IsTrue(champlong == output);
|
||||
// }
|
||||
|
||||
[Test]
|
||||
[TestCaseSource(typeof(ChampionCase), "championsNth")]
|
||||
public void TestGetNthChampion(long champlons, int n, long expected)
|
||||
{
|
||||
long output = ChampionUtils.GetNthChampion(champlons, n);
|
||||
Assert.IsTrue(output == expected);
|
||||
}
|
||||
}
|
||||
// [Test]
|
||||
// [TestCaseSource(typeof(ChampionCase), "championsNth")]
|
||||
// public void TestGetNthChampion(long champlons, int n, long expected)
|
||||
// {
|
||||
// long output = ChampionUtils.GetNthChampion(champlons, n);
|
||||
// Assert.IsTrue(output == expected);
|
||||
// }
|
||||
// }
|
||||
|
||||
public class ChampionCase
|
||||
{
|
||||
public static IEnumerable championsEnum
|
||||
{
|
||||
get
|
||||
{
|
||||
yield return 1223456L;
|
||||
yield return 3422L;
|
||||
yield return 97352L;
|
||||
yield return 67855324254L;
|
||||
yield return 432742125L;
|
||||
yield return 76578256785L;
|
||||
yield return 12345678912345678L;
|
||||
}
|
||||
}
|
||||
// public class ChampionCase
|
||||
// {
|
||||
// public static IEnumerable championsEnum
|
||||
// {
|
||||
// get
|
||||
// {
|
||||
// yield return 1223456L;
|
||||
// yield return 3422L;
|
||||
// yield return 97352L;
|
||||
// yield return 67855324254L;
|
||||
// yield return 432742125L;
|
||||
// yield return 76578256785L;
|
||||
// yield return 12345678912345678L;
|
||||
// }
|
||||
// }
|
||||
|
||||
public static IEnumerable championsNth
|
||||
{
|
||||
get
|
||||
{
|
||||
yield return new TestCaseData(
|
||||
ChampionUtils.ToLong(ChampionsEnum.ASHE),
|
||||
0,
|
||||
ChampionUtils.ToLong(ChampionsEnum.ASHE)
|
||||
);
|
||||
yield return new TestCaseData(
|
||||
ChampionUtils.ToLong(ChampionsEnum.SMOLDER),
|
||||
0,
|
||||
ChampionUtils.ToLong(ChampionsEnum.SMOLDER)
|
||||
);
|
||||
yield return new TestCaseData(
|
||||
ChampionUtils.ToLong(new HashSet<ChampionsEnum>() { ChampionsEnum.AHRI }),
|
||||
0,
|
||||
ChampionUtils.ToLong(ChampionsEnum.AHRI)
|
||||
);
|
||||
yield return new TestCaseData(
|
||||
ChampionUtils.ToLong(new HashSet<ChampionsEnum>() {
|
||||
ChampionsEnum.AHRI,
|
||||
ChampionsEnum.POPPY,
|
||||
ChampionsEnum.SORAKA,
|
||||
ChampionsEnum.HWEI }),
|
||||
1,
|
||||
ChampionUtils.ToLong(ChampionsEnum.SORAKA)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// public static IEnumerable championsNth
|
||||
// {
|
||||
// get
|
||||
// {
|
||||
// yield return new TestCaseData(
|
||||
// ChampionUtils.ToLong(ChampionsEnum.ASHE),
|
||||
// 0,
|
||||
// ChampionUtils.ToLong(ChampionsEnum.ASHE)
|
||||
// );
|
||||
// yield return new TestCaseData(
|
||||
// ChampionUtils.ToLong(ChampionsEnum.SMOLDER),
|
||||
// 0,
|
||||
// ChampionUtils.ToLong(ChampionsEnum.SMOLDER)
|
||||
// );
|
||||
// yield return new TestCaseData(
|
||||
// ChampionUtils.ToLong(new HashSet<ChampionsEnum>() { ChampionsEnum.AHRI }),
|
||||
// 0,
|
||||
// ChampionUtils.ToLong(ChampionsEnum.AHRI)
|
||||
// );
|
||||
// yield return new TestCaseData(
|
||||
// ChampionUtils.ToLong(new HashSet<ChampionsEnum>() {
|
||||
// ChampionsEnum.AHRI,
|
||||
// ChampionsEnum.POPPY,
|
||||
// ChampionsEnum.SORAKA,
|
||||
// ChampionsEnum.HWEI }),
|
||||
// 1,
|
||||
// ChampionUtils.ToLong(ChampionsEnum.SORAKA)
|
||||
// );
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
@@ -1,292 +1,293 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using NUnit.Framework;
|
||||
// using System.Collections;
|
||||
// using System.Collections.Generic;
|
||||
// using NUnit.Framework;
|
||||
// using Set.Data;
|
||||
|
||||
namespace Assets.Data
|
||||
{
|
||||
[TestFixture]
|
||||
public class TestTraitsMapping
|
||||
{
|
||||
[Test]
|
||||
[TestCaseSource(typeof(TraitsMappingCase), "ChampCombination")]
|
||||
public void TestChampCombination(
|
||||
long mandatoryChamps,
|
||||
long possibleChamps,
|
||||
int n,
|
||||
List<long> expected
|
||||
)
|
||||
{
|
||||
List<long> output = TraitsMapping.GenerateCombinations(
|
||||
mandatoryChamps,
|
||||
possibleChamps,
|
||||
n
|
||||
);
|
||||
foreach (long champ in expected)
|
||||
{
|
||||
Assert.IsTrue(output.Contains(champ));
|
||||
}
|
||||
// namespace Tests.Editor
|
||||
// {
|
||||
// [TestFixture]
|
||||
// public class TestTraitsMapping
|
||||
// // {
|
||||
// [Test]
|
||||
// [TestCaseSource(typeof(TraitsMappingCase), "ChampCombination")]
|
||||
// public void TestChampCombination(
|
||||
// long mandatoryChamps,
|
||||
// long possibleChamps,
|
||||
// int n,
|
||||
// List<long> expected
|
||||
// )
|
||||
// {
|
||||
// List<long> output = TraitsMapping.GenerateCombinations(
|
||||
// mandatoryChamps,
|
||||
// possibleChamps,
|
||||
// n
|
||||
// );
|
||||
// foreach (long champ in expected)
|
||||
// {
|
||||
// Assert.IsTrue(output.Contains(champ));
|
||||
// }
|
||||
|
||||
foreach (long champ in output)
|
||||
{
|
||||
Assert.IsTrue(expected.Contains(champ));
|
||||
}
|
||||
}
|
||||
// foreach (long champ in output)
|
||||
// {
|
||||
// Assert.IsTrue(expected.Contains(champ));
|
||||
// }
|
||||
// }
|
||||
|
||||
[Test]
|
||||
[TestCaseSource(typeof(TraitsMappingCase), "TestFilteringChampCombination")]
|
||||
public void TestFilteringChampCombination(
|
||||
long accessibleChampions,
|
||||
long subselectedChampions,
|
||||
long expected
|
||||
)
|
||||
{
|
||||
var output = TraitsMapping.SelectSublistOfChampion(accessibleChampions, subselectedChampions);
|
||||
Assert.AreEqual(expected, output);
|
||||
}
|
||||
}
|
||||
// [Test]
|
||||
// [TestCaseSource(typeof(TraitsMappingCase), "TestFilteringChampCombination")]
|
||||
// public void TestFilteringChampCombination(
|
||||
// long accessibleChampions,
|
||||
// long subselectedChampions,
|
||||
// long expected
|
||||
// )
|
||||
// {
|
||||
// var output = TraitsMapping.SelectSublistOfChampion(accessibleChampions, subselectedChampions);
|
||||
// Assert.AreEqual(expected, output);
|
||||
// }
|
||||
// }
|
||||
|
||||
public class TraitsMappingCase
|
||||
{
|
||||
public static IEnumerable ChampCombination
|
||||
{
|
||||
get
|
||||
{
|
||||
yield return new TestCaseData(
|
||||
ChampionUtils.ToLong(
|
||||
new HashSet<ChampionsEnum>()
|
||||
{
|
||||
ChampionsEnum.ASHE,
|
||||
ChampionsEnum.BLITZCRANK,
|
||||
}
|
||||
),
|
||||
ChampionUtils.ToLong(new HashSet<ChampionsEnum>() { ChampionsEnum.ELISE }),
|
||||
3,
|
||||
new List<long>()
|
||||
{
|
||||
ChampionUtils.ToLong(
|
||||
new HashSet<ChampionsEnum>()
|
||||
{
|
||||
ChampionsEnum.ASHE,
|
||||
ChampionsEnum.BLITZCRANK,
|
||||
ChampionsEnum.ELISE,
|
||||
}
|
||||
),
|
||||
}
|
||||
);
|
||||
// public class TraitsMappingCase
|
||||
// {
|
||||
// public static IEnumerable ChampCombination
|
||||
// {
|
||||
// get
|
||||
// {
|
||||
// yield return new TestCaseData(
|
||||
// ChampionUtils.ToLong(
|
||||
// new HashSet<ChampionsEnum>()
|
||||
// {
|
||||
// ChampionsEnum.ASHE,
|
||||
// ChampionsEnum.BLITZCRANK,
|
||||
// }
|
||||
// ),
|
||||
// ChampionUtils.ToLong(new HashSet<ChampionsEnum>() { ChampionsEnum.ELISE }),
|
||||
// 3,
|
||||
// new List<long>()
|
||||
// {
|
||||
// ChampionUtils.ToLong(
|
||||
// new HashSet<ChampionsEnum>()
|
||||
// {
|
||||
// ChampionsEnum.ASHE,
|
||||
// ChampionsEnum.BLITZCRANK,
|
||||
// ChampionsEnum.ELISE,
|
||||
// }
|
||||
// ),
|
||||
// }
|
||||
// );
|
||||
|
||||
yield return new TestCaseData(
|
||||
ChampionUtils.ToLong(
|
||||
new HashSet<ChampionsEnum>()
|
||||
{
|
||||
ChampionsEnum.ASHE,
|
||||
ChampionsEnum.BLITZCRANK,
|
||||
}
|
||||
),
|
||||
ChampionUtils.ToLong(
|
||||
new HashSet<ChampionsEnum>()
|
||||
{
|
||||
ChampionsEnum.ELISE,
|
||||
ChampionsEnum.AHRI,
|
||||
ChampionsEnum.CASSIOPEIA,
|
||||
ChampionsEnum.EZREAL,
|
||||
}
|
||||
),
|
||||
5,
|
||||
new List<long>()
|
||||
{
|
||||
ChampionUtils.ToLong(
|
||||
new HashSet<ChampionsEnum>()
|
||||
{
|
||||
ChampionsEnum.ASHE,
|
||||
ChampionsEnum.BLITZCRANK,
|
||||
ChampionsEnum.ELISE,
|
||||
ChampionsEnum.AHRI,
|
||||
ChampionsEnum.CASSIOPEIA,
|
||||
}
|
||||
),
|
||||
ChampionUtils.ToLong(
|
||||
new HashSet<ChampionsEnum>()
|
||||
{
|
||||
ChampionsEnum.ASHE,
|
||||
ChampionsEnum.BLITZCRANK,
|
||||
ChampionsEnum.ELISE,
|
||||
ChampionsEnum.AHRI,
|
||||
ChampionsEnum.EZREAL,
|
||||
}
|
||||
),
|
||||
ChampionUtils.ToLong(
|
||||
new HashSet<ChampionsEnum>()
|
||||
{
|
||||
ChampionsEnum.ASHE,
|
||||
ChampionsEnum.BLITZCRANK,
|
||||
ChampionsEnum.ELISE,
|
||||
ChampionsEnum.CASSIOPEIA,
|
||||
ChampionsEnum.EZREAL,
|
||||
}
|
||||
),
|
||||
ChampionUtils.ToLong(
|
||||
new HashSet<ChampionsEnum>()
|
||||
{
|
||||
ChampionsEnum.ASHE,
|
||||
ChampionsEnum.BLITZCRANK,
|
||||
ChampionsEnum.AHRI,
|
||||
ChampionsEnum.CASSIOPEIA,
|
||||
ChampionsEnum.EZREAL,
|
||||
}
|
||||
),
|
||||
}
|
||||
);
|
||||
// yield return new TestCaseData(
|
||||
// ChampionUtils.ToLong(
|
||||
// new HashSet<ChampionsEnum>()
|
||||
// {
|
||||
// ChampionsEnum.ASHE,
|
||||
// ChampionsEnum.BLITZCRANK,
|
||||
// }
|
||||
// ),
|
||||
// ChampionUtils.ToLong(
|
||||
// new HashSet<ChampionsEnum>()
|
||||
// {
|
||||
// ChampionsEnum.ELISE,
|
||||
// ChampionsEnum.AHRI,
|
||||
// ChampionsEnum.CASSIOPEIA,
|
||||
// ChampionsEnum.EZREAL,
|
||||
// }
|
||||
// ),
|
||||
// 5,
|
||||
// new List<long>()
|
||||
// {
|
||||
// ChampionUtils.ToLong(
|
||||
// new HashSet<ChampionsEnum>()
|
||||
// {
|
||||
// ChampionsEnum.ASHE,
|
||||
// ChampionsEnum.BLITZCRANK,
|
||||
// ChampionsEnum.ELISE,
|
||||
// ChampionsEnum.AHRI,
|
||||
// ChampionsEnum.CASSIOPEIA,
|
||||
// }
|
||||
// ),
|
||||
// ChampionUtils.ToLong(
|
||||
// new HashSet<ChampionsEnum>()
|
||||
// {
|
||||
// ChampionsEnum.ASHE,
|
||||
// ChampionsEnum.BLITZCRANK,
|
||||
// ChampionsEnum.ELISE,
|
||||
// ChampionsEnum.AHRI,
|
||||
// ChampionsEnum.EZREAL,
|
||||
// }
|
||||
// ),
|
||||
// ChampionUtils.ToLong(
|
||||
// new HashSet<ChampionsEnum>()
|
||||
// {
|
||||
// ChampionsEnum.ASHE,
|
||||
// ChampionsEnum.BLITZCRANK,
|
||||
// ChampionsEnum.ELISE,
|
||||
// ChampionsEnum.CASSIOPEIA,
|
||||
// ChampionsEnum.EZREAL,
|
||||
// }
|
||||
// ),
|
||||
// ChampionUtils.ToLong(
|
||||
// new HashSet<ChampionsEnum>()
|
||||
// {
|
||||
// ChampionsEnum.ASHE,
|
||||
// ChampionsEnum.BLITZCRANK,
|
||||
// ChampionsEnum.AHRI,
|
||||
// ChampionsEnum.CASSIOPEIA,
|
||||
// ChampionsEnum.EZREAL,
|
||||
// }
|
||||
// ),
|
||||
// }
|
||||
// );
|
||||
|
||||
yield return new TestCaseData(
|
||||
ChampionUtils.ToLong(
|
||||
new HashSet<ChampionsEnum>() { ChampionsEnum.AHRI, ChampionsEnum.AKALI }
|
||||
),
|
||||
ChampionUtils.ToLong(new HashSet<ChampionsEnum>() { ChampionsEnum.ELISE }),
|
||||
3,
|
||||
new List<long>()
|
||||
{
|
||||
ChampionUtils.ToLong(
|
||||
new HashSet<ChampionsEnum>()
|
||||
{
|
||||
ChampionsEnum.AHRI,
|
||||
ChampionsEnum.AKALI,
|
||||
ChampionsEnum.ELISE,
|
||||
}
|
||||
),
|
||||
}
|
||||
);
|
||||
// yield return new TestCaseData(
|
||||
// ChampionUtils.ToLong(
|
||||
// new HashSet<ChampionsEnum>() { ChampionsEnum.AHRI, ChampionsEnum.AKALI }
|
||||
// ),
|
||||
// ChampionUtils.ToLong(new HashSet<ChampionsEnum>() { ChampionsEnum.ELISE }),
|
||||
// 3,
|
||||
// new List<long>()
|
||||
// {
|
||||
// ChampionUtils.ToLong(
|
||||
// new HashSet<ChampionsEnum>()
|
||||
// {
|
||||
// ChampionsEnum.AHRI,
|
||||
// ChampionsEnum.AKALI,
|
||||
// ChampionsEnum.ELISE,
|
||||
// }
|
||||
// ),
|
||||
// }
|
||||
// );
|
||||
|
||||
yield return new TestCaseData(
|
||||
ChampionUtils.ToLong(
|
||||
new HashSet<ChampionsEnum>()
|
||||
{
|
||||
ChampionsEnum.AHRI,
|
||||
ChampionsEnum.POPPY,
|
||||
ChampionsEnum.SORAKA,
|
||||
ChampionsEnum.XERATH,
|
||||
}
|
||||
),
|
||||
ChampionUtils.ToLong(
|
||||
new HashSet<ChampionsEnum>()
|
||||
{
|
||||
ChampionsEnum.SMOLDER,
|
||||
ChampionsEnum.MORDEKAISER,
|
||||
}
|
||||
),
|
||||
4,
|
||||
new List<long>()
|
||||
{
|
||||
ChampionUtils.ToLong(
|
||||
new HashSet<ChampionsEnum>()
|
||||
{
|
||||
ChampionsEnum.AHRI,
|
||||
ChampionsEnum.POPPY,
|
||||
ChampionsEnum.SORAKA,
|
||||
ChampionsEnum.XERATH,
|
||||
}
|
||||
),
|
||||
}
|
||||
);
|
||||
// yield return new TestCaseData(
|
||||
// ChampionUtils.ToLong(
|
||||
// new HashSet<ChampionsEnum>()
|
||||
// {
|
||||
// ChampionsEnum.AHRI,
|
||||
// ChampionsEnum.POPPY,
|
||||
// ChampionsEnum.SORAKA,
|
||||
// ChampionsEnum.XERATH,
|
||||
// }
|
||||
// ),
|
||||
// ChampionUtils.ToLong(
|
||||
// new HashSet<ChampionsEnum>()
|
||||
// {
|
||||
// ChampionsEnum.SMOLDER,
|
||||
// ChampionsEnum.MORDEKAISER,
|
||||
// }
|
||||
// ),
|
||||
// 4,
|
||||
// new List<long>()
|
||||
// {
|
||||
// ChampionUtils.ToLong(
|
||||
// new HashSet<ChampionsEnum>()
|
||||
// {
|
||||
// ChampionsEnum.AHRI,
|
||||
// ChampionsEnum.POPPY,
|
||||
// ChampionsEnum.SORAKA,
|
||||
// ChampionsEnum.XERATH,
|
||||
// }
|
||||
// ),
|
||||
// }
|
||||
// );
|
||||
|
||||
yield return new TestCaseData(
|
||||
ChampionUtils.ToLong(
|
||||
new HashSet<ChampionsEnum>()
|
||||
{
|
||||
ChampionsEnum.RUMBLE,
|
||||
ChampionsEnum.GALIO,
|
||||
ChampionsEnum.AKALI,
|
||||
ChampionsEnum.BARD,
|
||||
}
|
||||
),
|
||||
ChampionUtils.ToLong(
|
||||
new HashSet<ChampionsEnum>()
|
||||
{
|
||||
ChampionsEnum.MORGANA,
|
||||
ChampionsEnum.FIORA,
|
||||
ChampionsEnum.VARUS,
|
||||
}
|
||||
),
|
||||
7,
|
||||
new List<long>()
|
||||
{
|
||||
ChampionUtils.ToLong(
|
||||
new HashSet<ChampionsEnum>()
|
||||
{
|
||||
ChampionsEnum.RUMBLE,
|
||||
ChampionsEnum.GALIO,
|
||||
ChampionsEnum.AKALI,
|
||||
ChampionsEnum.BARD,
|
||||
ChampionsEnum.MORGANA,
|
||||
ChampionsEnum.FIORA,
|
||||
ChampionsEnum.VARUS
|
||||
}
|
||||
),
|
||||
}
|
||||
);
|
||||
// yield return new TestCaseData(
|
||||
// ChampionUtils.ToLong(
|
||||
// new HashSet<ChampionsEnum>()
|
||||
// {
|
||||
// ChampionsEnum.RUMBLE,
|
||||
// ChampionsEnum.GALIO,
|
||||
// ChampionsEnum.AKALI,
|
||||
// ChampionsEnum.BARD,
|
||||
// }
|
||||
// ),
|
||||
// ChampionUtils.ToLong(
|
||||
// new HashSet<ChampionsEnum>()
|
||||
// {
|
||||
// ChampionsEnum.MORGANA,
|
||||
// ChampionsEnum.FIORA,
|
||||
// ChampionsEnum.VARUS,
|
||||
// }
|
||||
// ),
|
||||
// 7,
|
||||
// new List<long>()
|
||||
// {
|
||||
// ChampionUtils.ToLong(
|
||||
// new HashSet<ChampionsEnum>()
|
||||
// {
|
||||
// ChampionsEnum.RUMBLE,
|
||||
// ChampionsEnum.GALIO,
|
||||
// ChampionsEnum.AKALI,
|
||||
// ChampionsEnum.BARD,
|
||||
// ChampionsEnum.MORGANA,
|
||||
// ChampionsEnum.FIORA,
|
||||
// ChampionsEnum.VARUS
|
||||
// }
|
||||
// ),
|
||||
// }
|
||||
// );
|
||||
|
||||
yield return new TestCaseData(
|
||||
ChampionUtils.ToLong(
|
||||
new HashSet<ChampionsEnum>()
|
||||
{
|
||||
ChampionsEnum.RUMBLE,
|
||||
ChampionsEnum.GALIO,
|
||||
ChampionsEnum.AKALI,
|
||||
ChampionsEnum.BARD,
|
||||
ChampionsEnum.MORGANA,
|
||||
ChampionsEnum.FIORA,
|
||||
ChampionsEnum.VARUS
|
||||
}
|
||||
),
|
||||
ChampionUtils.ToLong(
|
||||
new HashSet<ChampionsEnum>()
|
||||
{
|
||||
ChampionsEnum.XERATH
|
||||
}
|
||||
),
|
||||
7,
|
||||
new List<long>()
|
||||
{
|
||||
ChampionUtils.ToLong(
|
||||
new HashSet<ChampionsEnum>()
|
||||
{
|
||||
ChampionsEnum.RUMBLE,
|
||||
ChampionsEnum.GALIO,
|
||||
ChampionsEnum.AKALI,
|
||||
ChampionsEnum.BARD,
|
||||
ChampionsEnum.MORGANA,
|
||||
ChampionsEnum.FIORA,
|
||||
ChampionsEnum.VARUS
|
||||
}
|
||||
),
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
// yield return new TestCaseData(
|
||||
// ChampionUtils.ToLong(
|
||||
// new HashSet<ChampionsEnum>()
|
||||
// {
|
||||
// ChampionsEnum.RUMBLE,
|
||||
// ChampionsEnum.GALIO,
|
||||
// ChampionsEnum.AKALI,
|
||||
// ChampionsEnum.BARD,
|
||||
// ChampionsEnum.MORGANA,
|
||||
// ChampionsEnum.FIORA,
|
||||
// ChampionsEnum.VARUS
|
||||
// }
|
||||
// ),
|
||||
// ChampionUtils.ToLong(
|
||||
// new HashSet<ChampionsEnum>()
|
||||
// {
|
||||
// ChampionsEnum.XERATH
|
||||
// }
|
||||
// ),
|
||||
// 7,
|
||||
// new List<long>()
|
||||
// {
|
||||
// ChampionUtils.ToLong(
|
||||
// new HashSet<ChampionsEnum>()
|
||||
// {
|
||||
// ChampionsEnum.RUMBLE,
|
||||
// ChampionsEnum.GALIO,
|
||||
// ChampionsEnum.AKALI,
|
||||
// ChampionsEnum.BARD,
|
||||
// ChampionsEnum.MORGANA,
|
||||
// ChampionsEnum.FIORA,
|
||||
// ChampionsEnum.VARUS
|
||||
// }
|
||||
// ),
|
||||
// }
|
||||
// );
|
||||
// }
|
||||
// }
|
||||
|
||||
public static IEnumerable TestFilteringChampCombination
|
||||
{
|
||||
get
|
||||
{
|
||||
yield return new TestCaseData(
|
||||
ChampionUtils.ToLong(
|
||||
new HashSet<ChampionsEnum>()
|
||||
{
|
||||
ChampionsEnum.ASHE,
|
||||
ChampionsEnum.BLITZCRANK,
|
||||
ChampionsEnum.ELISE,
|
||||
ChampionsEnum.JAX
|
||||
}
|
||||
),
|
||||
0b0101,
|
||||
ChampionUtils.ToLong(
|
||||
new HashSet<ChampionsEnum>()
|
||||
{
|
||||
ChampionsEnum.ASHE,
|
||||
ChampionsEnum.ELISE
|
||||
}
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// public static IEnumerable TestFilteringChampCombination
|
||||
// {
|
||||
// get
|
||||
// {
|
||||
// yield return new TestCaseData(
|
||||
// ChampionUtils.ToLong(
|
||||
// new HashSet<ChampionsEnum>()
|
||||
// {
|
||||
// ChampionsEnum.ASHE,
|
||||
// ChampionsEnum.BLITZCRANK,
|
||||
// ChampionsEnum.ELISE,
|
||||
// ChampionsEnum.JAX
|
||||
// }
|
||||
// ),
|
||||
// 0b0101,
|
||||
// ChampionUtils.ToLong(
|
||||
// new HashSet<ChampionsEnum>()
|
||||
// {
|
||||
// ChampionsEnum.ASHE,
|
||||
// ChampionsEnum.ELISE
|
||||
// }
|
||||
// )
|
||||
// );
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using NUnit.Framework;
|
||||
using Set.Data;
|
||||
|
||||
namespace Assets.Data
|
||||
namespace Tests.Editor
|
||||
{
|
||||
[TestFixture]
|
||||
public class TestTraitsUtils
|
||||
@@ -92,65 +93,46 @@ namespace Assets.Data
|
||||
get
|
||||
{
|
||||
yield return new TestCaseData(
|
||||
new Dictionary<int, int> { { (int)TraitsEnum.ARCANA, 1 } },
|
||||
new Dictionary<int, int> { { (int)TraitsEnum.ARCANA, 1 } },
|
||||
new Dictionary<int, int> { { (int)TraitsEnum.ARCANA, 2 } }
|
||||
new Dictionary<int, int> { { (int)TraitsEnum.BATTLEACADEMIA, 1 } },
|
||||
new Dictionary<int, int> { { (int)TraitsEnum.BATTLEACADEMIA, 1 } },
|
||||
new Dictionary<int, int> { { (int)TraitsEnum.BATTLEACADEMIA, 2 } }
|
||||
);
|
||||
yield return new TestCaseData(
|
||||
new Dictionary<int, int>
|
||||
{
|
||||
{ (int)TraitsEnum.ARCANA, 1 },
|
||||
{ (int)TraitsEnum.DRAGON, 2 },
|
||||
{ (int)TraitsEnum.FROST, 3 },
|
||||
{ (int)TraitsEnum.HONEYMANCY, 4 },
|
||||
{ (int)TraitsEnum.PYRO, 5 },
|
||||
{ (int)TraitsEnum.WARRIOR, 6 },
|
||||
{ (int)TraitsEnum.BATTLEACADEMIA, 1 },
|
||||
{ (int)TraitsEnum.CRYSTALGAMBIT, 2 },
|
||||
{ (int)TraitsEnum.LUCHADOR, 3 },
|
||||
{ (int)TraitsEnum.MIGHTYMECH, 4 },
|
||||
{ (int)TraitsEnum.SOULFIGHTER, 5 },
|
||||
{ (int)TraitsEnum.BASTION, 6 },
|
||||
},
|
||||
new Dictionary<int, int>
|
||||
{
|
||||
{ (int)TraitsEnum.ARCANA, 1 },
|
||||
{ (int)TraitsEnum.DRAGON, 2 },
|
||||
{ (int)TraitsEnum.FROST, 3 },
|
||||
{ (int)TraitsEnum.HONEYMANCY, 4 },
|
||||
{ (int)TraitsEnum.PYRO, 5 },
|
||||
{ (int)TraitsEnum.WARRIOR, 6 },
|
||||
{ (int)TraitsEnum.BATTLEACADEMIA, 1 },
|
||||
{ (int)TraitsEnum.CRYSTALGAMBIT, 2 },
|
||||
{ (int)TraitsEnum.LUCHADOR, 3 },
|
||||
{ (int)TraitsEnum.MIGHTYMECH, 4 },
|
||||
{ (int)TraitsEnum.SOULFIGHTER, 5 },
|
||||
{ (int)TraitsEnum.BASTION, 6 },
|
||||
},
|
||||
new Dictionary<int, int>
|
||||
{
|
||||
{ (int)TraitsEnum.ARCANA, 2 },
|
||||
{ (int)TraitsEnum.DRAGON, 4 },
|
||||
{ (int)TraitsEnum.FROST, 6 },
|
||||
{ (int)TraitsEnum.HONEYMANCY, 8 },
|
||||
{ (int)TraitsEnum.PYRO, 10 },
|
||||
{ (int)TraitsEnum.WARRIOR, 12 },
|
||||
{ (int)TraitsEnum.BATTLEACADEMIA, 2 },
|
||||
{ (int)TraitsEnum.CRYSTALGAMBIT, 4 },
|
||||
{ (int)TraitsEnum.LUCHADOR, 6 },
|
||||
{ (int)TraitsEnum.MIGHTYMECH, 8 },
|
||||
{ (int)TraitsEnum.SOULFIGHTER, 10 },
|
||||
{ (int)TraitsEnum.BASTION, 12 },
|
||||
}
|
||||
);
|
||||
/*
|
||||
here is the list of traits :
|
||||
ARCANA,
|
||||
CHRONO,
|
||||
DRAGON,
|
||||
DRUID,
|
||||
ELDRICHT,
|
||||
FAERIE,
|
||||
FROST,
|
||||
HONEYMANCY,
|
||||
PORTAL,
|
||||
PYRO,
|
||||
SUGARCRAFT,
|
||||
WITCHCRAFT,
|
||||
BASTION,
|
||||
BLASTER,
|
||||
HUNTER,
|
||||
INCANTATOR,
|
||||
MAGE,
|
||||
MULTISTRIKER,
|
||||
PRESERVER,
|
||||
SCHOLAR,
|
||||
SHAPESHIFTER,
|
||||
VANGUARD,
|
||||
WARRIOR
|
||||
|
||||
Set 15 traits list:
|
||||
Origins: BATTLEACADEMIA, CRYSTALGAMBIT, LUCHADOR, MIGHTYMECH, MONSTERTRAINER,
|
||||
SOULFIGHTER, STARGUARDIAN, SUPREMECELLS, THECREW, WRAITH, MENTOR,
|
||||
PRODIGY, THECHAMP, STANCEMASTER, ROGUECAPTAIN
|
||||
Classes: BASTION, DUELIST, EDGELORD, EXECUTIONER, HEAVYWEIGHT, JUGGERNAUT,
|
||||
PROTECTOR, SNIPER, SORCERER, STRATEGIST
|
||||
*/
|
||||
}
|
||||
}
|
||||
@@ -162,19 +144,19 @@ namespace Assets.Data
|
||||
yield return new TestCaseData(
|
||||
new Dictionary<int, int>
|
||||
{
|
||||
{ (int)TraitsEnum.ARCANA, 1 },
|
||||
{ (int)TraitsEnum.DRAGON, 2 },
|
||||
{ (int)TraitsEnum.FROST, 3 },
|
||||
{ (int)TraitsEnum.HONEYMANCY, 4 },
|
||||
{ (int)TraitsEnum.PYRO, 1 },
|
||||
{ (int)TraitsEnum.WARRIOR, 1 },
|
||||
{ (int)TraitsEnum.BATTLEACADEMIA, 1 },
|
||||
{ (int)TraitsEnum.CRYSTALGAMBIT, 2 },
|
||||
{ (int)TraitsEnum.LUCHADOR, 3 },
|
||||
{ (int)TraitsEnum.MIGHTYMECH, 4 },
|
||||
{ (int)TraitsEnum.SOULFIGHTER, 1 },
|
||||
{ (int)TraitsEnum.BASTION, 1 },
|
||||
},
|
||||
TraitUtils.ToInt(
|
||||
new HashSet<TraitsEnum>
|
||||
{
|
||||
TraitsEnum.DRAGON,
|
||||
TraitsEnum.FROST,
|
||||
TraitsEnum.HONEYMANCY
|
||||
TraitsEnum.CRYSTALGAMBIT,
|
||||
TraitsEnum.LUCHADOR,
|
||||
TraitsEnum.MIGHTYMECH
|
||||
}
|
||||
)
|
||||
);
|
||||
@@ -182,19 +164,19 @@ namespace Assets.Data
|
||||
yield return new TestCaseData(
|
||||
new Dictionary<int, int>
|
||||
{
|
||||
{ (int)TraitsEnum.ARCANA, 5 },
|
||||
{ (int)TraitsEnum.FROST, 2 },
|
||||
{ (int)TraitsEnum.HONEYMANCY, 7 },
|
||||
{ (int)TraitsEnum.PYRO, 4 },
|
||||
{ (int)TraitsEnum.WARRIOR, 3 },
|
||||
{ (int)TraitsEnum.BATTLEACADEMIA, 5 },
|
||||
{ (int)TraitsEnum.LUCHADOR, 2 },
|
||||
{ (int)TraitsEnum.STARGUARDIAN, 7 },
|
||||
{ (int)TraitsEnum.SOULFIGHTER, 4 },
|
||||
{ (int)TraitsEnum.BASTION, 3 },
|
||||
},
|
||||
TraitUtils.ToInt(
|
||||
new HashSet<TraitsEnum>
|
||||
{
|
||||
TraitsEnum.ARCANA,
|
||||
TraitsEnum.HONEYMANCY,
|
||||
TraitsEnum.PYRO,
|
||||
TraitsEnum.WARRIOR,
|
||||
TraitsEnum.BATTLEACADEMIA,
|
||||
TraitsEnum.STARGUARDIAN,
|
||||
TraitsEnum.SOULFIGHTER,
|
||||
TraitsEnum.BASTION
|
||||
}
|
||||
)
|
||||
);
|
||||
@@ -214,53 +196,55 @@ namespace Assets.Data
|
||||
}
|
||||
}
|
||||
|
||||
public static IEnumerable traitsToInt
|
||||
public static IEnumerable traitsToInt
|
||||
{
|
||||
get
|
||||
{
|
||||
yield return new TestCaseData(
|
||||
new HashSet<TraitsEnum>
|
||||
{
|
||||
TraitsEnum.ARCANA,
|
||||
TraitsEnum.DRAGON
|
||||
TraitsEnum.BATTLEACADEMIA,
|
||||
TraitsEnum.CRYSTALGAMBIT
|
||||
},
|
||||
1<<0 | 1<<2
|
||||
1 << 0 | 1 << 1
|
||||
);
|
||||
yield return new TestCaseData(
|
||||
new HashSet<TraitsEnum>
|
||||
{
|
||||
TraitsEnum.ARCANA,
|
||||
TraitsEnum.DRAGON,
|
||||
TraitsEnum.FROST,
|
||||
TraitsEnum.HONEYMANCY,
|
||||
TraitsEnum.PYRO,
|
||||
TraitsEnum.WARRIOR
|
||||
TraitsEnum.BATTLEACADEMIA,
|
||||
TraitsEnum.CRYSTALGAMBIT,
|
||||
TraitsEnum.LUCHADOR,
|
||||
TraitsEnum.MIGHTYMECH,
|
||||
TraitsEnum.SOULFIGHTER,
|
||||
TraitsEnum.BASTION
|
||||
},
|
||||
1<<0 | 1<<2 | 1<<6 | 1<<7 | 1<<9 | 1<<22
|
||||
);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum>{TraitsEnum.ARCANA},1 << 0);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum>{TraitsEnum.CHRONO},1 << 1);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum>{TraitsEnum.DRAGON},1 << 2);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum>{TraitsEnum.DRUID},1 << 3);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum>{TraitsEnum.ELDRICHT},1 << 4);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum>{TraitsEnum.FAERIE},1 << 5);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum>{TraitsEnum.FROST},1 << 6);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum>{TraitsEnum.HONEYMANCY},1 << 7);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum>{TraitsEnum.PORTAL},1 << 8);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum>{TraitsEnum.PYRO},1 << 9);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum>{TraitsEnum.SUGARCRAFT},1 << 10);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum>{TraitsEnum.WITCHCRAFT},1 << 11);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum>{TraitsEnum.BASTION},1 << 12);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum>{TraitsEnum.BLASTER},1 << 13);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum>{TraitsEnum.HUNTER},1 << 14);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum>{TraitsEnum.INCANTATOR},1 << 15);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum>{TraitsEnum.MAGE},1 << 16);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum>{TraitsEnum.MULTISTRIKER},1 << 17);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum>{TraitsEnum.PRESERVER},1 << 18);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum>{TraitsEnum.SCHOLAR},1 << 19);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum>{TraitsEnum.SHAPESHIFTER},1 << 20);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum>{TraitsEnum.VANGUARD},1 << 21);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum>{TraitsEnum.WARRIOR},1 << 22);
|
||||
1 << 0 | 1 << 1 | 1 << 2 | 1 << 3 | 1 << 5 | 1 << 15
|
||||
);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum> { TraitsEnum.BATTLEACADEMIA }, 1 << 0);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum> { TraitsEnum.CRYSTALGAMBIT }, 1 << 1);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum> { TraitsEnum.LUCHADOR }, 1 << 2);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum> { TraitsEnum.MIGHTYMECH }, 1 << 3);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum> { TraitsEnum.MONSTERTRAINER }, 1 << 4);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum> { TraitsEnum.SOULFIGHTER }, 1 << 5);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum> { TraitsEnum.STARGUARDIAN }, 1 << 6);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum> { TraitsEnum.SUPREMECELLS }, 1 << 7);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum> { TraitsEnum.THECREW }, 1 << 8);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum> { TraitsEnum.WRAITH }, 1 << 9);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum> { TraitsEnum.MENTOR }, 1 << 10);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum> { TraitsEnum.PRODIGY }, 1 << 11);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum> { TraitsEnum.THECHAMP }, 1 << 12);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum> { TraitsEnum.STANCEMASTER }, 1 << 13);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum> { TraitsEnum.ROGUECAPTAIN }, 1 << 14);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum> { TraitsEnum.BASTION }, 1 << 15);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum> { TraitsEnum.DUELIST }, 1 << 16);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum> { TraitsEnum.EDGELORD }, 1 << 17);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum> { TraitsEnum.EXECUTIONER }, 1 << 18);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum> { TraitsEnum.HEAVYWEIGHT }, 1 << 19);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum> { TraitsEnum.JUGGERNAUT }, 1 << 20);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum> { TraitsEnum.PROTECTOR }, 1 << 21);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum> { TraitsEnum.SNIPER }, 1 << 22);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum> { TraitsEnum.SORCERER }, 1 << 23);
|
||||
yield return new TestCaseData(new HashSet<TraitsEnum> { TraitsEnum.STRATEGIST }, 1 << 24);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
55
Assets/UI/ChampionBaseUI.cs
Normal file
55
Assets/UI/ChampionBaseUI.cs
Normal file
@@ -0,0 +1,55 @@
|
||||
using Set.Data;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace UI
|
||||
{
|
||||
public class ChampionBaseUI : MonoBehaviour
|
||||
{
|
||||
[SerializeField]
|
||||
private Text _championNameText;
|
||||
|
||||
[SerializeField]
|
||||
private Toggle _championToggle;
|
||||
|
||||
private ChampionsEnum _championType;
|
||||
private bool _defaultSelected = false;
|
||||
|
||||
public ChampionsEnum ChampionType => _championType;
|
||||
public bool IsSelected => _championToggle != null ? _championToggle.isOn : false;
|
||||
|
||||
public void Initialize(
|
||||
ChampionsEnum championType,
|
||||
string championDisplayName,
|
||||
bool defaultSelected = false
|
||||
)
|
||||
{
|
||||
_championType = championType;
|
||||
_championNameText.text = championDisplayName;
|
||||
_defaultSelected = defaultSelected;
|
||||
|
||||
// Set default selection state
|
||||
if (_championToggle != null)
|
||||
_championToggle.isOn = defaultSelected;
|
||||
}
|
||||
|
||||
public void SetSelected(bool selected)
|
||||
{
|
||||
if (_championToggle != null)
|
||||
_championToggle.isOn = selected;
|
||||
}
|
||||
|
||||
public void ResetToDefault()
|
||||
{
|
||||
if (_championToggle != null)
|
||||
_championToggle.isOn = _defaultSelected;
|
||||
}
|
||||
|
||||
public void SetInteractable(bool interactable)
|
||||
{
|
||||
if (_championToggle != null)
|
||||
_championToggle.interactable = interactable;
|
||||
}
|
||||
}
|
||||
}
|
||||
2
Assets/UI/ChampionBaseUI.cs.meta
Normal file
2
Assets/UI/ChampionBaseUI.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 320b859d2593db54f8f302651ac58a69
|
||||
16
Assets/UI/ChampionDisplayInfo.cs
Normal file
16
Assets/UI/ChampionDisplayInfo.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace UI
|
||||
{
|
||||
public class ChampionDisplayInfo : MonoBehaviour
|
||||
{
|
||||
public string DisplayName { get; }
|
||||
public int Cost { get; }
|
||||
|
||||
public ChampionDisplayInfo(string displayName, int cost)
|
||||
{
|
||||
DisplayName = displayName;
|
||||
Cost = cost;
|
||||
}
|
||||
}
|
||||
}
|
||||
2
Assets/UI/ChampionDisplayInfo.cs.meta
Normal file
2
Assets/UI/ChampionDisplayInfo.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: acd8848a11b96a9458077637bacec1fd
|
||||
@@ -1,325 +1,246 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Set.Data;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class ChampionSelector : MonoBehaviour
|
||||
namespace UI
|
||||
{
|
||||
[SerializeField] private bool _defaultSelection = false;
|
||||
[SerializeField]
|
||||
Toggle _ASHESelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _BLITZCRANKSelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _ELISESelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _JAXSelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _JAYCESelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _LILLIASelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _NOMSYSelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _POPPYSelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _SERAPHINESelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _SORAKASelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _TWITCHSelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _WARWICKSelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _ZIGGSSelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _ZOESelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _AHRISelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _AKALISelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _CASSIOPEIASelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _GALIOSelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _KASSADINSelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _KOGMAWSelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _NILAHSelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _NUNUSelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _RUMBLESelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _SHYVANASelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _SYNDRASelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _TRISTANASelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _ZILEANSelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _BARDSelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _EZREALSelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _HECARIMSelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _HWEISelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _JINXSelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _KATARINASelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _MORDEKAISERSelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _NEEKOSelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _SHENSelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _SWAINSelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _VEIGARSelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _VEXSelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _WUKONGSelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _FIORASelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _GWENSelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _KALISTASelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _KARMASelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _NAMISelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _NASUSSelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _OLAFSelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _RAKANSelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _RYZESelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _TAHMKENCHSelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _TARICSelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _VARUSSelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _BRIARSelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _CAMILLESelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _DIANASelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _MILLIOSelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _MORGANASelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _NORRASelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _SMOLDERSelector;
|
||||
|
||||
[SerializeField]
|
||||
Toggle _XERATHSelector;
|
||||
|
||||
|
||||
public HashSet<ChampionsEnum> GetSelectedChampions()
|
||||
public class ChampionSelector : MonoBehaviour
|
||||
{
|
||||
var selectedChampions = new HashSet<ChampionsEnum>();
|
||||
[Header("Configuration")]
|
||||
[SerializeField]
|
||||
private bool _defaultSelection = false;
|
||||
|
||||
if (_ASHESelector.isOn) selectedChampions.Add(ChampionsEnum.ASHE);
|
||||
if (_BLITZCRANKSelector.isOn) selectedChampions.Add(ChampionsEnum.BLITZCRANK);
|
||||
if (_ELISESelector.isOn) selectedChampions.Add(ChampionsEnum.ELISE);
|
||||
if (_JAXSelector.isOn) selectedChampions.Add(ChampionsEnum.JAX);
|
||||
if (_JAYCESelector.isOn) selectedChampions.Add(ChampionsEnum.JAYCE);
|
||||
if (_LILLIASelector.isOn) selectedChampions.Add(ChampionsEnum.LILLIA);
|
||||
if (_NOMSYSelector.isOn) selectedChampions.Add(ChampionsEnum.NOMSY);
|
||||
if (_POPPYSelector.isOn) selectedChampions.Add(ChampionsEnum.POPPY);
|
||||
if (_SERAPHINESelector.isOn) selectedChampions.Add(ChampionsEnum.SERAPHINE);
|
||||
if (_SORAKASelector.isOn) selectedChampions.Add(ChampionsEnum.SORAKA);
|
||||
if (_TWITCHSelector.isOn) selectedChampions.Add(ChampionsEnum.TWITCH);
|
||||
if (_WARWICKSelector.isOn) selectedChampions.Add(ChampionsEnum.WARWICK);
|
||||
if (_ZIGGSSelector.isOn) selectedChampions.Add(ChampionsEnum.ZIGGS);
|
||||
if (_ZOESelector.isOn) selectedChampions.Add(ChampionsEnum.ZOE);
|
||||
if (_AHRISelector.isOn) selectedChampions.Add(ChampionsEnum.AHRI);
|
||||
if (_AKALISelector.isOn) selectedChampions.Add(ChampionsEnum.AKALI);
|
||||
if (_CASSIOPEIASelector.isOn) selectedChampions.Add(ChampionsEnum.CASSIOPEIA);
|
||||
if (_GALIOSelector.isOn) selectedChampions.Add(ChampionsEnum.GALIO);
|
||||
if (_KASSADINSelector.isOn) selectedChampions.Add(ChampionsEnum.KASSADIN);
|
||||
if (_KOGMAWSelector.isOn) selectedChampions.Add(ChampionsEnum.KOGMAW);
|
||||
if (_NILAHSelector.isOn) selectedChampions.Add(ChampionsEnum.NILAH);
|
||||
if (_NUNUSelector.isOn) selectedChampions.Add(ChampionsEnum.NUNU);
|
||||
if (_RUMBLESelector.isOn) selectedChampions.Add(ChampionsEnum.RUMBLE);
|
||||
if (_SHYVANASelector.isOn) selectedChampions.Add(ChampionsEnum.SHYVANA);
|
||||
if (_SYNDRASelector.isOn) selectedChampions.Add(ChampionsEnum.SYNDRA);
|
||||
if (_TRISTANASelector.isOn) selectedChampions.Add(ChampionsEnum.TRISTANA);
|
||||
if (_ZILEANSelector.isOn) selectedChampions.Add(ChampionsEnum.ZILEAN);
|
||||
if (_BARDSelector.isOn) selectedChampions.Add(ChampionsEnum.BARD);
|
||||
if (_EZREALSelector.isOn) selectedChampions.Add(ChampionsEnum.EZREAL);
|
||||
if (_HECARIMSelector.isOn) selectedChampions.Add(ChampionsEnum.HECARIM);
|
||||
if (_HWEISelector.isOn) selectedChampions.Add(ChampionsEnum.HWEI);
|
||||
if (_JINXSelector.isOn) selectedChampions.Add(ChampionsEnum.JINX);
|
||||
if (_KATARINASelector.isOn) selectedChampions.Add(ChampionsEnum.KATARINA);
|
||||
if (_MORDEKAISERSelector.isOn) selectedChampions.Add(ChampionsEnum.MORDEKAISER);
|
||||
if (_NEEKOSelector.isOn) selectedChampions.Add(ChampionsEnum.NEEKO);
|
||||
if (_SHENSelector.isOn) selectedChampions.Add(ChampionsEnum.SHEN);
|
||||
if (_SWAINSelector.isOn) selectedChampions.Add(ChampionsEnum.SWAIN);
|
||||
if (_VEIGARSelector.isOn) selectedChampions.Add(ChampionsEnum.VEIGAR);
|
||||
if (_VEXSelector.isOn) selectedChampions.Add(ChampionsEnum.VEX);
|
||||
if (_WUKONGSelector.isOn) selectedChampions.Add(ChampionsEnum.WUKONG);
|
||||
if (_FIORASelector.isOn) selectedChampions.Add(ChampionsEnum.FIORA);
|
||||
if (_GWENSelector.isOn) selectedChampions.Add(ChampionsEnum.GWEN);
|
||||
if (_KALISTASelector.isOn) selectedChampions.Add(ChampionsEnum.KALISTA);
|
||||
if (_KARMASelector.isOn) selectedChampions.Add(ChampionsEnum.KARMA);
|
||||
if (_NAMISelector.isOn) selectedChampions.Add(ChampionsEnum.NAMI);
|
||||
if (_NASUSSelector.isOn) selectedChampions.Add(ChampionsEnum.NASUS);
|
||||
if (_OLAFSelector.isOn) selectedChampions.Add(ChampionsEnum.OLAF);
|
||||
if (_RAKANSelector.isOn) selectedChampions.Add(ChampionsEnum.RAKAN);
|
||||
if (_RYZESelector.isOn) selectedChampions.Add(ChampionsEnum.RYZE);
|
||||
if (_TAHMKENCHSelector.isOn) selectedChampions.Add(ChampionsEnum.TAHMKENCH);
|
||||
if (_TARICSelector.isOn) selectedChampions.Add(ChampionsEnum.TARIC);
|
||||
if (_VARUSSelector.isOn) selectedChampions.Add(ChampionsEnum.VARUS);
|
||||
if (_BRIARSelector.isOn) selectedChampions.Add(ChampionsEnum.BRIAR);
|
||||
if (_CAMILLESelector.isOn) selectedChampions.Add(ChampionsEnum.CAMILLE);
|
||||
if (_DIANASelector.isOn) selectedChampions.Add(ChampionsEnum.DIANA);
|
||||
if (_MILLIOSelector.isOn) selectedChampions.Add(ChampionsEnum.MILLIO);
|
||||
if (_MORGANASelector.isOn) selectedChampions.Add(ChampionsEnum.MORGANA);
|
||||
if (_NORRASelector.isOn) selectedChampions.Add(ChampionsEnum.NORRA);
|
||||
if (_SMOLDERSelector.isOn) selectedChampions.Add(ChampionsEnum.SMOLDER);
|
||||
if (_XERATHSelector.isOn) selectedChampions.Add(ChampionsEnum.XERATH);
|
||||
[SerializeField]
|
||||
private GameObject _championUIPrefab;
|
||||
|
||||
return selectedChampions;
|
||||
}
|
||||
[Header("Layout")]
|
||||
[SerializeField]
|
||||
private Transform _cost1Parent;
|
||||
|
||||
public void Reset()
|
||||
{
|
||||
SetTo(_defaultSelection);
|
||||
}
|
||||
[SerializeField]
|
||||
private Transform _cost2Parent;
|
||||
|
||||
public void SetTo(bool on)
|
||||
{
|
||||
_ASHESelector.isOn = on;
|
||||
_BLITZCRANKSelector.isOn = on;
|
||||
_ELISESelector.isOn = on;
|
||||
_JAXSelector.isOn = on;
|
||||
_JAYCESelector.isOn = on;
|
||||
_LILLIASelector.isOn = on;
|
||||
_NOMSYSelector.isOn = on;
|
||||
_POPPYSelector.isOn = on;
|
||||
_SERAPHINESelector.isOn = on;
|
||||
_SORAKASelector.isOn = on;
|
||||
_TWITCHSelector.isOn = on;
|
||||
_WARWICKSelector.isOn = on;
|
||||
_ZIGGSSelector.isOn = on;
|
||||
_ZOESelector.isOn = on;
|
||||
_AHRISelector.isOn = on;
|
||||
_AKALISelector.isOn = on;
|
||||
_CASSIOPEIASelector.isOn = on;
|
||||
_GALIOSelector.isOn = on;
|
||||
_KASSADINSelector.isOn = on;
|
||||
_KOGMAWSelector.isOn = on;
|
||||
_NILAHSelector.isOn = on;
|
||||
_NUNUSelector.isOn = on;
|
||||
_RUMBLESelector.isOn = on;
|
||||
_SHYVANASelector.isOn = on;
|
||||
_SYNDRASelector.isOn = on;
|
||||
_TRISTANASelector.isOn = on;
|
||||
_ZILEANSelector.isOn = on;
|
||||
_BARDSelector.isOn = on;
|
||||
_EZREALSelector.isOn = on;
|
||||
_HECARIMSelector.isOn = on;
|
||||
_HWEISelector.isOn = on;
|
||||
_JINXSelector.isOn = on;
|
||||
_KATARINASelector.isOn = on;
|
||||
_MORDEKAISERSelector.isOn = on;
|
||||
_NEEKOSelector.isOn = on;
|
||||
_SHENSelector.isOn = on;
|
||||
_SWAINSelector.isOn = on;
|
||||
_VEIGARSelector.isOn = on;
|
||||
_VEXSelector.isOn = on;
|
||||
_WUKONGSelector.isOn = on;
|
||||
_FIORASelector.isOn = on;
|
||||
_GWENSelector.isOn = on;
|
||||
_KALISTASelector.isOn = on;
|
||||
_KARMASelector.isOn = on;
|
||||
_NAMISelector.isOn = on;
|
||||
_NASUSSelector.isOn = on;
|
||||
_OLAFSelector.isOn = on;
|
||||
_RAKANSelector.isOn = on;
|
||||
_RYZESelector.isOn = on;
|
||||
_TAHMKENCHSelector.isOn = on;
|
||||
_TARICSelector.isOn = on;
|
||||
_VARUSSelector.isOn = on;
|
||||
_BRIARSelector.isOn = on;
|
||||
_CAMILLESelector.isOn = on;
|
||||
_DIANASelector.isOn = on;
|
||||
_MILLIOSelector.isOn = on;
|
||||
_MORGANASelector.isOn = on;
|
||||
_NORRASelector.isOn = on;
|
||||
_SMOLDERSelector.isOn = on;
|
||||
_XERATHSelector.isOn = on;
|
||||
[SerializeField]
|
||||
private Transform _cost3Parent;
|
||||
|
||||
[SerializeField]
|
||||
private Transform _cost4Parent;
|
||||
|
||||
[SerializeField]
|
||||
private Transform _cost5Parent;
|
||||
|
||||
[Header("Optional: Champion Icons")]
|
||||
[SerializeField]
|
||||
|
||||
private Dictionary<ChampionsEnum, ChampionBaseUI> _championUIs =
|
||||
new Dictionary<ChampionsEnum, ChampionBaseUI>();
|
||||
|
||||
|
||||
// Champion definitions with display names and costs
|
||||
private readonly Dictionary<ChampionsEnum, ChampionDisplayInfo> _championDisplayInfo =
|
||||
new Dictionary<ChampionsEnum, ChampionDisplayInfo>
|
||||
{
|
||||
// Cost 1 Champions
|
||||
{ ChampionsEnum.AATROX, new ChampionDisplayInfo("Aatrox", 1) },
|
||||
{ ChampionsEnum.EZREAL, new ChampionDisplayInfo("Ezreal", 1) },
|
||||
{ ChampionsEnum.GAREN, new ChampionDisplayInfo("Garen", 1) },
|
||||
{ ChampionsEnum.GNAR, new ChampionDisplayInfo("Gnar", 1) },
|
||||
{ ChampionsEnum.KALISTA, new ChampionDisplayInfo("Kalista", 1) },
|
||||
{ ChampionsEnum.KAYLE, new ChampionDisplayInfo("Kayle", 1) },
|
||||
{ ChampionsEnum.KENNEN, new ChampionDisplayInfo("Kennen", 1) },
|
||||
{ ChampionsEnum.LUCIAN, new ChampionDisplayInfo("Lucian", 1) },
|
||||
{ ChampionsEnum.MALPHITE, new ChampionDisplayInfo("Malphite", 1) },
|
||||
{ ChampionsEnum.NAAFIRI, new ChampionDisplayInfo("Naafiri", 1) },
|
||||
{ ChampionsEnum.RELL, new ChampionDisplayInfo("Rell", 1) },
|
||||
{ ChampionsEnum.SIVIR, new ChampionDisplayInfo("Sivir", 1) },
|
||||
{ ChampionsEnum.SYNDRA, new ChampionDisplayInfo("Syndra", 1) },
|
||||
{ ChampionsEnum.ZAC, new ChampionDisplayInfo("Zac", 1) },
|
||||
// Cost 2 Champions
|
||||
{ ChampionsEnum.DRMUNDO, new ChampionDisplayInfo("Dr. Mundo", 2) },
|
||||
{ ChampionsEnum.GANGPLANK, new ChampionDisplayInfo("Gangplank", 2) },
|
||||
{ ChampionsEnum.JANNA, new ChampionDisplayInfo("Janna", 2) },
|
||||
{ ChampionsEnum.JHIN, new ChampionDisplayInfo("Jhin", 2) },
|
||||
{ ChampionsEnum.KAISA, new ChampionDisplayInfo("Kai'Sa", 2) },
|
||||
{ ChampionsEnum.KATARINA, new ChampionDisplayInfo("Katarina", 2) },
|
||||
{ ChampionsEnum.KOBUKO, new ChampionDisplayInfo("Kobuko", 2) },
|
||||
{ ChampionsEnum.LUX, new ChampionDisplayInfo("Lux", 2) },
|
||||
{ ChampionsEnum.RAKAN, new ChampionDisplayInfo("Rakan", 2) },
|
||||
{ ChampionsEnum.SHEN, new ChampionDisplayInfo("Shen", 2) },
|
||||
{ ChampionsEnum.VI, new ChampionDisplayInfo("Vi", 2) },
|
||||
{ ChampionsEnum.XAYAH, new ChampionDisplayInfo("Xayah", 2) },
|
||||
{ ChampionsEnum.XINZHAO, new ChampionDisplayInfo("Xin Zhao", 2) },
|
||||
// Cost 3 Champions
|
||||
{ ChampionsEnum.AHRI, new ChampionDisplayInfo("Ahri", 3) },
|
||||
{ ChampionsEnum.CAITLYN, new ChampionDisplayInfo("Caitlyn", 3) },
|
||||
{ ChampionsEnum.DARIUS, new ChampionDisplayInfo("Darius", 3) },
|
||||
{ ChampionsEnum.JAYCE, new ChampionDisplayInfo("Jayce", 3) },
|
||||
{ ChampionsEnum.KOGMAW, new ChampionDisplayInfo("Kog'Maw", 3) },
|
||||
{ ChampionsEnum.LULU, new ChampionDisplayInfo("Lulu", 3) },
|
||||
{ ChampionsEnum.MALZAHAR, new ChampionDisplayInfo("Malzahar", 3) },
|
||||
{ ChampionsEnum.NEEKO, new ChampionDisplayInfo("Neeko", 3) },
|
||||
{ ChampionsEnum.RAMMUS, new ChampionDisplayInfo("Rammus", 3) },
|
||||
{ ChampionsEnum.SENNA, new ChampionDisplayInfo("Senna", 3) },
|
||||
{ ChampionsEnum.SMOLDER, new ChampionDisplayInfo("Smolder", 3) },
|
||||
{ ChampionsEnum.SWAIN, new ChampionDisplayInfo("Swain", 3) },
|
||||
{ ChampionsEnum.UDYR, new ChampionDisplayInfo("Udyr", 3) },
|
||||
{ ChampionsEnum.VIEGO, new ChampionDisplayInfo("Viego", 3) },
|
||||
{ ChampionsEnum.YASUO, new ChampionDisplayInfo("Yasuo", 3) },
|
||||
{ ChampionsEnum.ZIGGS, new ChampionDisplayInfo("Ziggs", 3) },
|
||||
// Cost 4 Champions
|
||||
{ ChampionsEnum.AKALI, new ChampionDisplayInfo("Akali", 4) },
|
||||
{ ChampionsEnum.ASHE, new ChampionDisplayInfo("Ashe", 4) },
|
||||
{ ChampionsEnum.JARVANIV, new ChampionDisplayInfo("Jarvan IV", 4) },
|
||||
{ ChampionsEnum.JINX, new ChampionDisplayInfo("Jinx", 4) },
|
||||
{ ChampionsEnum.KARMA, new ChampionDisplayInfo("Karma", 4) },
|
||||
{ ChampionsEnum.KSANTE, new ChampionDisplayInfo("K'Sante", 4) },
|
||||
{ ChampionsEnum.LEONA, new ChampionDisplayInfo("Leona", 4) },
|
||||
{ ChampionsEnum.POPPY, new ChampionDisplayInfo("Poppy", 4) },
|
||||
{ ChampionsEnum.RYZE, new ChampionDisplayInfo("Ryze", 4) },
|
||||
{ ChampionsEnum.SAMIRA, new ChampionDisplayInfo("Samira", 4) },
|
||||
{ ChampionsEnum.SETT, new ChampionDisplayInfo("Sett", 4) },
|
||||
{ ChampionsEnum.VOLIBEAR, new ChampionDisplayInfo("Volibear", 4) },
|
||||
{ ChampionsEnum.YUUMI, new ChampionDisplayInfo("Yuumi", 4) },
|
||||
// Cost 5 Champions
|
||||
{ ChampionsEnum.BRAUM, new ChampionDisplayInfo("Braum", 5) },
|
||||
{ ChampionsEnum.EKKO, new ChampionDisplayInfo("Ekko", 5) },
|
||||
{ ChampionsEnum.GWEN, new ChampionDisplayInfo("Gwen", 5) },
|
||||
{ ChampionsEnum.LEESIN, new ChampionDisplayInfo("Lee Sin", 5) },
|
||||
{ ChampionsEnum.SERAPHINE, new ChampionDisplayInfo("Seraphine", 5) },
|
||||
{ ChampionsEnum.TWISTEDFATE, new ChampionDisplayInfo("Twisted Fate", 5) },
|
||||
{ ChampionsEnum.VARUS, new ChampionDisplayInfo("Varus", 5) },
|
||||
};
|
||||
|
||||
[System.Serializable]
|
||||
public class ChampionIconData
|
||||
{
|
||||
public ChampionsEnum champion;
|
||||
public Sprite icon;
|
||||
}
|
||||
|
||||
void Start()
|
||||
{
|
||||
CreateChampionUIs();
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void CreateChampionUIs()
|
||||
{
|
||||
if (_championUIPrefab == null)
|
||||
{
|
||||
Debug.LogError("Champion UI Prefab is not assigned!");
|
||||
return;
|
||||
}
|
||||
|
||||
foreach (var kvp in _championDisplayInfo)
|
||||
{
|
||||
var champion = kvp.Key;
|
||||
var displayInfo = kvp.Value;
|
||||
|
||||
Transform parent = GetParentForCost(displayInfo.Cost);
|
||||
if (parent == null)
|
||||
continue;
|
||||
|
||||
GameObject championUI = Instantiate(_championUIPrefab, parent);
|
||||
ChampionBaseUI championBaseUI = championUI.GetComponent<ChampionBaseUI>();
|
||||
|
||||
if (championBaseUI != null)
|
||||
{
|
||||
championBaseUI.Initialize(champion, displayInfo.DisplayName, _defaultSelection);
|
||||
_championUIs[champion] = championBaseUI;
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogError($"ChampionBaseUI component not found on prefab for {champion}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private Transform GetParentForCost(int cost)
|
||||
{
|
||||
return cost switch
|
||||
{
|
||||
1 => _cost1Parent,
|
||||
2 => _cost2Parent,
|
||||
3 => _cost3Parent,
|
||||
4 => _cost4Parent,
|
||||
5 => _cost5Parent,
|
||||
_ => null,
|
||||
};
|
||||
}
|
||||
|
||||
public HashSet<Set.Data.ChampionsEnum> GetSelectedChampions()
|
||||
{
|
||||
var selectedChampions = new HashSet<Set.Data.ChampionsEnum>();
|
||||
|
||||
foreach (var kvp in _championUIs)
|
||||
{
|
||||
if (kvp.Value.IsSelected)
|
||||
{
|
||||
selectedChampions.Add(kvp.Key);
|
||||
}
|
||||
}
|
||||
|
||||
return selectedChampions;
|
||||
}
|
||||
|
||||
public void Reset()
|
||||
{
|
||||
ResetToDefault();
|
||||
}
|
||||
|
||||
public void SetTo(bool on)
|
||||
{
|
||||
if (on)
|
||||
SelectAll();
|
||||
else
|
||||
SelectNone();
|
||||
}
|
||||
|
||||
public void SetTo(Set.Data.ChampionsEnum championValue)
|
||||
{
|
||||
foreach (var kvp in _championUIs)
|
||||
{
|
||||
var champion = kvp.Key;
|
||||
var championUI = kvp.Value;
|
||||
|
||||
bool shouldBeSelected = (championValue & champion) == champion;
|
||||
championUI.SetSelected(shouldBeSelected);
|
||||
}
|
||||
}
|
||||
|
||||
public void ResetToDefault()
|
||||
{
|
||||
foreach (var championUI in _championUIs.Values)
|
||||
{
|
||||
championUI.ResetToDefault();
|
||||
}
|
||||
}
|
||||
|
||||
public void SelectAll()
|
||||
{
|
||||
foreach (var championUI in _championUIs.Values)
|
||||
{
|
||||
championUI.SetSelected(true);
|
||||
}
|
||||
}
|
||||
|
||||
public void SelectNone()
|
||||
{
|
||||
foreach (var championUI in _championUIs.Values)
|
||||
{
|
||||
championUI.SetSelected(false);
|
||||
}
|
||||
}
|
||||
|
||||
public void SetInteractable(bool interactable)
|
||||
{
|
||||
foreach (var championUI in _championUIs.Values)
|
||||
{
|
||||
championUI.SetInteractable(interactable);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
49
Assets/UI/TraitDisplayInfo.cs
Normal file
49
Assets/UI/TraitDisplayInfo.cs
Normal file
@@ -0,0 +1,49 @@
|
||||
using Set.Data;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
|
||||
namespace UI
|
||||
{
|
||||
public class TraitDisplayInfo : MonoBehaviour
|
||||
{
|
||||
[SerializeField]
|
||||
private TMP_Text _traitName;
|
||||
|
||||
[SerializeField]
|
||||
private TMP_InputField _traitEmblemCount;
|
||||
|
||||
public string DisplayName { get; }
|
||||
|
||||
public TraitsEnum Trait { get; private set; }
|
||||
|
||||
public void Initialize(TraitsEnum trait, string traitName, int traitCount)
|
||||
{
|
||||
_traitName.text = traitName;
|
||||
_traitEmblemCount.text = traitCount.ToString();
|
||||
Trait = trait;
|
||||
}
|
||||
|
||||
public int GetEmblemCount()
|
||||
{
|
||||
int count = 0;
|
||||
|
||||
// Check if the text field has valid content
|
||||
if (!string.IsNullOrEmpty(_traitEmblemCount.text))
|
||||
{
|
||||
// Try to parse the text to an integer
|
||||
if (int.TryParse(_traitEmblemCount.text, out count))
|
||||
{
|
||||
if (count != 0)
|
||||
Debug.Log($"Trait {Trait} has count {count}");
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogWarning($"Failed to parse emblem count text '{_traitEmblemCount.text}' for trait {Trait}");
|
||||
count = 0; // Ensure count is 0 if parsing fails
|
||||
}
|
||||
}
|
||||
|
||||
return count;
|
||||
}
|
||||
}
|
||||
}
|
||||
2
Assets/UI/TraitDisplayInfo.cs.meta
Normal file
2
Assets/UI/TraitDisplayInfo.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8dd0be74169a51b439320d3c9d6dcf22
|
||||
@@ -12,34 +12,6 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 2ec995e51a6e251468d2a3fd8a686257, type: 3}
|
||||
m_Name: UniversalRenderPipelineGlobalSettings
|
||||
m_EditorClassIdentifier:
|
||||
m_Settings:
|
||||
m_SettingsList: []
|
||||
m_RuntimeSettings: []
|
||||
m_AssetVersion: 5
|
||||
m_DefaultVolumeProfile: {fileID: 11400000, guid: 3d4c13846a3e9bd4c8ccfbd0657ed847, type: 2}
|
||||
m_RenderingLayerNames:
|
||||
- Default
|
||||
m_ValidRenderingLayers: 0
|
||||
lightLayerName0:
|
||||
lightLayerName1:
|
||||
lightLayerName2:
|
||||
lightLayerName3:
|
||||
lightLayerName4:
|
||||
lightLayerName5:
|
||||
lightLayerName6:
|
||||
lightLayerName7:
|
||||
apvScenesData:
|
||||
m_ObsoleteSerializedBakingSets: []
|
||||
sceneToBakingSet:
|
||||
m_Keys: []
|
||||
m_Values: []
|
||||
bakingSets: []
|
||||
sceneBounds:
|
||||
m_Keys: []
|
||||
m_Values: []
|
||||
hasProbeVolumes:
|
||||
m_Keys: []
|
||||
m_Values:
|
||||
m_ShaderStrippingSetting:
|
||||
m_Version: 0
|
||||
m_ExportShaderVariants: 1
|
||||
@@ -57,6 +29,229 @@ MonoBehaviour:
|
||||
m_StripUnusedVariants: 1
|
||||
m_StripScreenCoordOverrideVariants: 1
|
||||
supportRuntimeDebugDisplay: 0
|
||||
m_EnableRenderGraph: 0
|
||||
m_Settings:
|
||||
m_SettingsList:
|
||||
m_List:
|
||||
- rid: 4268753024003604480
|
||||
- rid: 4268753024003604481
|
||||
- rid: 4268753024003604482
|
||||
- rid: 4268753024003604483
|
||||
- rid: 4268753024003604484
|
||||
- rid: 4268753024003604485
|
||||
- rid: 4268753024003604486
|
||||
- rid: 4268753024003604487
|
||||
- rid: 4268753024003604488
|
||||
- rid: 4268753024003604489
|
||||
- rid: 4268753024003604490
|
||||
- rid: 4268753024003604491
|
||||
- rid: 4268753024003604492
|
||||
- rid: 4268753024003604493
|
||||
- rid: 4268753024003604494
|
||||
- rid: 4268753024003604495
|
||||
- rid: 4268753024003604496
|
||||
- rid: 4268753024003604497
|
||||
- rid: 4268753024003604498
|
||||
- rid: 4268753024003604499
|
||||
- rid: 4268753024003604500
|
||||
- rid: 5561780851219890245
|
||||
m_RuntimeSettings:
|
||||
m_List: []
|
||||
m_AssetVersion: 8
|
||||
m_ObsoleteDefaultVolumeProfile: {fileID: 0}
|
||||
m_RenderingLayerNames:
|
||||
- Default
|
||||
m_ValidRenderingLayers: 0
|
||||
lightLayerName0:
|
||||
lightLayerName1:
|
||||
lightLayerName2:
|
||||
lightLayerName3:
|
||||
lightLayerName4:
|
||||
lightLayerName5:
|
||||
lightLayerName6:
|
||||
lightLayerName7:
|
||||
apvScenesData:
|
||||
obsoleteSceneBounds:
|
||||
m_Keys: []
|
||||
m_Values: []
|
||||
obsoleteHasProbeVolumes:
|
||||
m_Keys: []
|
||||
m_Values:
|
||||
references:
|
||||
version: 2
|
||||
RefIds: []
|
||||
RefIds:
|
||||
- rid: 4268753024003604480
|
||||
type: {class: UniversalRenderPipelineDebugShaders, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
||||
data:
|
||||
m_DebugReplacementPS: {fileID: 4800000, guid: cf852408f2e174538bcd9b7fda1c5ae7, type: 3}
|
||||
m_HdrDebugViewPS: {fileID: 4800000, guid: 573620ae32aec764abd4d728906d2587, type: 3}
|
||||
m_ProbeVolumeSamplingDebugComputeShader: {fileID: 7200000, guid: 53626a513ea68ce47b59dc1299fe3959, type: 3}
|
||||
- rid: 4268753024003604481
|
||||
type: {class: Renderer2DResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
||||
data:
|
||||
m_Version: 0
|
||||
m_LightShader: {fileID: 4800000, guid: 3f6c848ca3d7bca4bbe846546ac701a1, type: 3}
|
||||
m_ProjectedShadowShader: {fileID: 4800000, guid: ce09d4a80b88c5a4eb9768fab4f1ee00, type: 3}
|
||||
m_SpriteShadowShader: {fileID: 4800000, guid: 44fc62292b65ab04eabcf310e799ccf6, type: 3}
|
||||
m_SpriteUnshadowShader: {fileID: 4800000, guid: de02b375720b5c445afe83cd483bedf3, type: 3}
|
||||
m_GeometryShadowShader: {fileID: 4800000, guid: 19349a0f9a7ed4c48a27445bcf92e5e1, type: 3}
|
||||
m_GeometryUnshadowShader: {fileID: 4800000, guid: 77774d9009bb81447b048c907d4c6273, type: 3}
|
||||
m_FallOffLookup: {fileID: 2800000, guid: 5688ab254e4c0634f8d6c8e0792331ca, type: 3}
|
||||
m_CopyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3}
|
||||
m_DefaultLitMaterial: {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
|
||||
m_DefaultUnlitMaterial: {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
|
||||
m_DefaultMaskMaterial: {fileID: 2100000, guid: 15d0c3709176029428a0da2f8cecf0b5, type: 2}
|
||||
- rid: 4268753024003604482
|
||||
type: {class: URPDefaultVolumeProfileSettings, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
||||
data:
|
||||
m_Version: 0
|
||||
m_VolumeProfile: {fileID: 11400000, guid: 3d4c13846a3e9bd4c8ccfbd0657ed847, type: 2}
|
||||
- rid: 4268753024003604483
|
||||
type: {class: RenderGraphSettings, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
||||
data:
|
||||
m_Version: 0
|
||||
m_EnableRenderCompatibilityMode: 1
|
||||
- rid: 4268753024003604484
|
||||
type: {class: URPShaderStrippingSetting, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
||||
data:
|
||||
m_Version: 0
|
||||
m_StripUnusedPostProcessingVariants: 0
|
||||
m_StripUnusedVariants: 1
|
||||
m_StripScreenCoordOverrideVariants: 1
|
||||
- rid: 4268753024003604485
|
||||
type: {class: UniversalRenderPipelineRuntimeTextures, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
||||
data:
|
||||
m_Version: 1
|
||||
m_BlueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3}
|
||||
m_BayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3}
|
||||
m_DebugFontTex: {fileID: 2800000, guid: 26a413214480ef144b2915d6ff4d0beb, type: 3}
|
||||
- rid: 4268753024003604486
|
||||
type: {class: UniversalRenderPipelineEditorShaders, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
||||
data:
|
||||
m_AutodeskInteractive: {fileID: 4800000, guid: 0e9d5a909a1f7e84882a534d0d11e49f, type: 3}
|
||||
m_AutodeskInteractiveTransparent: {fileID: 4800000, guid: 5c81372d981403744adbdda4433c9c11, type: 3}
|
||||
m_AutodeskInteractiveMasked: {fileID: 4800000, guid: 80aa867ac363ac043847b06ad71604cd, type: 3}
|
||||
m_TerrainDetailLit: {fileID: 4800000, guid: f6783ab646d374f94b199774402a5144, type: 3}
|
||||
m_TerrainDetailGrassBillboard: {fileID: 4800000, guid: 29868e73b638e48ca99a19ea58c48d90, type: 3}
|
||||
m_TerrainDetailGrass: {fileID: 4800000, guid: e507fdfead5ca47e8b9a768b51c291a1, type: 3}
|
||||
m_DefaultSpeedTree7Shader: {fileID: 4800000, guid: 0f4122b9a743b744abe2fb6a0a88868b, type: 3}
|
||||
m_DefaultSpeedTree8Shader: {fileID: -6465566751694194690, guid: 9920c1f1781549a46ba081a2a15a16ec, type: 3}
|
||||
m_DefaultSpeedTree9Shader: {fileID: -6465566751694194690, guid: cbd3e1cc4ae141c42a30e33b4d666a61, type: 3}
|
||||
- rid: 4268753024003604487
|
||||
type: {class: UniversalRenderPipelineRuntimeShaders, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
||||
data:
|
||||
m_Version: 0
|
||||
m_FallbackErrorShader: {fileID: 4800000, guid: e6e9a19c3678ded42a3bc431ebef7dbd, type: 3}
|
||||
m_BlitHDROverlay: {fileID: 4800000, guid: a89bee29cffa951418fc1e2da94d1959, type: 3}
|
||||
m_CoreBlitPS: {fileID: 4800000, guid: 93446b5c5339d4f00b85c159e1159b7c, type: 3}
|
||||
m_CoreBlitColorAndDepthPS: {fileID: 4800000, guid: d104b2fc1ca6445babb8e90b0758136b, type: 3}
|
||||
m_SamplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3}
|
||||
m_TerrainDetailLit: {fileID: 4800000, guid: f6783ab646d374f94b199774402a5144, type: 3}
|
||||
m_TerrainDetailGrassBillboard: {fileID: 4800000, guid: 29868e73b638e48ca99a19ea58c48d90, type: 3}
|
||||
m_TerrainDetailGrass: {fileID: 4800000, guid: e507fdfead5ca47e8b9a768b51c291a1, type: 3}
|
||||
- rid: 4268753024003604488
|
||||
type: {class: UniversalRenderPipelineEditorMaterials, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
||||
data:
|
||||
m_DefaultMaterial: {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2}
|
||||
m_DefaultParticleMaterial: {fileID: 2100000, guid: e823cd5b5d27c0f4b8256e7c12ee3e6d, type: 2}
|
||||
m_DefaultLineMaterial: {fileID: 2100000, guid: e823cd5b5d27c0f4b8256e7c12ee3e6d, type: 2}
|
||||
m_DefaultTerrainMaterial: {fileID: 2100000, guid: 594ea882c5a793440b60ff72d896021e, type: 2}
|
||||
m_DefaultDecalMaterial: {fileID: 2100000, guid: 31d0dcc6f2dd4e4408d18036a2c93862, type: 2}
|
||||
m_DefaultSpriteMaterial: {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
|
||||
- rid: 4268753024003604489
|
||||
type: {class: UniversalRendererResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
||||
data:
|
||||
m_Version: 0
|
||||
m_CopyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3}
|
||||
m_CameraMotionVector: {fileID: 4800000, guid: c56b7e0d4c7cb484e959caeeedae9bbf, type: 3}
|
||||
m_StencilDeferredPS: {fileID: 4800000, guid: e9155b26e1bc55942a41e518703fe304, type: 3}
|
||||
m_DBufferClear: {fileID: 4800000, guid: f056d8bd2a1c7e44e9729144b4c70395, type: 3}
|
||||
- rid: 4268753024003604490
|
||||
type: {class: UniversalRenderPipelineRuntimeXRResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
||||
data:
|
||||
m_xrOcclusionMeshPS: {fileID: 4800000, guid: 4431b1f1f743fbf4eb310a967890cbea, type: 3}
|
||||
m_xrMirrorViewPS: {fileID: 4800000, guid: d5a307c014552314b9f560906d708772, type: 3}
|
||||
m_xrMotionVector: {fileID: 4800000, guid: f89aac1e4f84468418fe30e611dff395, type: 3}
|
||||
- rid: 4268753024003604491
|
||||
type: {class: GPUResidentDrawerResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.GPUDriven.Runtime}
|
||||
data:
|
||||
m_Version: 0
|
||||
m_InstanceDataBufferCopyKernels: {fileID: 7200000, guid: f984aeb540ded8b4fbb8a2047ab5b2e2, type: 3}
|
||||
m_InstanceDataBufferUploadKernels: {fileID: 7200000, guid: 53864816eb00f2343b60e1a2c5a262ef, type: 3}
|
||||
m_TransformUpdaterKernels: {fileID: 7200000, guid: 2a567b9b2733f8d47a700c3c85bed75b, type: 3}
|
||||
m_WindDataUpdaterKernels: {fileID: 7200000, guid: fde76746e4fd0ed418c224f6b4084114, type: 3}
|
||||
m_OccluderDepthPyramidKernels: {fileID: 7200000, guid: 08b2b5fb307b0d249860612774a987da, type: 3}
|
||||
m_InstanceOcclusionCullingKernels: {fileID: 7200000, guid: f6d223acabc2f974795a5a7864b50e6c, type: 3}
|
||||
m_OcclusionCullingDebugKernels: {fileID: 7200000, guid: b23e766bcf50ca4438ef186b174557df, type: 3}
|
||||
m_DebugOcclusionTestPS: {fileID: 4800000, guid: d3f0849180c2d0944bc71060693df100, type: 3}
|
||||
m_DebugOccluderPS: {fileID: 4800000, guid: b3c92426a88625841ab15ca6a7917248, type: 3}
|
||||
- rid: 4268753024003604492
|
||||
type: {class: RenderGraphGlobalSettings, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
||||
data:
|
||||
m_version: 0
|
||||
m_EnableCompilationCaching: 1
|
||||
m_EnableValidityChecks: 1
|
||||
- rid: 4268753024003604493
|
||||
type: {class: STP/RuntimeResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
||||
data:
|
||||
m_setupCS: {fileID: 7200000, guid: 33be2e9a5506b2843bdb2bdff9cad5e1, type: 3}
|
||||
m_preTaaCS: {fileID: 7200000, guid: a679dba8ec4d9ce45884a270b0e22dda, type: 3}
|
||||
m_taaCS: {fileID: 7200000, guid: 3923900e2b41b5e47bc25bfdcbcdc9e6, type: 3}
|
||||
- rid: 4268753024003604494
|
||||
type: {class: ProbeVolumeRuntimeResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
||||
data:
|
||||
m_Version: 1
|
||||
probeVolumeBlendStatesCS: {fileID: 7200000, guid: a3f7b8c99de28a94684cb1daebeccf5d, type: 3}
|
||||
probeVolumeUploadDataCS: {fileID: 7200000, guid: 0951de5992461754fa73650732c4954c, type: 3}
|
||||
probeVolumeUploadDataL2CS: {fileID: 7200000, guid: 6196f34ed825db14b81fb3eb0ea8d931, type: 3}
|
||||
- rid: 4268753024003604495
|
||||
type: {class: IncludeAdditionalRPAssets, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
||||
data:
|
||||
m_version: 0
|
||||
m_IncludeReferencedInScenes: 0
|
||||
m_IncludeAssetsByLabel: 0
|
||||
m_LabelToInclude:
|
||||
- rid: 4268753024003604496
|
||||
type: {class: ProbeVolumeBakingResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
||||
data:
|
||||
m_Version: 1
|
||||
dilationShader: {fileID: 7200000, guid: 6bb382f7de370af41b775f54182e491d, type: 3}
|
||||
subdivideSceneCS: {fileID: 7200000, guid: bb86f1f0af829fd45b2ebddda1245c22, type: 3}
|
||||
voxelizeSceneShader: {fileID: 4800000, guid: c8b6a681c7b4e2e4785ffab093907f9e, type: 3}
|
||||
traceVirtualOffsetCS: {fileID: -6772857160820960102, guid: ff2cbab5da58bf04d82c5f34037ed123, type: 3}
|
||||
traceVirtualOffsetRT: {fileID: -5126288278712620388, guid: ff2cbab5da58bf04d82c5f34037ed123, type: 3}
|
||||
skyOcclusionCS: {fileID: -6772857160820960102, guid: 5a2a534753fbdb44e96c3c78b5a6999d, type: 3}
|
||||
skyOcclusionRT: {fileID: -5126288278712620388, guid: 5a2a534753fbdb44e96c3c78b5a6999d, type: 3}
|
||||
renderingLayerCS: {fileID: -6772857160820960102, guid: 94a070d33e408384bafc1dea4a565df9, type: 3}
|
||||
renderingLayerRT: {fileID: -5126288278712620388, guid: 94a070d33e408384bafc1dea4a565df9, type: 3}
|
||||
- rid: 4268753024003604497
|
||||
type: {class: RenderGraphUtilsResources, ns: UnityEngine.Rendering.RenderGraphModule.Util, asm: Unity.RenderPipelines.Core.Runtime}
|
||||
data:
|
||||
m_Version: 0
|
||||
m_CoreCopyPS: {fileID: 4800000, guid: 12dc59547ea167a4ab435097dd0f9add, type: 3}
|
||||
- rid: 4268753024003604498
|
||||
type: {class: ProbeVolumeDebugResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
||||
data:
|
||||
m_Version: 1
|
||||
probeVolumeDebugShader: {fileID: 4800000, guid: 3b21275fd12d65f49babb5286f040f2d, type: 3}
|
||||
probeVolumeFragmentationDebugShader: {fileID: 4800000, guid: 3a80877c579b9144ebdcc6d923bca303, type: 3}
|
||||
probeVolumeSamplingDebugShader: {fileID: 4800000, guid: bf54e6528c79a224e96346799064c393, type: 3}
|
||||
probeVolumeOffsetDebugShader: {fileID: 4800000, guid: db8bd7436dc2c5f4c92655307d198381, type: 3}
|
||||
probeSamplingDebugMesh: {fileID: -3555484719484374845, guid: 20be25aac4e22ee49a7db76fb3df6de2, type: 3}
|
||||
numbersDisplayTex: {fileID: 2800000, guid: 73fe53b428c5b3440b7e87ee830b608a, type: 3}
|
||||
- rid: 4268753024003604499
|
||||
type: {class: ProbeVolumeGlobalSettings, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
||||
data:
|
||||
m_Version: 1
|
||||
m_ProbeVolumeDisableStreamingAssets: 0
|
||||
- rid: 4268753024003604500
|
||||
type: {class: ShaderStrippingSetting, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
||||
data:
|
||||
m_Version: 0
|
||||
m_ExportShaderVariants: 1
|
||||
m_ShaderVariantLogLevel: 0
|
||||
m_StripRuntimeDebugShaders: 1
|
||||
- rid: 5561780851219890245
|
||||
type: {class: UniversalRenderPipelineEditorAssets, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
||||
data:
|
||||
m_DefaultSettingsVolumeProfile: {fileID: 11400000, guid: eda47df5b85f4f249abf7abd73db2cb2, type: 2}
|
||||
|
||||
@@ -172,6 +172,7 @@ GameObject:
|
||||
- component: {fileID: 3843129245069958865}
|
||||
- component: {fileID: 5204531747671715090}
|
||||
- component: {fileID: 2537447480496466027}
|
||||
- component: {fileID: 3487448306523232830}
|
||||
m_Layer: 5
|
||||
m_Name: Champion
|
||||
m_TagString: Untagged
|
||||
@@ -237,6 +238,20 @@ MonoBehaviour:
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!114 &3487448306523232830
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3848171535236877812}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 320b859d2593db54f8f302651ac58a69, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_championNameText: {fileID: 743061143549021463}
|
||||
_championToggle: {fileID: 1670405861779857275}
|
||||
--- !u!1 &6606827154433812167
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -391,4 +406,4 @@ MonoBehaviour:
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: Toggle
|
||||
m_Text: ChampionName
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -418,14 +418,14 @@ MonoBehaviour:
|
||||
m_VerticalScrollbarEventHandler: {fileID: 0}
|
||||
m_LayoutGroup: {fileID: 0}
|
||||
m_ScrollSensitivity: 1
|
||||
m_ContentType: 0
|
||||
m_ContentType: 2
|
||||
m_InputType: 0
|
||||
m_AsteriskChar: 42
|
||||
m_KeyboardType: 0
|
||||
m_KeyboardType: 4
|
||||
m_LineType: 0
|
||||
m_HideMobileInput: 0
|
||||
m_HideSoftKeyboard: 0
|
||||
m_CharacterValidation: 0
|
||||
m_CharacterValidation: 2
|
||||
m_RegexValue:
|
||||
m_GlobalPointSize: 14
|
||||
m_CharacterLimit: 0
|
||||
@@ -534,6 +534,7 @@ GameObject:
|
||||
- component: {fileID: 356784246871348238}
|
||||
- component: {fileID: 6353681290361355557}
|
||||
- component: {fileID: 8108922171072356219}
|
||||
- component: {fileID: 6320555872190488032}
|
||||
m_Layer: 5
|
||||
m_Name: emblemsBase
|
||||
m_TagString: Untagged
|
||||
@@ -600,6 +601,20 @@ MonoBehaviour:
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!114 &6320555872190488032
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4176873586016507301}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 8dd0be74169a51b439320d3c9d6dcf22, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_traitName: {fileID: 4029719132024568495}
|
||||
_traitEmblemCount: {fileID: 5836336683357219304}
|
||||
--- !u!1 &6898134698727560530
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@@ -1,14 +1,16 @@
|
||||
{
|
||||
"dependencies": {
|
||||
"com.unity.collab-proxy": "2.5.1",
|
||||
"com.unity.feature.2d": "2.0.0",
|
||||
"com.unity.ide.rider": "3.0.26",
|
||||
"com.unity.collab-proxy": "2.7.1",
|
||||
"com.unity.feature.2d": "2.0.1",
|
||||
"com.unity.ide.rider": "3.0.31",
|
||||
"com.unity.ide.visualstudio": "2.0.22",
|
||||
"com.unity.render-pipelines.universal": "16.0.4",
|
||||
"com.unity.test-framework": "1.3.9",
|
||||
"com.unity.timeline": "1.8.6",
|
||||
"com.unity.multiplayer.center": "1.0.0",
|
||||
"com.unity.render-pipelines.universal": "17.0.4",
|
||||
"com.unity.test-framework": "1.4.6",
|
||||
"com.unity.timeline": "1.8.7",
|
||||
"com.unity.toolchain.win-x86_64-linux-x86_64": "2.0.10",
|
||||
"com.unity.ugui": "2.0.0",
|
||||
"com.unity.visualscripting": "1.8.0",
|
||||
"com.unity.visualscripting": "1.9.5",
|
||||
"com.unity.modules.accessibility": "1.0.0",
|
||||
"com.unity.modules.ai": "1.0.0",
|
||||
"com.unity.modules.androidjni": "1.0.0",
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"dependencies": {
|
||||
"com.unity.2d.animation": {
|
||||
"version": "10.0.3",
|
||||
"version": "10.1.4",
|
||||
"depth": 1,
|
||||
"source": "registry",
|
||||
"dependencies": {
|
||||
"com.unity.2d.common": "9.0.2",
|
||||
"com.unity.2d.common": "9.0.7",
|
||||
"com.unity.2d.sprite": "1.0.0",
|
||||
"com.unity.collections": "1.2.4",
|
||||
"com.unity.modules.animation": "1.0.0",
|
||||
@@ -14,7 +14,7 @@
|
||||
"url": "https://packages.unity.com"
|
||||
},
|
||||
"com.unity.2d.aseprite": {
|
||||
"version": "1.0.1",
|
||||
"version": "1.1.8",
|
||||
"depth": 1,
|
||||
"source": "registry",
|
||||
"dependencies": {
|
||||
@@ -26,7 +26,7 @@
|
||||
"url": "https://packages.unity.com"
|
||||
},
|
||||
"com.unity.2d.common": {
|
||||
"version": "9.0.2",
|
||||
"version": "9.0.7",
|
||||
"depth": 2,
|
||||
"source": "registry",
|
||||
"dependencies": {
|
||||
@@ -46,11 +46,11 @@
|
||||
"url": "https://packages.unity.com"
|
||||
},
|
||||
"com.unity.2d.psdimporter": {
|
||||
"version": "9.0.1",
|
||||
"version": "9.0.3",
|
||||
"depth": 1,
|
||||
"source": "registry",
|
||||
"dependencies": {
|
||||
"com.unity.2d.common": "9.0.2",
|
||||
"com.unity.2d.common": "9.0.4",
|
||||
"com.unity.2d.sprite": "1.0.0"
|
||||
},
|
||||
"url": "https://packages.unity.com"
|
||||
@@ -62,11 +62,11 @@
|
||||
"dependencies": {}
|
||||
},
|
||||
"com.unity.2d.spriteshape": {
|
||||
"version": "10.0.2",
|
||||
"version": "10.0.7",
|
||||
"depth": 1,
|
||||
"source": "registry",
|
||||
"dependencies": {
|
||||
"com.unity.2d.common": "9.0.2",
|
||||
"com.unity.2d.common": "9.0.7",
|
||||
"com.unity.mathematics": "1.1.0",
|
||||
"com.unity.modules.physics2d": "1.0.0"
|
||||
},
|
||||
@@ -82,11 +82,10 @@
|
||||
}
|
||||
},
|
||||
"com.unity.2d.tilemap.extras": {
|
||||
"version": "4.0.2",
|
||||
"version": "4.1.0",
|
||||
"depth": 1,
|
||||
"source": "registry",
|
||||
"dependencies": {
|
||||
"com.unity.ugui": "1.0.0",
|
||||
"com.unity.2d.tilemap": "1.0.0",
|
||||
"com.unity.modules.tilemap": "1.0.0",
|
||||
"com.unity.modules.jsonserialize": "1.0.0"
|
||||
@@ -94,29 +93,31 @@
|
||||
"url": "https://packages.unity.com"
|
||||
},
|
||||
"com.unity.burst": {
|
||||
"version": "1.8.11",
|
||||
"depth": 1,
|
||||
"version": "1.8.19",
|
||||
"depth": 2,
|
||||
"source": "registry",
|
||||
"dependencies": {
|
||||
"com.unity.mathematics": "1.2.1"
|
||||
"com.unity.mathematics": "1.2.1",
|
||||
"com.unity.modules.jsonserialize": "1.0.0"
|
||||
},
|
||||
"url": "https://packages.unity.com"
|
||||
},
|
||||
"com.unity.collab-proxy": {
|
||||
"version": "2.5.1",
|
||||
"version": "2.7.1",
|
||||
"depth": 0,
|
||||
"source": "registry",
|
||||
"dependencies": {},
|
||||
"url": "https://packages.unity.com"
|
||||
},
|
||||
"com.unity.collections": {
|
||||
"version": "1.4.0",
|
||||
"depth": 3,
|
||||
"version": "2.5.1",
|
||||
"depth": 2,
|
||||
"source": "registry",
|
||||
"dependencies": {
|
||||
"com.unity.burst": "1.6.6",
|
||||
"com.unity.test-framework": "1.1.31",
|
||||
"com.unity.nuget.mono-cecil": "1.11.4"
|
||||
"com.unity.burst": "1.8.17",
|
||||
"com.unity.test-framework": "1.4.5",
|
||||
"com.unity.nuget.mono-cecil": "1.11.4",
|
||||
"com.unity.test-framework.performance": "3.0.3"
|
||||
},
|
||||
"url": "https://packages.unity.com"
|
||||
},
|
||||
@@ -128,22 +129,22 @@
|
||||
"url": "https://packages.unity.com"
|
||||
},
|
||||
"com.unity.feature.2d": {
|
||||
"version": "2.0.0",
|
||||
"version": "2.0.1",
|
||||
"depth": 0,
|
||||
"source": "builtin",
|
||||
"dependencies": {
|
||||
"com.unity.2d.animation": "10.0.3",
|
||||
"com.unity.2d.animation": "10.1.4",
|
||||
"com.unity.2d.pixel-perfect": "5.0.3",
|
||||
"com.unity.2d.psdimporter": "9.0.1",
|
||||
"com.unity.2d.psdimporter": "9.0.3",
|
||||
"com.unity.2d.sprite": "1.0.0",
|
||||
"com.unity.2d.spriteshape": "10.0.2",
|
||||
"com.unity.2d.spriteshape": "10.0.7",
|
||||
"com.unity.2d.tilemap": "1.0.0",
|
||||
"com.unity.2d.tilemap.extras": "4.0.2",
|
||||
"com.unity.2d.aseprite": "1.0.1"
|
||||
"com.unity.2d.tilemap.extras": "4.1.0",
|
||||
"com.unity.2d.aseprite": "1.1.8"
|
||||
}
|
||||
},
|
||||
"com.unity.ide.rider": {
|
||||
"version": "3.0.26",
|
||||
"version": "3.0.31",
|
||||
"depth": 0,
|
||||
"source": "registry",
|
||||
"dependencies": {
|
||||
@@ -161,71 +162,104 @@
|
||||
"url": "https://packages.unity.com"
|
||||
},
|
||||
"com.unity.mathematics": {
|
||||
"version": "1.2.6",
|
||||
"depth": 1,
|
||||
"version": "1.3.2",
|
||||
"depth": 2,
|
||||
"source": "registry",
|
||||
"dependencies": {},
|
||||
"url": "https://packages.unity.com"
|
||||
},
|
||||
"com.unity.multiplayer.center": {
|
||||
"version": "1.0.0",
|
||||
"depth": 0,
|
||||
"source": "builtin",
|
||||
"dependencies": {
|
||||
"com.unity.modules.uielements": "1.0.0"
|
||||
}
|
||||
},
|
||||
"com.unity.nuget.mono-cecil": {
|
||||
"version": "1.11.4",
|
||||
"depth": 4,
|
||||
"depth": 3,
|
||||
"source": "registry",
|
||||
"dependencies": {},
|
||||
"url": "https://packages.unity.com"
|
||||
},
|
||||
"com.unity.render-pipelines.core": {
|
||||
"version": "16.0.4",
|
||||
"version": "17.0.4",
|
||||
"depth": 1,
|
||||
"source": "builtin",
|
||||
"dependencies": {
|
||||
"com.unity.mathematics": "1.2.4",
|
||||
"com.unity.burst": "1.8.14",
|
||||
"com.unity.mathematics": "1.3.2",
|
||||
"com.unity.ugui": "2.0.0",
|
||||
"com.unity.collections": "2.4.3",
|
||||
"com.unity.modules.physics": "1.0.0",
|
||||
"com.unity.modules.terrain": "1.0.0",
|
||||
"com.unity.modules.jsonserialize": "1.0.0",
|
||||
"com.unity.rendering.light-transport": "1.0.0"
|
||||
"com.unity.rendering.light-transport": "1.0.1"
|
||||
}
|
||||
},
|
||||
"com.unity.render-pipelines.universal": {
|
||||
"version": "16.0.4",
|
||||
"version": "17.0.4",
|
||||
"depth": 0,
|
||||
"source": "builtin",
|
||||
"dependencies": {
|
||||
"com.unity.mathematics": "1.2.1",
|
||||
"com.unity.burst": "1.8.9",
|
||||
"com.unity.render-pipelines.core": "16.0.4",
|
||||
"com.unity.shadergraph": "16.0.4"
|
||||
"com.unity.render-pipelines.core": "17.0.4",
|
||||
"com.unity.shadergraph": "17.0.4",
|
||||
"com.unity.render-pipelines.universal-config": "17.0.3"
|
||||
}
|
||||
},
|
||||
"com.unity.render-pipelines.universal-config": {
|
||||
"version": "17.0.3",
|
||||
"depth": 1,
|
||||
"source": "builtin",
|
||||
"dependencies": {
|
||||
"com.unity.render-pipelines.core": "17.0.3"
|
||||
}
|
||||
},
|
||||
"com.unity.rendering.light-transport": {
|
||||
"version": "1.0.0",
|
||||
"version": "1.0.1",
|
||||
"depth": 2,
|
||||
"source": "builtin",
|
||||
"dependencies": {
|
||||
"com.unity.collections": "1.4.0",
|
||||
"com.unity.collections": "2.2.0",
|
||||
"com.unity.mathematics": "1.2.4",
|
||||
"com.unity.render-pipelines.core": "16.0.1"
|
||||
"com.unity.modules.terrain": "1.0.0"
|
||||
}
|
||||
},
|
||||
"com.unity.searcher": {
|
||||
"version": "4.9.2",
|
||||
"version": "4.9.3",
|
||||
"depth": 2,
|
||||
"source": "registry",
|
||||
"dependencies": {},
|
||||
"url": "https://packages.unity.com"
|
||||
},
|
||||
"com.unity.shadergraph": {
|
||||
"version": "16.0.4",
|
||||
"version": "17.0.4",
|
||||
"depth": 1,
|
||||
"source": "builtin",
|
||||
"dependencies": {
|
||||
"com.unity.render-pipelines.core": "16.0.4",
|
||||
"com.unity.searcher": "4.9.2"
|
||||
"com.unity.render-pipelines.core": "17.0.4",
|
||||
"com.unity.searcher": "4.9.3"
|
||||
}
|
||||
},
|
||||
"com.unity.sysroot": {
|
||||
"version": "2.0.10",
|
||||
"depth": 1,
|
||||
"source": "registry",
|
||||
"dependencies": {},
|
||||
"url": "https://packages.unity.com"
|
||||
},
|
||||
"com.unity.sysroot.linux-x86_64": {
|
||||
"version": "2.0.9",
|
||||
"depth": 1,
|
||||
"source": "registry",
|
||||
"dependencies": {
|
||||
"com.unity.sysroot": "2.0.10"
|
||||
},
|
||||
"url": "https://packages.unity.com"
|
||||
},
|
||||
"com.unity.test-framework": {
|
||||
"version": "1.3.9",
|
||||
"version": "1.4.6",
|
||||
"depth": 0,
|
||||
"source": "registry",
|
||||
"dependencies": {
|
||||
@@ -235,8 +269,18 @@
|
||||
},
|
||||
"url": "https://packages.unity.com"
|
||||
},
|
||||
"com.unity.test-framework.performance": {
|
||||
"version": "3.0.3",
|
||||
"depth": 3,
|
||||
"source": "registry",
|
||||
"dependencies": {
|
||||
"com.unity.test-framework": "1.1.31",
|
||||
"com.unity.modules.jsonserialize": "1.0.0"
|
||||
},
|
||||
"url": "https://packages.unity.com"
|
||||
},
|
||||
"com.unity.timeline": {
|
||||
"version": "1.8.6",
|
||||
"version": "1.8.7",
|
||||
"depth": 0,
|
||||
"source": "registry",
|
||||
"dependencies": {
|
||||
@@ -247,6 +291,16 @@
|
||||
},
|
||||
"url": "https://packages.unity.com"
|
||||
},
|
||||
"com.unity.toolchain.win-x86_64-linux-x86_64": {
|
||||
"version": "2.0.10",
|
||||
"depth": 0,
|
||||
"source": "registry",
|
||||
"dependencies": {
|
||||
"com.unity.sysroot": "2.0.10",
|
||||
"com.unity.sysroot.linux-x86_64": "2.0.9"
|
||||
},
|
||||
"url": "https://packages.unity.com"
|
||||
},
|
||||
"com.unity.ugui": {
|
||||
"version": "2.0.0",
|
||||
"depth": 0,
|
||||
@@ -257,7 +311,7 @@
|
||||
}
|
||||
},
|
||||
"com.unity.visualscripting": {
|
||||
"version": "1.8.0",
|
||||
"version": "1.9.5",
|
||||
"depth": 0,
|
||||
"source": "registry",
|
||||
"dependencies": {
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
--- !u!30 &1
|
||||
GraphicsSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 15
|
||||
serializedVersion: 16
|
||||
m_Deferred:
|
||||
m_Mode: 1
|
||||
m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0}
|
||||
@@ -57,10 +57,11 @@ GraphicsSettings:
|
||||
m_FogKeepExp: 1
|
||||
m_FogKeepExp2: 1
|
||||
m_AlbedoSwatchInfos: []
|
||||
m_RenderPipelineGlobalSettingsMap:
|
||||
UnityEngine.Rendering.Universal.UniversalRenderPipeline: {fileID: 11400000, guid: 93b439a37f63240aca3dd4e01d978a9f, type: 2}
|
||||
m_LightsUseLinearIntensity: 1
|
||||
m_LightsUseColorTemperature: 1
|
||||
m_DefaultRenderingLayerMask: 1
|
||||
m_LogWhenShaderIsCompiled: 0
|
||||
m_SRPDefaultSettings:
|
||||
UnityEngine.Rendering.Universal.UniversalRenderPipeline: {fileID: 11400000, guid: 93b439a37f63240aca3dd4e01d978a9f, type: 2}
|
||||
m_LightProbeOutsideHullStrategy: 0
|
||||
m_CameraRelativeLightCulling: 0
|
||||
m_CameraRelativeShadowCulling: 0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
--- !u!129 &1
|
||||
PlayerSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 27
|
||||
serializedVersion: 28
|
||||
productGUID: c53d578c6ad5f344d827a4464f813eb3
|
||||
AndroidProfiler: 0
|
||||
AndroidFilterTouchesWhenObscured: 0
|
||||
@@ -49,6 +49,7 @@ PlayerSettings:
|
||||
m_StereoRenderingPath: 0
|
||||
m_ActiveColorSpace: 1
|
||||
unsupportedMSAAFallback: 0
|
||||
m_SpriteBatchMaxVertexCount: 65535
|
||||
m_SpriteBatchVertexThreshold: 300
|
||||
m_MTRendering: 1
|
||||
mipStripping: 0
|
||||
@@ -70,17 +71,18 @@ PlayerSettings:
|
||||
androidRenderOutsideSafeArea: 1
|
||||
androidUseSwappy: 1
|
||||
androidBlitType: 0
|
||||
androidResizableWindow: 0
|
||||
androidResizeableActivity: 0
|
||||
androidDefaultWindowWidth: 1920
|
||||
androidDefaultWindowHeight: 1080
|
||||
androidMinimumWindowWidth: 400
|
||||
androidMinimumWindowHeight: 300
|
||||
androidFullscreenMode: 1
|
||||
androidAutoRotationBehavior: 1
|
||||
androidPredictiveBackSupport: 0
|
||||
androidApplicationEntry: 2
|
||||
defaultIsNativeResolution: 1
|
||||
macRetinaSupport: 1
|
||||
runInBackground: 0
|
||||
captureSingleScreen: 0
|
||||
muteOtherAudioSources: 0
|
||||
Prepare IOS For Recording: 0
|
||||
Force IOS Speakers When Recording: 0
|
||||
@@ -136,6 +138,8 @@ PlayerSettings:
|
||||
vulkanEnableLateAcquireNextImage: 0
|
||||
vulkanEnableCommandBufferRecycling: 1
|
||||
loadStoreDebugModeEnabled: 0
|
||||
visionOSBundleVersion: 1.0
|
||||
tvOSBundleVersion: 1.0
|
||||
bundleVersion: 1.0
|
||||
preloadedAssets: []
|
||||
metroInputSource: 0
|
||||
@@ -163,6 +167,7 @@ PlayerSettings:
|
||||
buildNumber:
|
||||
Bratwurst: 0
|
||||
Standalone: 0
|
||||
VisionOS: 0
|
||||
iPhone: 0
|
||||
tvOS: 0
|
||||
overrideDefaultApplicationIdentifier: 0
|
||||
@@ -183,12 +188,14 @@ PlayerSettings:
|
||||
strictShaderVariantMatching: 0
|
||||
VertexChannelCompressionMask: 4054
|
||||
iPhoneSdkVersion: 988
|
||||
iOSSimulatorArchitecture: 0
|
||||
iOSTargetOSVersionString: 13.0
|
||||
tvOSSdkVersion: 0
|
||||
tvOSSimulatorArchitecture: 0
|
||||
tvOSRequireExtendedGameController: 0
|
||||
tvOSTargetOSVersionString: 13.0
|
||||
bratwurstSdkVersion: 0
|
||||
bratwurstTargetOSVersionString: 13.0
|
||||
VisionOSSdkVersion: 0
|
||||
VisionOSTargetOSVersionString: 1.0
|
||||
uIPrerenderedIcon: 0
|
||||
uIRequiresPersistentWiFi: 0
|
||||
uIRequiresFullScreen: 1
|
||||
@@ -213,7 +220,6 @@ PlayerSettings:
|
||||
rgba: 0
|
||||
iOSLaunchScreenFillPct: 100
|
||||
iOSLaunchScreenSize: 100
|
||||
iOSLaunchScreenCustomXibPath:
|
||||
iOSLaunchScreeniPadType: 0
|
||||
iOSLaunchScreeniPadImage: {fileID: 0}
|
||||
iOSLaunchScreeniPadBackgroundColor:
|
||||
@@ -221,7 +227,6 @@ PlayerSettings:
|
||||
rgba: 0
|
||||
iOSLaunchScreeniPadFillPct: 100
|
||||
iOSLaunchScreeniPadSize: 100
|
||||
iOSLaunchScreeniPadCustomXibPath:
|
||||
iOSLaunchScreenCustomStoryboardPath:
|
||||
iOSLaunchScreeniPadCustomStoryboardPath:
|
||||
iOSDeviceRequirements: []
|
||||
@@ -231,15 +236,16 @@ PlayerSettings:
|
||||
iOSMetalForceHardShadows: 0
|
||||
metalEditorSupport: 1
|
||||
metalAPIValidation: 1
|
||||
metalCompileShaderBinary: 0
|
||||
iOSRenderExtraFrameOnPause: 0
|
||||
iosCopyPluginsCodeInsteadOfSymlink: 0
|
||||
appleDeveloperTeamID:
|
||||
iOSManualSigningProvisioningProfileID:
|
||||
tvOSManualSigningProvisioningProfileID:
|
||||
bratwurstManualSigningProvisioningProfileID:
|
||||
VisionOSManualSigningProvisioningProfileID:
|
||||
iOSManualSigningProvisioningProfileType: 0
|
||||
tvOSManualSigningProvisioningProfileType: 0
|
||||
bratwurstManualSigningProvisioningProfileType: 0
|
||||
VisionOSManualSigningProvisioningProfileType: 0
|
||||
appleEnableAutomaticSigning: 0
|
||||
iOSRequireARKit: 0
|
||||
iOSAutomaticallyDetectAndAddCapabilities: 1
|
||||
@@ -257,7 +263,6 @@ PlayerSettings:
|
||||
useCustomGradleSettingsTemplate: 0
|
||||
useCustomProguardFile: 0
|
||||
AndroidTargetArchitectures: 2
|
||||
AndroidTargetDevices: 0
|
||||
AndroidSplashScreenScale: 0
|
||||
androidSplashScreen: {fileID: 0}
|
||||
AndroidKeystoreName:
|
||||
@@ -276,12 +281,12 @@ PlayerSettings:
|
||||
height: 180
|
||||
banner: {fileID: 0}
|
||||
androidGamepadSupportLevel: 0
|
||||
chromeosInputEmulation: 1
|
||||
AndroidMinifyRelease: 0
|
||||
AndroidMinifyDebug: 0
|
||||
AndroidValidateAppBundleSize: 1
|
||||
AndroidAppBundleSizeToValidate: 150
|
||||
AndroidReportGooglePlayAppDependencies: 1
|
||||
androidSymbolsSizeThreshold: 800
|
||||
m_BuildTargetIcons: []
|
||||
m_BuildTargetPlatformIcons:
|
||||
- m_BuildTarget: Android
|
||||
@@ -393,7 +398,6 @@ PlayerSettings:
|
||||
iPhone: 1
|
||||
tvOS: 1
|
||||
m_BuildTargetGroupLightmapEncodingQuality: []
|
||||
m_BuildTargetGroupHDRCubemapEncodingQuality: []
|
||||
m_BuildTargetGroupLightmapSettings: []
|
||||
m_BuildTargetGroupLoadStoreDebugModeSettings: []
|
||||
m_BuildTargetNormalMapEncoding: []
|
||||
@@ -401,6 +405,7 @@ PlayerSettings:
|
||||
playModeTestRunnerEnabled: 0
|
||||
runPlayModeTestAsEditModeTest: 0
|
||||
actionOnDotNetUnhandledException: 1
|
||||
editorGfxJobOverride: 1
|
||||
enableInternalProfiler: 0
|
||||
logObjCUncaughtExceptions: 1
|
||||
enableCrashReportAPI: 0
|
||||
@@ -408,7 +413,7 @@ PlayerSettings:
|
||||
locationUsageDescription:
|
||||
microphoneUsageDescription:
|
||||
bluetoothUsageDescription:
|
||||
macOSTargetOSVersion: 10.13.0
|
||||
macOSTargetOSVersion: 11.0
|
||||
switchNMETAOverride:
|
||||
switchNetLibKey:
|
||||
switchSocketMemoryPoolSize: 6144
|
||||
@@ -553,6 +558,7 @@ PlayerSettings:
|
||||
switchEnableRamDiskSupport: 0
|
||||
switchMicroSleepForYieldTime: 25
|
||||
switchRamDiskSpaceSize: 12
|
||||
switchUpgradedPlayerSettingsToNMETA: 0
|
||||
ps4NPAgeRating: 12
|
||||
ps4NPTitleSecret:
|
||||
ps4NPTrophyPackPath:
|
||||
@@ -660,12 +666,13 @@ PlayerSettings:
|
||||
webGLWebAssemblyTable: 0
|
||||
webGLWebAssemblyBigInt: 0
|
||||
webGLCloseOnQuit: 0
|
||||
webWasm2023: 0
|
||||
scriptingDefineSymbols: {}
|
||||
additionalCompilerArguments: {}
|
||||
platformArchitecture: {}
|
||||
scriptingBackend:
|
||||
Android: 1
|
||||
Standalone: 0
|
||||
Standalone: 1
|
||||
il2cppCompilerConfiguration: {}
|
||||
il2cppCodeGeneration: {}
|
||||
il2cppStacktraceInformation: {}
|
||||
@@ -717,6 +724,7 @@ PlayerSettings:
|
||||
metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0}
|
||||
metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, a: 1}
|
||||
metroSplashScreenUseBackgroundColor: 0
|
||||
syncCapabilities: 0
|
||||
platformCapabilities: {}
|
||||
metroTargetDeviceFamilies: {}
|
||||
metroFTAName:
|
||||
@@ -784,3 +792,5 @@ PlayerSettings:
|
||||
platformRequiresReadableAssets: 0
|
||||
virtualTexturingSupportEnabled: 0
|
||||
insecureHttpOption: 0
|
||||
androidVulkanDenyFilterList: []
|
||||
androidVulkanAllowFilterList: []
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
m_EditorVersion: 2023.2.3f1
|
||||
m_EditorVersionWithRevision: 2023.2.3f1 (21747dafc6ee)
|
||||
m_EditorVersion: 6000.0.40f1
|
||||
m_EditorVersionWithRevision: 6000.0.40f1 (157d81624ddf)
|
||||
|
||||
@@ -61,6 +61,11 @@
|
||||
"type": "UnityEngine.PhysicMaterial",
|
||||
"defaultInstantiationMode": 0
|
||||
},
|
||||
{
|
||||
"userAdded": false,
|
||||
"type": "UnityEngine.PhysicsMaterial",
|
||||
"defaultInstantiationMode": 0
|
||||
},
|
||||
{
|
||||
"userAdded": false,
|
||||
"type": "UnityEngine.PhysicsMaterial2D",
|
||||
|
||||
@@ -12,5 +12,7 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: de02f9e1d18f588468e474319d09a723, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
shaderVariantLimit: 2048
|
||||
customInterpolatorErrorThreshold: 32
|
||||
customInterpolatorWarningThreshold: 16
|
||||
customHeatmapValues: {fileID: 0}
|
||||
|
||||
@@ -8,6 +8,9 @@ EditorUserSettings:
|
||||
RecentlyUsedSceneGuid-0:
|
||||
value: 5b520d0503545b0d0c0c0a2715770748154f4d2c7d7d7e627a7d4a35b4e1646a
|
||||
flags: 0
|
||||
RecentlyUsedSceneGuid-1:
|
||||
value: 5505055f07050f080b0c5c7044705b44174e4d28287d20657f794e6bb7e1373c
|
||||
flags: 0
|
||||
vcSharedLogLevel:
|
||||
value: 0d5e400f0650
|
||||
flags: 0
|
||||
@@ -25,5 +28,6 @@ EditorUserSettings:
|
||||
m_VCHierarchyOverlayIcons: 1
|
||||
m_VCOtherOverlayIcons: 1
|
||||
m_VCAllowAsyncUpdate: 1
|
||||
m_VCScanLocalPackagesOnConnect: 1
|
||||
m_ArtifactGarbageCollection: 1
|
||||
m_CompressAssetsOnImport: 1
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
1322
UserSettings/Layouts/default-6000.dwlt
Normal file
1322
UserSettings/Layouts/default-6000.dwlt
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user