Skip to content

Commit de4428a

Browse files
committed
Added willRender override and start of event handling
1 parent 6a3274b commit de4428a

1 file changed

Lines changed: 44 additions & 1 deletion

File tree

src/gameobjects/domelement/DOMElement.js

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ var DOMElement = new Class({
5858

5959
this.parent = scene.sys.game.domContainer;
6060

61+
this.cache = scene.sys.cache.html;
62+
6163
this.node;
6264

6365
this.skewX = 0;
@@ -94,6 +96,41 @@ var DOMElement = new Class({
9496
return this;
9597
},
9698

99+
/**
100+
* Compares the renderMask with the renderFlags to see if this Game Object will render or not.
101+
*
102+
* @method Phaser.GameObjects.GameObject#willRender
103+
* @since 3.0.0
104+
*
105+
* @return {boolean} True if the Game Object should be rendered, otherwise false.
106+
*/
107+
willRender: function ()
108+
{
109+
return true;
110+
},
111+
112+
listen: function (events)
113+
{
114+
if (!this.node)
115+
{
116+
return;
117+
}
118+
119+
events = events.split(' ');
120+
121+
for (var i = 0; i < events.length; i++)
122+
{
123+
this.node.addEventListener(events[i], this.dispatchNativeEvent.bind(this), false);
124+
}
125+
126+
return this;
127+
},
128+
129+
dispatchNativeEvent: function (event)
130+
{
131+
this.emit(event.type, event);
132+
},
133+
97134
setElement: function (element)
98135
{
99136
var target;
@@ -118,6 +155,10 @@ var DOMElement = new Class({
118155
target.style.display = 'inline';
119156
target.style.position = 'absolute';
120157

158+
// Node handler
159+
160+
target.phaserElement = this;
161+
121162
if (this.parent)
122163
{
123164
this.parent.appendChild(target);
@@ -132,13 +173,15 @@ var DOMElement = new Class({
132173

133174
createFromCache: function (key, elementType)
134175
{
135-
return this.createFromHTML(this.scene.sys.cache.text.get(key), elementType);
176+
return this.createFromHTML(this.cache.get(key), elementType);
136177
},
137178

138179
createFromHTML: function (html, elementType)
139180
{
140181
if (elementType === undefined) { elementType = 'div'; }
141182

183+
console.log(html);
184+
142185
var element = document.createElement(elementType);
143186

144187
element.innerHTML = html;

0 commit comments

Comments
 (0)