diff --git a/App/App/SpriteKit/PieceNode.swift b/App/App/SpriteKit/PieceNode.swift index 621c468..0fa71e3 100644 --- a/App/App/SpriteKit/PieceNode.swift +++ b/App/App/SpriteKit/PieceNode.swift @@ -76,41 +76,29 @@ class PieceNode : SKNode { } #if os(macOS) - // override public func touchesBegan(with event: NSEvent) { - // let holder: NSView? = self.parent?.parent as? NSView - // - // guard - // self.draggable, - // let touch = event.touches(matching: .began, in: holder).first - // else { return } - // - // let pos = touch.location(in: holder) - // self.position = CGPoint(x: pos.y, y: pos.y) - // } - // - // override public func touchesMoved(with event: NSEvent) { - // let holder: NSView? = self.parent?.parent as? NSView - // - // guard - // self.draggable, - // let touch = event.touches(matching: .moved, in: holder).first - // else { return } - // - // let pos = touch.location(in: holder) - // self.position = CGPoint(x: pos.y, y: pos.y) - // } - // - // override public func touchesEnded(with event: NSEvent) { - // let holder: NSView? = self.parent?.parent as? NSView - // - // guard - // self.draggable, - // let touch = event.touches(matching: .ended, in: holder).first - // else { return } - // - // let pos = touch.location(in: holder) - // self.position = CGPoint(x: pos.y, y: pos.y) - // } + override public func mouseDown(with event: NSEvent) { + guard let holder = self.parent + else { return } + + let pos = event.location(in: holder) + self.dragTo(position: CGPoint(x: pos.x, y: pos.y)) + } + + override public func mouseDragged(with event: NSEvent) { + guard let holder = self.parent + else { return } + + let pos = event.location(in: holder) + self.dragTo(position: CGPoint(x: pos.x, y: pos.y)) + } + + override public func mouseUp(with event: NSEvent) { + guard let holder = self.parent + else { return } + + let pos = event.location(in: holder) + self.releaseAt(position: CGPoint(x: pos.x, y: pos.y)) + } #elseif os(iOS) override public func touchesBegan(_ touches: Set, with event: UIEvent?) { guard