public void sort(EZCardSort.Type type) { type_ = type; IComparer<Transform> comparer = null; switch(type){ case EZCardSort.Type.Lv: comparer = new LvComparer(); break; case EZCardSort.Type.Quality: comparer = new QualityComparer(); break; case EZCardSort.Type.MagicType: comparer = new MagicTypeComparer(); break; case EZCardSort.Type.Attack: comparer = new AttackComparer(); break; case EZCardSort.Type.Speed: comparer = new SpeedComparer(); break; case EZCardSort.Type.MaxHealth: comparer = new MaxHealthComparer(); break; } _table.comparer = comparer; _table.repositionNow = true; setBtnByType(type); PlayerPrefs.SetInt("card_sort", (int)(type_)); PlayerPrefs.Save(); }
public void sort(EZCardSort.Type type) { type_ = type; IComparer <Transform> comparer = null; switch (type) { case EZCardSort.Type.Lv: comparer = new LvComparer(); break; case EZCardSort.Type.Quality: comparer = new QualityComparer(); break; case EZCardSort.Type.MagicType: comparer = new MagicTypeComparer(); break; case EZCardSort.Type.Attack: comparer = new AttackComparer(); break; case EZCardSort.Type.Speed: comparer = new SpeedComparer(); break; case EZCardSort.Type.MaxHealth: comparer = new MaxHealthComparer(); break; } _table.comparer = comparer; _table.repositionNow = true; setBtnByType(type); PlayerPrefs.SetInt("card_sort", (int)(type_)); PlayerPrefs.Save(); }
public static ScenarioState GenerateNewScenarioState(GameBoard board, EnemySpawnGroupData enemySpawnGroup, bool isBossScenario = false) { List <EntityData> enemies = enemySpawnGroup.EnemiesToSpawn.Select(e => ScriptableObject.Instantiate(e)).ToList(); List <ItemData> items = enemySpawnGroup.ItemsToSpawn.Select(t => ScriptableObject.Instantiate(t)).ToList(); SpeedComparer comparer = new SpeedComparer(); enemies.Sort(comparer); Direction stagnationDirection = GetStagnationDirectionFromEntrance(board.Entrance.Position, board.Width); ScenarioState generatedState = new ScenarioState(enemies, items, enemySpawnGroup.scenarioReward, stagnationDirection, isBossScenario); EntityData player = generatedState.player; player.SetPosition(board.Entrance.Position, generatedState); generatedState = RandomizeEntityStartingCoordinates(generatedState, enemies, board.Width, board.GetTileAtPosition(player.Position), board); Vector2Int exitPosition = board.Exit == null ? Vector2Int.zero : board.Exit.Position; generatedState = RandomizeItemStartingCoordinates(generatedState, items, exitPosition, board.Width); return(generatedState); }