Skip to content

Commit

Permalink
Merge remote-tracking branch 'refs/remotes/fireball/next'
Browse files Browse the repository at this point in the history
Conflicts:
	cocos2d/core/renderer/canvas/renderers/utils.js
  • Loading branch information
2youyou2 committed Apr 2, 2018
2 parents 55820e0 + 3fc032f commit 6f7c4d7
Show file tree
Hide file tree
Showing 100 changed files with 18,071 additions and 14,729 deletions.
2 changes: 1 addition & 1 deletion CCDebugger.js
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ cc._initDebugSetting = function (mode) {
if (mode === cc.DebugMode.NONE)
return;

if (!CC_JSB && mode > cc.DebugMode.ERROR) {
if (mode > cc.DebugMode.ERROR) {
//log to web page

function logToWebPage (msg) {
Expand Down
22 changes: 1 addition & 21 deletions cocos2d/core/CCDirector.js
Original file line number Diff line number Diff line change
Expand Up @@ -556,27 +556,7 @@ cc.Director.prototype = {
var uuid = info.uuid;
this.emit(cc.Director.EVENT_BEFORE_SCENE_LOADING, sceneName);
this._loadingScene = sceneName;
if (CC_JSB && cc.runtime && uuid !== this._launchSceneUuid) {
var self = this;
var groupName = cc.path.basename(info.url) + '_' + info.uuid;
console.log('==> start preload: ' + groupName);
var ensureAsync = false;
cc.LoaderLayer.preload([groupName], function () {
console.log('==> end preload: ' + groupName);
if (ensureAsync) {
self._loadSceneByUuid(uuid, onLaunched, _onUnloaded);
}
else {
setTimeout(function () {
self._loadSceneByUuid(uuid, onLaunched, _onUnloaded);
}, 0);
}
});
ensureAsync = true;
}
else {
this._loadSceneByUuid(uuid, onLaunched, _onUnloaded);
}
this._loadSceneByUuid(uuid, onLaunched, _onUnloaded);
return true;
}
else {
Expand Down
4 changes: 2 additions & 2 deletions cocos2d/core/CCGame.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ if (!(CC_EDITOR && Editor.isMainProcess)) {
}

require('../audio/CCAudioEngine');
var renderer = require('./renderer');
var renderer = require('./renderer/index.js');
var inputManager = CC_QQPLAY ? require('./platform/BKInputManager') : require('./platform/CCInputManager');

/**
Expand Down Expand Up @@ -695,7 +695,7 @@ var game = {
isWeChatGame = cc.sys.platform === cc.sys.WECHAT_GAME,
isQQPlay = cc.sys.platform === cc.sys.QQ_PLAY;

if (isWeChatGame) {
if (isWeChatGame || CC_JSB) {
this.container = localContainer = document.createElement("DIV");
this.frame = localContainer.parentNode === document.body ? document.documentElement : localContainer.parentNode;
this.canvas = localCanvas = canvas;
Expand Down
80 changes: 3 additions & 77 deletions cocos2d/core/CCNode.js
Original file line number Diff line number Diff line change
Expand Up @@ -162,41 +162,22 @@ var _touchStartHandler = function (touch, event) {
var node = this.owner;

if (node._hitTest(pos, this)) {
if (CC_JSB) {
event = Event.EventTouch.pool.get(event);
}
event.type = EventType.TOUCH_START;
event.touch = touch;
event.bubbles = true;
node.dispatchEvent(event);
if (CC_JSB) {
event.touch = null;
event._touches = null;
Event.EventTouch.pool.put(event);
}
return true;
}
return false;
};
var _touchMoveHandler = function (touch, event) {
if (CC_JSB) {
event = Event.EventTouch.pool.get(event);
}
var node = this.owner;
event.type = EventType.TOUCH_MOVE;
event.touch = touch;
event.bubbles = true;
node.dispatchEvent(event);
if (CC_JSB) {
event.touch = null;
event._touches = null;
Event.EventTouch.pool.put(event);
}
};
var _touchEndHandler = function (touch, event) {
if (CC_JSB) {
event = Event.EventTouch.pool.get(event);
}
var pos = touch.getLocation();
var node = this.owner;

Expand All @@ -209,60 +190,31 @@ var _touchEndHandler = function (touch, event) {
event.touch = touch;
event.bubbles = true;
node.dispatchEvent(event);
if (CC_JSB) {
event.touch = null;
event._touches = null;
Event.EventTouch.pool.put(event);
}
};
var _touchCancelHandler = function (touch, event) {
if (CC_JSB) {
event = Event.EventTouch.pool.get(event);
}
var pos = touch.getLocation();
var node = this.owner;

event.type = EventType.TOUCH_CANCEL;
event.touch = touch;
event.bubbles = true;
node.dispatchEvent(event);
if (CC_JSB) {
event.touch = null;
event._touches = null;
Event.EventTouch.pool.put(event);
}
};

var _mouseDownHandler = function (event) {
var pos = event.getLocation();
var node = this.owner;

if (node._hitTest(pos, this)) {
if (CC_JSB) {
// jsb event will be replaced so can be stopped immediately
event.stopPropagation();
event = Event.EventMouse.pool.get(event);
}
event.type = EventType.MOUSE_DOWN;
event.bubbles = true;
node.dispatchEvent(event);
if (CC_JSB) {
Event.EventMouse.pool.put(event);
}
else {
event.stopPropagation();
}
}
};
var _mouseMoveHandler = function (event) {
var pos = event.getLocation();
var node = this.owner;
var hit = node._hitTest(pos, this);
if (CC_JSB && (hit || this._previousIn)) {
// jsb event will be replaced so can be stopped immediately
event.stopPropagation();
event = Event.EventMouse.pool.get(event);
}
if (hit) {
if (!this._previousIn) {
// Fix issue when hover node switched, previous hovered node won't get MOUSE_LEAVE notification
Expand Down Expand Up @@ -292,54 +244,28 @@ var _mouseMoveHandler = function (event) {
}

// Event processed, cleanup
if (CC_JSB) {
Event.EventMouse.pool.put(event);
}
else {
event.stopPropagation();
}
event.stopPropagation();
};
var _mouseUpHandler = function (event) {
var pos = event.getLocation();
var node = this.owner;

if (node._hitTest(pos, this)) {
if (CC_JSB) {
// jsb event will be replaced so can be stopped immediately
event.stopPropagation();
event = Event.EventMouse.pool.get(event);
}
event.type = EventType.MOUSE_UP;
event.bubbles = true;
node.dispatchEvent(event);
if (CC_JSB) {
Event.EventMouse.pool.put(event);
}
else {
event.stopPropagation();
}
event.stopPropagation();
}
};
var _mouseWheelHandler = function (event) {
var pos = event.getLocation();
var node = this.owner;

if (node._hitTest(pos, this)) {
//FIXME: separate wheel event and other mouse event.
if (CC_JSB) {
// jsb event will be replaced so can be stopped immediately
event.stopPropagation();
event = Event.EventMouse.pool.get(event);
}
event.type = EventType.MOUSE_WHEEL;
event.bubbles = true;
node.dispatchEvent(event);
if (CC_JSB) {
Event.EventMouse.pool.put(event);
}
else {
event.stopPropagation();
}
event.stopPropagation();
}
};

Expand Down
5 changes: 1 addition & 4 deletions cocos2d/core/base-ui/CCWidgetManager.js
Original file line number Diff line number Diff line change
Expand Up @@ -448,17 +448,14 @@ var widgetManager = cc._widgetManager = module.exports = {
if (CC_EDITOR && cc.engine) {
cc.engine.on('design-resolution-changed', this.onResized.bind(this));
}
else if (!CC_JSB) {
else {
if (cc.sys.isMobile) {
window.addEventListener('resize', this.onResized.bind(this));
}
else {
cc.eventManager.addCustomListener('canvas-resize', this.onResized.bind(this));
}
}
else {
cc.eventManager.addListener(this.onResized.bind(this), 1);
}
},
add: function (widget) {
widget.node._widget = widget;
Expand Down
21 changes: 3 additions & 18 deletions cocos2d/core/components/CCCanvas.js
Original file line number Diff line number Diff line change
Expand Up @@ -124,16 +124,7 @@ var Canvas = cc.Class({
},

ctor: function () {
if (CC_JSB) {
this._thisOnResized = cc.EventListener.create({
event: cc.EventListener.CUSTOM,
eventName: "window-resize",
callback: this.onResized.bind(this)
});
}
else {
this._thisOnResized = this.onResized.bind(this);
}
this._thisOnResized = this.onResized.bind(this);
},

__preload: function () {
Expand All @@ -153,17 +144,14 @@ var Canvas = cc.Class({
if (CC_EDITOR) {
cc.engine.on('design-resolution-changed', this._thisOnResized);
}
else if (!CC_JSB) {
else {
if (cc.sys.isMobile) {
window.addEventListener('resize', this._thisOnResized);
}
else {
eventManager.addCustomListener('canvas-resize', this._thisOnResized);
}
}
else {
eventManager.addListener(this._thisOnResized, 1);
}

this.applySettings();
this.onResized();
Expand Down Expand Up @@ -191,17 +179,14 @@ var Canvas = cc.Class({
if (CC_EDITOR) {
cc.engine.off('design-resolution-changed', this._thisOnResized);
}
else if (!CC_JSB) {
else {
if (cc.sys.isMobile) {
window.removeEventListener('resize', this._thisOnResized);
}
else {
eventManager.removeCustomListeners('canvas-resize', this._thisOnResized);
}
}
else {
eventManager.removeListener(this._thisOnResized);
}

if (Canvas.instance === this) {
Canvas.instance = null;
Expand Down
1 change: 0 additions & 1 deletion cocos2d/core/components/CCLabel.js
Original file line number Diff line number Diff line change
Expand Up @@ -343,7 +343,6 @@ var Label = cc.Class({
if (value && this._isSystemFontUsed)
this._isSystemFontUsed = false;


if ( typeof value === 'string' ) {
cc.warnID(4000);
}
Expand Down
22 changes: 6 additions & 16 deletions cocos2d/core/components/CCRichText.js
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,10 @@ var pool = new js.Pool(function (node) {
if (CC_DEV) {
cc.assert(!node._parent, 'Recycling node\'s parent should be null!');
}
let Flags = cc.Object.Flags;
if (node._objFlags & Flags.Destroyed || node._objFlags & Flags.Destroying) {
return false;
}
if (node.getComponent(cc.LabelOutline)) {
return false;
}
Expand Down Expand Up @@ -202,7 +206,7 @@ var RichText = cc.Class({
if (this.font === oldValue) return;

this._layoutDirty = true;
if (!CC_JSB && this.font) {
if (this.font) {
this._onTTFLoaded();
}
this._updateRichTextStatus();
Expand Down Expand Up @@ -299,9 +303,7 @@ var RichText = cc.Class({
},

start: function () {
if (!CC_JSB) {
this._onTTFLoaded();
}
this._onTTFLoaded();
},

_addEventListeners: function () {
Expand Down Expand Up @@ -426,18 +428,6 @@ var RichText = cc.Class({
this.node.addChild(labelSegment);
this._labelSegments.push(labelSegment);

//when lineHeight is less than the content size of labelSize
//in Web platform, the extra pixels will be trimed.
//so we need to set the overflow to clamp in JSB
//FIXME: label in jsb should be refactored to keep the behavior the same as web platform.
if (CC_JSB) {
let labelComponent = labelSegment.getComponent(cc.Label);
labelComponent.overflow = 1;
var size = labelSegment.getContentSize();
labelComponent.enableWrapText = false;
labelSegment.setDimensions(size.width, this.lineHeight);
}

return labelSegment;
},

Expand Down
20 changes: 3 additions & 17 deletions cocos2d/core/components/editbox/CCEditBox.js
Original file line number Diff line number Diff line change
Expand Up @@ -254,9 +254,7 @@ var EditBox = cc.Class({
tooltip: CC_DEV && 'i18n:COMPONENT.editbox.stay_on_top',
default: false,
notify () {
if (!CC_JSB) {
this._updateStayOnTop();
}
this._updateStayOnTop();
}
},

Expand Down Expand Up @@ -546,10 +544,8 @@ var EditBox = cc.Class({
},

_registerEvent () {
if(!CC_JSB) {
this.node.on(cc.Node.EventType.TOUCH_START, this._onTouchBegan, this);
this.node.on(cc.Node.EventType.TOUCH_END, this._onTouchEnded, this);
}
this.node.on(cc.Node.EventType.TOUCH_START, this._onTouchBegan, this);
this.node.on(cc.Node.EventType.TOUCH_END, this._onTouchEnded, this);
},

_onTouchBegan(event) {
Expand Down Expand Up @@ -600,16 +596,6 @@ var EditBox = cc.Class({

});

if(CC_JSB) {
EditBox.prototype.editBoxEditingDidBegin = function (sender) {
this.editBoxEditingDidBegan(sender);
};

EditBox.prototype.editBoxEditingDidEnd = function (sender) {
this.editBoxEditingDidEnded(sender);
};
}

cc.EditBox = module.exports = EditBox;

/**
Expand Down
Loading

0 comments on commit 6f7c4d7

Please sign in to comment.