public virtual void ChangeMouseCell(Position p_Cell)
{
if (m_MouseCellPosition != p_Cell)
{
//se la cella che sta perdento il mouse è anche quella che ha ricevuto un eventuale evento di MouseDown non scateno il MouseLeave (che invece verrà scatenato dopo il MouseUp)
if (m_MouseCellPosition.IsEmpty() == false &&
m_MouseCellPosition != m_MouseDownPosition)
{
Controller.OnMouseLeave(new CellContext(this, m_MouseCellPosition), EventArgs.Empty);
}
m_MouseCellPosition = p_Cell;
if (m_MouseCellPosition.IsEmpty() == false)
{
Controller.OnMouseEnter(new CellContext(this, m_MouseCellPosition), EventArgs.Empty);
}
}
}