зеркало из https://github.com/microsoft/cocos2d-x.git
Merge branch 'develop' of https://github.com/cocos2d/cocos2d-x into develop
This commit is contained in:
Коммит
c3d7d1f1bc
|
@ -26,7 +26,7 @@
|
|||
|
||||
NS_CC_BEGIN
|
||||
|
||||
EventAcceleration::EventAcceleration(Acceleration acc)
|
||||
EventAcceleration::EventAcceleration(const Acceleration& acc)
|
||||
: Event(Type::ACCELERATION)
|
||||
, _acc(acc)
|
||||
{
|
||||
|
|
|
@ -33,8 +33,7 @@ NS_CC_BEGIN
|
|||
class EventAcceleration : public Event
|
||||
{
|
||||
public:
|
||||
|
||||
EventAcceleration(Acceleration acc);
|
||||
EventAcceleration(const Acceleration& acc);
|
||||
|
||||
private:
|
||||
Acceleration _acc;
|
||||
|
|
|
@ -1017,6 +1017,10 @@ void EventDispatcher::sortEventListenersOfSceneGraphPriority(const EventListener
|
|||
|
||||
if (listeners == nullptr)
|
||||
return;
|
||||
auto sceneGraphListeners = listeners->getSceneGraphPriorityListeners();
|
||||
|
||||
if (sceneGraphListeners == nullptr)
|
||||
return;
|
||||
|
||||
Node* rootNode = (Node*)Director::getInstance()->getRunningScene();
|
||||
// Reset priority index
|
||||
|
@ -1026,7 +1030,7 @@ void EventDispatcher::sortEventListenersOfSceneGraphPriority(const EventListener
|
|||
visitTarget(rootNode, true);
|
||||
|
||||
// After sort: priority < 0, > 0
|
||||
auto sceneGraphListeners = listeners->getSceneGraphPriorityListeners();
|
||||
|
||||
std::sort(sceneGraphListeners->begin(), sceneGraphListeners->end(), [this](const EventListener* l1, const EventListener* l2) {
|
||||
return _nodePriorityMap[l1->getSceneGraphPriority()] > _nodePriorityMap[l2->getSceneGraphPriority()];
|
||||
});
|
||||
|
@ -1047,8 +1051,11 @@ void EventDispatcher::sortEventListenersOfFixedPriority(const EventListener::Lis
|
|||
if (listeners == nullptr)
|
||||
return;
|
||||
|
||||
// After sort: priority < 0, > 0
|
||||
auto fixedListeners = listeners->getFixedPriorityListeners();
|
||||
if (fixedListeners == nullptr)
|
||||
return;
|
||||
|
||||
// After sort: priority < 0, > 0
|
||||
std::sort(fixedListeners->begin(), fixedListeners->end(), [](const EventListener* l1, const EventListener* l2) {
|
||||
return l1->getFixedPriority() < l2->getFixedPriority();
|
||||
});
|
||||
|
|
|
@ -99,28 +99,28 @@ Layer *Layer::create()
|
|||
}
|
||||
}
|
||||
|
||||
int Layer::executeScriptTouchHandler(EventTouch::EventCode eventType, Touch* touch)
|
||||
int Layer::executeScriptTouchHandler(EventTouch::EventCode eventType, Touch* touch, Event* event)
|
||||
{
|
||||
#if CC_ENABLE_SCRIPT_BINDING
|
||||
if (kScriptTypeNone != _scriptType)
|
||||
if (kScriptTypeLua == _scriptType)
|
||||
{
|
||||
TouchScriptData data(eventType, this, touch);
|
||||
ScriptEvent event(kTouchEvent, &data);
|
||||
return ScriptEngineManager::getInstance()->getScriptEngine()->sendEvent(&event);
|
||||
TouchScriptData data(eventType, this, touch, event);
|
||||
ScriptEvent scriptEvent(kTouchEvent, &data);
|
||||
return ScriptEngineManager::getInstance()->getScriptEngine()->sendEvent(&scriptEvent);
|
||||
}
|
||||
#endif
|
||||
//can not reach it
|
||||
return 0;
|
||||
}
|
||||
|
||||
int Layer::executeScriptTouchesHandler(EventTouch::EventCode eventType, const std::vector<Touch*>& touches)
|
||||
int Layer::executeScriptTouchesHandler(EventTouch::EventCode eventType, const std::vector<Touch*>& touches, Event* event)
|
||||
{
|
||||
#if CC_ENABLE_SCRIPT_BINDING
|
||||
if (kScriptTypeNone != _scriptType)
|
||||
if (kScriptTypeLua == _scriptType)
|
||||
{
|
||||
TouchesScriptData data(eventType, this, touches);
|
||||
ScriptEvent event(kTouchesEvent, &data);
|
||||
return ScriptEngineManager::getInstance()->getScriptEngine()->sendEvent(&event);
|
||||
TouchesScriptData data(eventType, this, touches, event);
|
||||
ScriptEvent scriptEvent(kTouchesEvent, &data);
|
||||
return ScriptEngineManager::getInstance()->getScriptEngine()->sendEvent(&scriptEvent);
|
||||
}
|
||||
#endif
|
||||
return 0;
|
||||
|
@ -325,105 +325,105 @@ void Layer::setKeypadEnabled(bool enabled)
|
|||
}
|
||||
/// Callbacks
|
||||
|
||||
bool Layer::onTouchBegan(Touch *touch, Event *unused_event)
|
||||
bool Layer::onTouchBegan(Touch *touch, Event *event)
|
||||
{
|
||||
#if CC_ENABLE_SCRIPT_BINDING
|
||||
if (kScriptTypeNone != _scriptType)
|
||||
if (kScriptTypeLua == _scriptType)
|
||||
{
|
||||
return executeScriptTouchHandler(EventTouch::EventCode::BEGAN, touch) == 0 ? false : true;
|
||||
return executeScriptTouchHandler(EventTouch::EventCode::BEGAN, touch, event) == 0 ? false : true;
|
||||
}
|
||||
#endif
|
||||
CC_UNUSED_PARAM(unused_event);
|
||||
CC_UNUSED_PARAM(event);
|
||||
CCASSERT(false, "Layer#ccTouchBegan override me");
|
||||
return true;
|
||||
}
|
||||
|
||||
void Layer::onTouchMoved(Touch *touch, Event *unused_event)
|
||||
void Layer::onTouchMoved(Touch *touch, Event *event)
|
||||
{
|
||||
#if CC_ENABLE_SCRIPT_BINDING
|
||||
if (kScriptTypeNone != _scriptType)
|
||||
if (kScriptTypeLua == _scriptType)
|
||||
{
|
||||
executeScriptTouchHandler(EventTouch::EventCode::MOVED, touch);
|
||||
executeScriptTouchHandler(EventTouch::EventCode::MOVED, touch, event);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
CC_UNUSED_PARAM(unused_event);
|
||||
CC_UNUSED_PARAM(event);
|
||||
}
|
||||
|
||||
void Layer::onTouchEnded(Touch *touch, Event *unused_event)
|
||||
void Layer::onTouchEnded(Touch *touch, Event *event)
|
||||
{
|
||||
#if CC_ENABLE_SCRIPT_BINDING
|
||||
if (kScriptTypeNone != _scriptType)
|
||||
if (kScriptTypeLua == _scriptType)
|
||||
{
|
||||
executeScriptTouchHandler(EventTouch::EventCode::ENDED, touch);
|
||||
executeScriptTouchHandler(EventTouch::EventCode::ENDED, touch, event);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
CC_UNUSED_PARAM(unused_event);
|
||||
CC_UNUSED_PARAM(event);
|
||||
}
|
||||
|
||||
void Layer::onTouchCancelled(Touch *touch, Event *unused_event)
|
||||
void Layer::onTouchCancelled(Touch *touch, Event *event)
|
||||
{
|
||||
#if CC_ENABLE_SCRIPT_BINDING
|
||||
if (kScriptTypeNone != _scriptType)
|
||||
if (kScriptTypeLua == _scriptType)
|
||||
{
|
||||
executeScriptTouchHandler(EventTouch::EventCode::CANCELLED, touch);
|
||||
executeScriptTouchHandler(EventTouch::EventCode::CANCELLED, touch, event);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
CC_UNUSED_PARAM(unused_event);
|
||||
CC_UNUSED_PARAM(event);
|
||||
}
|
||||
|
||||
void Layer::onTouchesBegan(const std::vector<Touch*>& touches, Event *unused_event)
|
||||
void Layer::onTouchesBegan(const std::vector<Touch*>& touches, Event *event)
|
||||
{
|
||||
#if CC_ENABLE_SCRIPT_BINDING
|
||||
if (kScriptTypeNone != _scriptType)
|
||||
if (kScriptTypeLua == _scriptType)
|
||||
{
|
||||
executeScriptTouchesHandler(EventTouch::EventCode::BEGAN, touches);
|
||||
executeScriptTouchesHandler(EventTouch::EventCode::BEGAN, touches, event);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
CC_UNUSED_PARAM(unused_event);
|
||||
CC_UNUSED_PARAM(event);
|
||||
}
|
||||
|
||||
void Layer::onTouchesMoved(const std::vector<Touch*>& touches, Event *unused_event)
|
||||
void Layer::onTouchesMoved(const std::vector<Touch*>& touches, Event *event)
|
||||
{
|
||||
#if CC_ENABLE_SCRIPT_BINDING
|
||||
if (kScriptTypeNone != _scriptType)
|
||||
if (kScriptTypeLua == _scriptType)
|
||||
{
|
||||
executeScriptTouchesHandler(EventTouch::EventCode::MOVED, touches);
|
||||
executeScriptTouchesHandler(EventTouch::EventCode::MOVED, touches, event);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
CC_UNUSED_PARAM(unused_event);
|
||||
CC_UNUSED_PARAM(event);
|
||||
}
|
||||
|
||||
void Layer::onTouchesEnded(const std::vector<Touch*>& touches, Event *unused_event)
|
||||
void Layer::onTouchesEnded(const std::vector<Touch*>& touches, Event *event)
|
||||
{
|
||||
#if CC_ENABLE_SCRIPT_BINDING
|
||||
if (kScriptTypeNone != _scriptType)
|
||||
if (kScriptTypeLua == _scriptType)
|
||||
{
|
||||
executeScriptTouchesHandler(EventTouch::EventCode::ENDED, touches);
|
||||
executeScriptTouchesHandler(EventTouch::EventCode::ENDED, touches, event);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
CC_UNUSED_PARAM(unused_event);
|
||||
CC_UNUSED_PARAM(event);
|
||||
}
|
||||
|
||||
void Layer::onTouchesCancelled(const std::vector<Touch*>& touches, Event *unused_event)
|
||||
void Layer::onTouchesCancelled(const std::vector<Touch*>& touches, Event *event)
|
||||
{
|
||||
#if CC_ENABLE_SCRIPT_BINDING
|
||||
if (kScriptTypeNone != _scriptType)
|
||||
if (kScriptTypeLua == _scriptType)
|
||||
{
|
||||
executeScriptTouchesHandler(EventTouch::EventCode::CANCELLED, touches);
|
||||
executeScriptTouchesHandler(EventTouch::EventCode::CANCELLED, touches, event);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
CC_UNUSED_PARAM(unused_event);
|
||||
CC_UNUSED_PARAM(event);
|
||||
}
|
||||
|
||||
std::string Layer::getDescription() const
|
||||
|
|
|
@ -171,8 +171,8 @@ protected:
|
|||
void _addTouchListener();
|
||||
|
||||
CC_DEPRECATED_ATTRIBUTE void addTouchListener() { _addTouchListener();};
|
||||
CC_DEPRECATED_ATTRIBUTE int executeScriptTouchHandler(EventTouch::EventCode eventType, Touch* touch);
|
||||
CC_DEPRECATED_ATTRIBUTE int executeScriptTouchesHandler(EventTouch::EventCode eventType, const std::vector<Touch*>& touches);
|
||||
CC_DEPRECATED_ATTRIBUTE int executeScriptTouchHandler(EventTouch::EventCode eventType, Touch* touch, Event* event);
|
||||
CC_DEPRECATED_ATTRIBUTE int executeScriptTouchesHandler(EventTouch::EventCode eventType, const std::vector<Touch*>& touches, Event* event);
|
||||
|
||||
bool _touchEnabled;
|
||||
bool _accelerometerEnabled;
|
||||
|
|
|
@ -258,16 +258,18 @@ struct TouchesScriptData
|
|||
EventTouch::EventCode actionType;
|
||||
void* nativeObject;
|
||||
const std::vector<Touch*>& touches;
|
||||
Event* event;
|
||||
|
||||
// Constructor
|
||||
/**
|
||||
* @js NA
|
||||
* @lua NA
|
||||
*/
|
||||
TouchesScriptData(EventTouch::EventCode inActionType, void* inNativeObject, const std::vector<Touch*>& inTouches)
|
||||
TouchesScriptData(EventTouch::EventCode inActionType, void* inNativeObject, const std::vector<Touch*>& inTouches, Event* evt)
|
||||
: actionType(inActionType),
|
||||
nativeObject(inNativeObject),
|
||||
touches(inTouches)
|
||||
touches(inTouches),
|
||||
event(evt)
|
||||
{
|
||||
}
|
||||
};
|
||||
|
@ -277,16 +279,18 @@ struct TouchScriptData
|
|||
EventTouch::EventCode actionType;
|
||||
void* nativeObject;
|
||||
Touch* touch;
|
||||
Event* event;
|
||||
|
||||
// Constructor
|
||||
/**
|
||||
* @js NA
|
||||
* @lua NA
|
||||
*/
|
||||
TouchScriptData(EventTouch::EventCode inActionType, void* inNativeObject, Touch* inTouch)
|
||||
TouchScriptData(EventTouch::EventCode inActionType, void* inNativeObject, Touch* inTouch, Event* evt)
|
||||
: actionType(inActionType),
|
||||
nativeObject(inNativeObject),
|
||||
touch(inTouch)
|
||||
touch(inTouch),
|
||||
event(evt)
|
||||
{
|
||||
}
|
||||
};
|
||||
|
|
|
@ -581,6 +581,11 @@ void Layout::setBackGroundImageScale9Enabled(bool able)
|
|||
setBackGroundImageCapInsets(_backGroundImageCapInsets);
|
||||
}
|
||||
|
||||
bool Layout::isBackGroundImageScale9Enabled()
|
||||
{
|
||||
return _backGroundScale9Enabled;
|
||||
}
|
||||
|
||||
void Layout::setBackGroundImage(const char* fileName,TextureResType texType)
|
||||
{
|
||||
if (!fileName || strcmp(fileName, "") == 0)
|
||||
|
|
|
@ -41,9 +41,14 @@
|
|||
- [Bind the classes with namespace to lua](#bind-the-classes-with-namespace-to-lua)
|
||||
- [Use ScriptHandlerMgr to manage the register and unregister of Lua function](#use-scripthandlermgr-to-manage-the-register-and-unregister-of-lua-function)
|
||||
- [Misc API changes](#misc-api-changes-1)
|
||||
- [Use cc、ccs、ccui and sp as module name](#use-ccccsccui-and-sp-as-module-name)
|
||||
- [Use cc、ccs、ccui、gl and sp as module name](#use-ccccsccuigl-and-sp-as-module-name)
|
||||
- [Modified functions](#modified-functions)
|
||||
- [Add some modules](#add-some-modules)
|
||||
- [Add more lua bindings](#add-more-lua-bindings)
|
||||
- [Replace some lua-bindings of Class or Struct with lua table](#replace-the-lua-bindings-of-class-or-struct-with-lua-table)
|
||||
- [Other Changes](#other-changes)
|
||||
- [Support lua script codes call Obeject-C codes and Java codes](#support-lua-script-codes-call-OC-codes-and-Java-codes)
|
||||
- [Add some lua files to store the constants of different modules](#add-some-lua-files-to-store-the-constants-of-different-modules)
|
||||
|
||||
# Misc Information
|
||||
|
||||
|
@ -607,7 +612,7 @@ ScriptHandlerMgr:getInstance():registerScriptHandler(menuItem, luafunction,cc.HA
|
|||
|
||||
## Misc API changes
|
||||
|
||||
### Use `cc`、`ccs`、`ccui` and `sp` as module name
|
||||
### Use `cc`、`ccs`、`ccui` `gl` and `sp` as module name
|
||||
|
||||
Now classes are binded into different modules instead of using global module. This will avoid conflicts with other codes.
|
||||
|
||||
|
@ -616,6 +621,7 @@ Now classes are binded into different modules instead of using global module. Th
|
|||
* classes in `spine` were bound to `sp` module
|
||||
* classes in `cocostudio` were bound to `ccs` module
|
||||
* global variables are binded to corresponding modules
|
||||
* all funcionts and constants about `openGl` were bound to `gl` module
|
||||
|
||||
Examples:
|
||||
|
||||
|
@ -628,12 +634,14 @@ Examples:
|
|||
|
||||
Some global function names are renamed:
|
||||
|
||||
Examples:
|
||||
|
||||
| v2.1 | v3.0 |
|
||||
| CCPoint/ccp | cc.p |
|
||||
| CCRect | cc.rect |
|
||||
| CCColor3B | cc.c3b |
|
||||
| CCColor4B | cc.c4b |
|
||||
| TODO: add others
|
||||
| CCColor4F | cc.c4f |
|
||||
|
||||
### Add some modules
|
||||
|
||||
|
@ -642,9 +650,45 @@ In the version 3.0, more modules were bound to lua, specific as follows:
|
|||
* physics
|
||||
* spine
|
||||
* XMLHttpRequest
|
||||
* OpenGL
|
||||
|
||||
The `XMLHttpRequest` and `physics` are in the `cc` module, and the `spine` is in the `sp` module. Related test cases located in:
|
||||
The `XMLHttpRequest` and `physics` are in the `cc` module, the `spine` is in the `sp` module, and the `OpenGl` is in the `gl` module. Related test cases located in:
|
||||
|
||||
* physics ---> TestLua/PhysicsTest
|
||||
* spine ---> TestLua/SpineTest
|
||||
* XMLHttpRequest ---> TestLua/XMLHttpRequestTest
|
||||
* openGL ---> TestLua/OpenGLTest
|
||||
|
||||
### Add more lua bindings
|
||||
Such as: New Label、New EventDispatcher and AssetsManager,etc.Related test cases located in:
|
||||
|
||||
* New Lable ---> TestLua/LabelTestNew
|
||||
* New EventDispatcher --->TestLua/NewEventDispatcherTest
|
||||
* AssetsManager ---> TestLua/AssetsManagerTest
|
||||
|
||||
### Replace some lua-bindings of Class or Struct with lua table
|
||||
In the version 3.0, all the lua-binding of Struct type were replaced with the lua table
|
||||
|
||||
Examples:
|
||||
|
||||
| v2.1 | v3.0 |
|
||||
| CCPoint | lua table |
|
||||
| CCRect | lua table |
|
||||
| CCColor3B | lua table |
|
||||
| CCColor4B | lua table |
|
||||
| CCColor4F | lua table |
|
||||
| CCAffineTransform | lua table |
|
||||
| CCArray | lua table |
|
||||
| CCDictionary | lua table |
|
||||
| CCPointArray | lua table |
|
||||
|
||||
### Support lua script codes call Object-C codes and Java codes
|
||||
`LuaObjcBridge` and `LuaJavaBridge` bound to lua surpported lua script codes calls Object-C codes and java codes.
|
||||
|
||||
### Add some lua files to store the constants of different modules
|
||||
|
||||
* Cocos2DConstants.lua store the constants of `cc` moudle
|
||||
* StudioConstants.lua store the constants of `ccs` moudle
|
||||
* GuiConstants.lua store the constants of `ccui` moudle
|
||||
* OpenglConstants.lua store the constants of `gl` moudle
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ import sys
|
|||
from optparse import OptionParser
|
||||
|
||||
COCOS_CONSOLE_ROOT = 'COCOS_CONSOLE_ROOT'
|
||||
NDK_ROOT = 'NDK_ROOT1'
|
||||
NDK_ROOT = 'NDK_ROOT'
|
||||
|
||||
|
||||
class SetEnvVar:
|
||||
|
|
2
plugin
2
plugin
|
@ -1 +1 @@
|
|||
Subproject commit a914bd4ca3416e0a91f88a0ad906559a5140a5bb
|
||||
Subproject commit 3c325c4198e0e65764602a60c807d7e07e26f066
|
|
@ -1 +1 @@
|
|||
Subproject commit 22610d69034bc7d858bdd2cc759c2cd9237c70eb
|
||||
Subproject commit 2ee95f1cc0a874d690659409923b2f017a1336cc
|
|
@ -0,0 +1,95 @@
|
|||
#Github pull reqest builder for Jenkins
|
||||
|
||||
import json
|
||||
import re
|
||||
import os
|
||||
import requests
|
||||
import sys
|
||||
import traceback
|
||||
import urllib2
|
||||
|
||||
def main():
|
||||
#get payload from os env
|
||||
payload_str = os.environ['payload']
|
||||
#parse to json obj
|
||||
payload = json.loads(payload_str)
|
||||
|
||||
comment = payload['comment']
|
||||
#get comment body
|
||||
comment_body = comment['body']
|
||||
print comment_body
|
||||
pattern = re.compile("\[ci(\s+)rebuild\]", re.I)
|
||||
result = pattern.search(comment_body)
|
||||
if result is None:
|
||||
print 'skip build for pull request #' + str(pr_num)
|
||||
return(0)
|
||||
|
||||
issue = payload['issue']
|
||||
#get pull number
|
||||
pr_num = issue['number']
|
||||
print 'pr_num:' + str(pr_num)
|
||||
payload_forword = {"number":pr_num}
|
||||
|
||||
#build for pull request action 'open' and 'synchronize', skip 'close'
|
||||
action = issue['state']
|
||||
print 'action: ' + action
|
||||
payload_forword['action'] = action
|
||||
|
||||
pr = issue['pull_request']
|
||||
url = pr['html_url']
|
||||
print "url:" + url
|
||||
payload_forword['html_url'] = url
|
||||
|
||||
#get pull request info
|
||||
req = 'https://api.github.com/repos/cocos2d/cocos2d-x/pulls/' + str(pr_num)
|
||||
pr_payload = ''
|
||||
try:
|
||||
pr_payload = urllib2.urlopen(req).read()
|
||||
except:
|
||||
traceback.print_exc()
|
||||
|
||||
repository = json.loads(pr_payload)
|
||||
#get statuses url
|
||||
statuses_url = repository['statuses_url']
|
||||
payload_forword['statuses_url'] = statuses_url
|
||||
print 'statuses_url: ' + statuses_url
|
||||
|
||||
#get pr target branch
|
||||
branch = repository['base']['ref']
|
||||
payload_forword['branch'] = branch
|
||||
print 'branch: ' + branch
|
||||
|
||||
#set commit status to pending
|
||||
target_url = os.environ['JOB_PULL_REQUEST_BUILD_URL']
|
||||
|
||||
if(action == 'closed'):
|
||||
print 'pull request #' + str(pr_num) + ' is '+action+', no build triggered'
|
||||
return(0)
|
||||
|
||||
data = {"state":"pending", "target_url":target_url}
|
||||
access_token = os.environ['GITHUB_ACCESS_TOKEN']
|
||||
Headers = {"Authorization":"token " + access_token}
|
||||
|
||||
try:
|
||||
requests.post(statuses_url, data=json.dumps(data), headers=Headers)
|
||||
except:
|
||||
traceback.print_exc()
|
||||
|
||||
job_trigger_url = os.environ['JOB_TRIGGER_URL']
|
||||
#send trigger and payload
|
||||
post_data = {'payload':""}
|
||||
post_data['payload']= json.dumps(payload_forword)
|
||||
requests.post(job_trigger_url, data=post_data)
|
||||
|
||||
return(0)
|
||||
|
||||
# -------------- main --------------
|
||||
if __name__ == '__main__':
|
||||
sys_ret = 0
|
||||
try:
|
||||
sys_ret = main()
|
||||
except:
|
||||
traceback.print_exc()
|
||||
sys_ret = 1
|
||||
finally:
|
||||
sys.exit(sys_ret)
|
Загрузка…
Ссылка в новой задаче