public void OnCurrentPlayerChanged()
 {
     this.m_additionalOverloadedCrystalsOwedThisTurn = this.m_additionalOverloadedCrystalsOwedNextTurn;
     this.m_additionalOverloadedCrystalsOwedNextTurn = 0;
     if (this.m_additionalOverloadedCrystalsOwedThisTurn > 0)
     {
         this.m_overloadLocksAreShowing = true;
     }
     else
     {
         this.m_overloadLocksAreShowing = false;
     }
     for (int i = 0; i < this.m_permanentCrystals.Count; i++)
     {
         ManaCrystal crystal = this.m_permanentCrystals[i];
         if (crystal.IsOverloaded())
         {
             crystal.UnlockOverload();
         }
         if (crystal.IsOwedForOverload())
         {
             this.m_overloadLocksAreShowing = true;
             crystal.PayOverload();
         }
         else if (this.m_additionalOverloadedCrystalsOwedThisTurn > 0)
         {
             crystal.PayOverload();
             this.m_additionalOverloadedCrystalsOwedThisTurn--;
         }
     }
 }
    public void MarkCrystalsOwedForOverload(int numCrystals)
    {
        if (numCrystals > 0)
        {
            this.m_overloadLocksAreShowing = true;
        }
        int num = 0;

        for (int i = 0; numCrystals != num; i++)
        {
            if (i == this.m_permanentCrystals.Count)
            {
                this.m_additionalOverloadedCrystalsOwedNextTurn += numCrystals - num;
                break;
            }
            ManaCrystal crystal = this.m_permanentCrystals[i];
            if (!crystal.IsOwedForOverload())
            {
                crystal.MarkAsOwedForOverload();
                num++;
            }
        }
    }