/// <summary>
/// Watch for key events and adjust the value accordingly.
/// </summary>
protected void OnKey (KeyCode key)
{
if (enabled)
{
float step = (numberOfSteps > 1f) ? 1f / (numberOfSteps - 1) : 0.125f;
switch (mFill)
{
case FillDirection.LeftToRight:
{
if (key == KeyCode.LeftArrow) value = mValue - step;
else if (key == KeyCode.RightArrow) value = mValue + step;
}
break;
case FillDirection.RightToLeft:
{
if (key == KeyCode.LeftArrow) value = mValue + step;
else if (key == KeyCode.RightArrow) value = mValue - step;
}
break;
case FillDirection.BottomToTop:
{
if (key == KeyCode.DownArrow) value = mValue - step;
else if (key == KeyCode.UpArrow) value = mValue + step;
}
break;
case FillDirection.TopToBottom:
{
if (key == KeyCode.DownArrow) value = mValue + step;
else if (key == KeyCode.UpArrow) value = mValue - step;
}
break;
}
}
}