//Receive skill list from prepare phase and shuffle for random skill in start and put in queue
    public static void SetCharacterEnqueue(List <CharacterModel> characterList)
    {
        characterQueue.Clear();
        ListShuffleUtility.Shuffle(characterList);


        for (int i = 0; i < characterList.Count; i++)
        {
            characterQueue.Enqueue(characterList [i]);
        }
    }
    //TO-DO: store in data, use pantoyprefs or something, if characters already present in data, no need to generate,
    //Add 8 random characters to equip by default
    public static List <CharacterModel> GetEquipCharacterList()
    {
        List <CharacterModel> equipCharacterList = new List <CharacterModel> (8);
        List <CharacterModel> characterList      = GetCharacterList();

        characterList = ListShuffleUtility.Shuffle(characterList);

        for (int i = 0; i < 8; i++)
        {
            equipCharacterList.Add(characterList [i]);
        }
        return(equipCharacterList);
    }
    /// <summary>
    /// Shuffles the Selection by placing each letters in questionAnswer to random selection location
    /// then populates the others with random letters inside alphabet
    /// </summary>
    public void ShuffleSelection()
    {
        List <int> randomizedIndexList = new List <int> ();

        correctContainers.Clear();
        randomizedIndexList.AddRange(Enumerable.Range(0, selectionButtons.Length));
        ListShuffleUtility.Shuffle(randomizedIndexList);
        for (int i = 0; i < selectionButtons.Length; i++)
        {
            bool isCorrect = false;
            if (i < questionAnswer.Length)
            {
                isCorrect = true;
            }
            selectionButtons [randomizedIndexList [0]].Init(isCorrect, i);
            if (isCorrect)
            {
                correctContainers.Add(selectionButtons [randomizedIndexList [0]]);
            }
            randomizedIndexList.RemoveAt(0);
        }
    }