public void AddTokenToPool(Token newToken)
    {
        Vector3   newPosition = CalculateManaTokenPosition(newToken.Color);
        ManaToken manaToken   = new ManaToken();

        manaToken.Token = newToken;
        manaToken.CreatePhysicalToken(newPosition);
        AddManaToManaPool(manaToken);
    }
    public Token PullOutToken(ManaToken mana, bool rearrange = false)
    {
        Token token = mana.Token;

        FindManaTokenList(mana).Remove(mana);
        mana.Clear();
        //if(rearrange)
        //Rearrange(); //If this kind of method becomes needed.
        return(token);
    }
 public List <ManaToken> FindManaTokenList(ManaToken mana)
 {
     if (mana.Color == Token.ColorType.Red)
     {
         return(RedManaTokens);
     }
     else if (mana.Color == Token.ColorType.Green)
     {
         return(GreenManaTokens);
     }
     else
     {
         return(BlueManaTokens);
     }
 }
 void AddManaToManaPool(ManaToken manaToken)
 {
     if (manaToken.Color == Token.ColorType.Red)
     {
         ManaPool.Red++;
         RedManaTokens.Add(manaToken);
     }
     else if (manaToken.Color == Token.ColorType.Green)
     {
         ManaPool.Green++;
         GreenManaTokens.Add(manaToken);
     }
     else
     {
         ManaPool.Blue++;
         BlueManaTokens.Add(manaToken);
     }
 }