forked from phaserjs/phaser
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathInputManager.js
More file actions
59 lines (41 loc) · 1.66 KB
/
Copy pathInputManager.js
File metadata and controls
59 lines (41 loc) · 1.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
var Class = require('../utils/Class');
var InputEvent = require('../input/local/events');
var SceneInputManager = require('../input/local/SceneInputManager');
var InputManager = new Class({
Extends: SceneInputManager,
initialize:
function InputManager (scene, game)
{
SceneInputManager.call(this, scene, game);
},
childOnMove: function (pointer, interactiveObject)
{
interactiveObject.onMove(interactiveObject.gameObject, pointer);
},
childOnDragStart: function (pointer, interactiveObject)
{
var gameObject = interactiveObject.gameObject;
var dragX = interactiveObject.localX - gameObject.displayOriginX;
var dragY = interactiveObject.localY - gameObject.displayOriginY;
var result = interactiveObject.onDragStart(gameObject, pointer, dragX, dragY);
if (result !== false)
{
interactiveObject.isDragged = true;
interactiveObject.dragX = dragX;
interactiveObject.dragY = dragY;
this.events.dispatch(new InputEvent.DRAG_START(pointer, gameObject));
}
},
childOnDrag: function (index, pointer, interactiveObject)
{
this.events.dispatch(new InputEvent.DRAG(pointer, interactiveObject.gameObject));
interactiveObject.onDrag(interactiveObject.gameObject, pointer);
},
childOnDragEnd: function (index, pointer, interactiveObject)
{
interactiveObject.isDragged = false;
this.events.dispatch(new InputEvent.DRAG_END(pointer, interactiveObject.gameObject));
interactiveObject.onDragEnd(interactiveObject.gameObject, pointer);
}
});
module.exports = InputManager;