public virtual void Move(float dx, float dy) { if (dx != 0 || dy != 0) { if (_parent != null && _limitMove) { if (_parent.Contains((int)(pos[0] + dx), (int)(pos[1] + dy), _size_width, _size_height)) { this._position.Move(dx, dy); this.ValidatePosition(); } } else { this._position.Move(dx, dy); this.ValidatePosition(); } } }