Compare commits

2 Commits

Author SHA1 Message Date
3545b86b97 fix emblem taking into account 2025-10-11 01:02:52 +02:00
bf4ed2c74f switch set, automatize more of the content without UI change 2025-10-11 00:53:40 +02:00
51 changed files with 11126 additions and 13680 deletions

View File

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

View File

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

View File

@@ -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
View 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
*/

View File

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

8
Assets/Set.meta Normal file
View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 0c5ec2ccbda5d0047bb36be0354668d7
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 3352894ddb2980e45b7117dcbfc78999
guid: 02eade1755b3bee4ba788d4232fa4dd8
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@@ -1,6 +1,6 @@
using System.Collections.Generic;
namespace Assets.Data
namespace Set.Data
{
public class ChampionUtils
{

View 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,
}
}

View 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();
}
}
}

View File

@@ -1,7 +1,7 @@
using System.Collections.Generic;
using System.Numerics;
namespace Assets.Data
namespace Set.Data
{
public class TraitUtils
{

View 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
}
}

File diff suppressed because it is too large Load Diff

8
Assets/Set13.meta Normal file
View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 5dc542870b07f6b489464965d76fd310
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

8
Assets/Set13/Scenes.meta Normal file
View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a799773b3ea26c04ea96d6421654077d
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 6419b0f3fb0243d4a95bd5f520385acd
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -2,7 +2,7 @@ using System.Collections;
using System.Collections.Generic;
using NUnit.Framework;
namespace Assets.Data
namespace Tests.Editor
{
[TestFixture]
public class TestBitWise

View File

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

View File

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

View File

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

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

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 320b859d2593db54f8f302651ac58a69

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

View File

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

View File

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

View File

@@ -1,135 +1,96 @@
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using Set.Data;
using TMPro;
using UnityEngine;
public class EmblemSelector : MonoBehaviour
namespace UI
{
[SerializeField] private int _defaultEmblemCount = 0;
[SerializeField]
private TMP_InputField _arcanaEmblems;
[SerializeField]
private TMP_InputField _chronoEmblems;
[SerializeField]
private TMP_InputField _dragonEmblems;
[SerializeField]
private TMP_InputField _druidEmblems;
[SerializeField]
private TMP_InputField _eldrichtEmblems;
[SerializeField]
private TMP_InputField _faerieEmblems;
[SerializeField]
private TMP_InputField _frostEmblems;
[SerializeField]
private TMP_InputField _honeymancyEmblems;
[SerializeField]
private TMP_InputField _portalEmblems;
[SerializeField]
private TMP_InputField _pyroEmblems;
[SerializeField]
private TMP_InputField _sugarcraftEmblems;
[SerializeField]
private TMP_InputField _witchcraftEmblems;
[SerializeField]
private TMP_InputField _bastionEmblems;
[SerializeField]
private TMP_InputField _blasterEmblems;
[SerializeField]
private TMP_InputField _hunterEmblems;
[SerializeField]
private TMP_InputField _incantatorEmblems;
[SerializeField]
private TMP_InputField _mageEmblems;
[SerializeField]
private TMP_InputField _multistrikerEmblems;
[SerializeField]
private TMP_InputField _preserverEmblems;
[SerializeField]
private TMP_InputField _scholarEmblems;
[SerializeField]
private TMP_InputField _shapeshifterEmblems;
[SerializeField]
private TMP_InputField _vanguardEmblems;
[SerializeField]
private TMP_InputField _warriorEmblems;
// Start is called before the first frame update
void Start() { }
public Dictionary<int, int> GetEmblems()
public class EmblemSelector : MonoBehaviour
{
Dictionary<int, int> emblems = new Dictionary<int, int>();
emblems[(int)TraitsEnum.ARCANA] = int.Parse(_arcanaEmblems.text);
emblems[(int)TraitsEnum.CHRONO] = int.Parse(_chronoEmblems.text);
emblems[(int)TraitsEnum.DRAGON] = int.Parse(_dragonEmblems.text);
emblems[(int)TraitsEnum.DRUID] = int.Parse(_druidEmblems.text);
emblems[(int)TraitsEnum.ELDRICHT] = int.Parse(_eldrichtEmblems.text);
emblems[(int)TraitsEnum.FAERIE] = int.Parse(_faerieEmblems.text);
emblems[(int)TraitsEnum.FROST] = int.Parse(_frostEmblems.text);
emblems[(int)TraitsEnum.HONEYMANCY] = int.Parse(_honeymancyEmblems.text);
emblems[(int)TraitsEnum.PORTAL] = int.Parse(_portalEmblems.text);
emblems[(int)TraitsEnum.PYRO] = int.Parse(_pyroEmblems.text);
emblems[(int)TraitsEnum.SUGARCRAFT] = int.Parse(_sugarcraftEmblems.text);
emblems[(int)TraitsEnum.WITCHCRAFT] = int.Parse(_witchcraftEmblems.text);
emblems[(int)TraitsEnum.BASTION] = int.Parse(_bastionEmblems.text);
emblems[(int)TraitsEnum.BLASTER] = int.Parse(_blasterEmblems.text);
emblems[(int)TraitsEnum.HUNTER] = int.Parse(_hunterEmblems.text);
emblems[(int)TraitsEnum.INCANTATOR] = int.Parse(_incantatorEmblems.text);
emblems[(int)TraitsEnum.MAGE] = int.Parse(_mageEmblems.text);
emblems[(int)TraitsEnum.MULTISTRIKER] = int.Parse(_multistrikerEmblems.text);
emblems[(int)TraitsEnum.PRESERVER] = int.Parse(_preserverEmblems.text);
emblems[(int)TraitsEnum.SCHOLAR] = int.Parse(_scholarEmblems.text);
emblems[(int)TraitsEnum.SHAPESHIFTER] = int.Parse(_shapeshifterEmblems.text);
emblems[(int)TraitsEnum.VANGUARD] = int.Parse(_vanguardEmblems.text);
emblems[(int)TraitsEnum.WARRIOR] = int.Parse(_warriorEmblems.text);
return emblems;
}
public void Reset()
{
_arcanaEmblems.text = _defaultEmblemCount.ToString();
_chronoEmblems.text = _defaultEmblemCount.ToString();
_dragonEmblems.text = _defaultEmblemCount.ToString();
_druidEmblems.text = _defaultEmblemCount.ToString();
_eldrichtEmblems.text = _defaultEmblemCount.ToString();
_faerieEmblems.text = _defaultEmblemCount.ToString();
_frostEmblems.text = _defaultEmblemCount.ToString();
_honeymancyEmblems.text = _defaultEmblemCount.ToString();
_portalEmblems.text = _defaultEmblemCount.ToString();
_pyroEmblems.text = _defaultEmblemCount.ToString();
_sugarcraftEmblems.text = _defaultEmblemCount.ToString();
_witchcraftEmblems.text = _defaultEmblemCount.ToString();
_bastionEmblems.text = _defaultEmblemCount.ToString();
_blasterEmblems.text = _defaultEmblemCount.ToString();
_hunterEmblems.text = _defaultEmblemCount.ToString();
_incantatorEmblems.text = _defaultEmblemCount.ToString();
_mageEmblems.text = _defaultEmblemCount.ToString();
_multistrikerEmblems.text = _defaultEmblemCount.ToString();
_preserverEmblems.text = _defaultEmblemCount.ToString();
_scholarEmblems.text = _defaultEmblemCount.ToString();
_shapeshifterEmblems.text = _defaultEmblemCount.ToString();
_vanguardEmblems.text = _defaultEmblemCount.ToString();
_warriorEmblems.text = _defaultEmblemCount.ToString();
[Header("Configuration")]
[SerializeField]
private int _defaultEmblemCount = 0;
[SerializeField]
private TraitDisplayInfo _emblemUIPrefab;
[Header("Layout")]
[SerializeField]
private Transform _traitsParent;
private Dictionary<TraitsEnum, TraitDisplayInfo> _emblemUIs =
new Dictionary<TraitsEnum, TraitDisplayInfo>();
// Trait definitions with display names
private readonly Dictionary<TraitsEnum, string> _traitDisplayInfo = new Dictionary<
TraitsEnum,
string
>
{
{ TraitsEnum.BATTLEACADEMIA, "Battle Academia" },
{ TraitsEnum.CRYSTALGAMBIT, "Crystal Gambit" },
{ TraitsEnum.LUCHADOR, "Luchador" },
{ TraitsEnum.MIGHTYMECH, "Mighty Mech" },
{ TraitsEnum.MONSTERTRAINER, "Monster Trainer" },
{ TraitsEnum.SOULFIGHTER, "Soul Fighter" },
{ TraitsEnum.STARGUARDIAN, "Star Guardian" },
{ TraitsEnum.SUPREMECELLS, "Supreme Cells" },
{ TraitsEnum.THECREW, "The Crew" },
{ TraitsEnum.WRAITH, "Wraith" },
{ TraitsEnum.MENTOR, "Mentor" },
{ TraitsEnum.PRODIGY, "Prodigy" },
{ TraitsEnum.THECHAMP, "The Champ" },
{ TraitsEnum.STANCEMASTER, "Stance Master" },
{ TraitsEnum.ROGUECAPTAIN, "Rogue Captain" },
{ TraitsEnum.BASTION, "Bastion" },
{ TraitsEnum.DUELIST, "Duelist" },
{ TraitsEnum.EDGELORD, "Edgelord" },
{ TraitsEnum.EXECUTIONER, "Executioner" },
{ TraitsEnum.HEAVYWEIGHT, "Heavyweight" },
{ TraitsEnum.JUGGERNAUT, "Juggernaut" },
{ TraitsEnum.PROTECTOR, "Protector" },
{ TraitsEnum.SNIPER, "Sniper" },
{ TraitsEnum.SORCERER, "Sorcerer" },
{ TraitsEnum.STRATEGIST, "Strategist" },
};
void Start()
{
CreateEmblemUIs();
}
private void CreateEmblemUIs()
{
foreach (var kvp in _traitDisplayInfo)
{
var trait = kvp.Key;
var traitName = kvp.Value;
TraitDisplayInfo emblemUI = Instantiate<TraitDisplayInfo>(
_emblemUIPrefab,
_traitsParent
);
emblemUI.Initialize(trait, traitName, _defaultEmblemCount);
_emblemUIs.Add(trait, emblemUI);
}
}
public Dictionary<int, int> GetEmblems()
{
Dictionary<int, int> emblems = new Dictionary<int, int>();
foreach (var kvp in _emblemUIs)
{
var trait = kvp.Key;
var emblemUI = kvp.Value;
int emblemCount = emblemUI.GetEmblemCount();
emblems[(int)trait] = emblemCount;
}
return emblems;
}
}
}

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

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 8dd0be74169a51b439320d3c9d6dcf22

View File

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

View File

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

View File

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

View File

@@ -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",

View File

@@ -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": {

View File

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

View File

@@ -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: []

View File

@@ -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)

View File

@@ -61,6 +61,11 @@
"type": "UnityEngine.PhysicMaterial",
"defaultInstantiationMode": 0
},
{
"userAdded": false,
"type": "UnityEngine.PhysicsMaterial",
"defaultInstantiationMode": 0
},
{
"userAdded": false,
"type": "UnityEngine.PhysicsMaterial2D",

View File

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

View File

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

File diff suppressed because it is too large Load Diff