public void MoveToCell(GameTime time, CellPosition newPos) { var now = time.TotalGameTime.TotalSeconds; if (newPos != c_position) { if (World.IsPassable(newPos)) { _transitionFromPosition = Position; _transitionToPosition = newPos.ToPixelPosition(); _transitionStartTime = now; c_position = newPos; _lastMoveTime = now; OnMove(time); } } }