ugly: apply just the alpha to m_Underline. This is what used to be
done in UpdateEnabledDisabled, but we don't want to update this tweening in two places; they collide and cancel each other.
This commit is contained in:
@@ -503,6 +503,19 @@ void OptionRow::PositionUnderlines( PlayerNumber pn )
|
|||||||
|
|
||||||
int iChoiceWithFocus = (m_pHand->m_Def.m_layoutType == LAYOUT_SHOW_ONE_IN_ROW) ? GetChoiceInRowWithFocus(pn) : i;
|
int iChoiceWithFocus = (m_pHand->m_Def.m_layoutType == LAYOUT_SHOW_ONE_IN_ROW) ? GetChoiceInRowWithFocus(pn) : i;
|
||||||
|
|
||||||
|
float fAlpha = 1.0f;
|
||||||
|
if( m_pHand->m_Def.m_layoutType == LAYOUT_SHOW_ONE_IN_ROW )
|
||||||
|
{
|
||||||
|
bool bRowEnabled = m_pHand->m_Def.m_vEnabledForPlayers.find(pn) != m_pHand->m_Def.m_vEnabledForPlayers.end();
|
||||||
|
|
||||||
|
if( !m_pHand->m_Def.m_bOneChoiceForAllPlayers )
|
||||||
|
{
|
||||||
|
if( m_bRowHasFocus[pn] ) fAlpha = m_pParentType->COLOR_SELECTED.GetValue().a;
|
||||||
|
else if( bRowEnabled ) fAlpha = m_pParentType->COLOR_NOT_SELECTED.GetValue().a;
|
||||||
|
else fAlpha = m_pParentType->COLOR_DISABLED.GetValue().a;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Don't tween X movement and color changes. */
|
/* Don't tween X movement and color changes. */
|
||||||
int iWidth, iX, iY;
|
int iWidth, iX, iY;
|
||||||
GetWidthXY( pn, iChoiceWithFocus, iWidth, iX, iY );
|
GetWidthXY( pn, iChoiceWithFocus, iWidth, iX, iY );
|
||||||
@@ -515,6 +528,7 @@ void OptionRow::PositionUnderlines( PlayerNumber pn )
|
|||||||
bool bHidden = !bSelected || !GAMESTATE->IsHumanPlayer(pn);
|
bool bHidden = !bSelected || !GAMESTATE->IsHumanPlayer(pn);
|
||||||
|
|
||||||
ul.StopTweening();
|
ul.StopTweening();
|
||||||
|
ul.SetDiffuseAlpha( fAlpha );
|
||||||
ul.BeginTweening( m_pParentType->TWEEN_SECONDS );
|
ul.BeginTweening( m_pParentType->TWEEN_SECONDS );
|
||||||
ul.SetHidden( bHidden );
|
ul.SetHidden( bHidden );
|
||||||
ul.SetBarWidth( iWidth );
|
ul.SetBarWidth( iWidth );
|
||||||
|
|||||||
Reference in New Issue
Block a user