소스 검색

Merge branch '3.8' into 3.9-beta

badlogic 5 년 전
부모
커밋
c90ca1b08c
2개의 변경된 파일8개의 추가작업 그리고 7개의 파일을 삭제
  1. 6 2
      spine-cocos2dx/src/spine/SkeletonRenderer.cpp
  2. 2 5
      spine-cpp/spine-cpp/src/spine/Skeleton.cpp

+ 6 - 2
spine-cocos2dx/src/spine/SkeletonRenderer.cpp

@@ -766,10 +766,14 @@ namespace spine {
 		return _skeleton->getAttachment(slotName.c_str(), attachmentName.c_str());
 	}
 	bool SkeletonRenderer::setAttachment (const std::string& slotName, const std::string& attachmentName) {
-		return _skeleton->getAttachment(slotName.c_str(), attachmentName.empty() ? 0 : attachmentName.c_str()) ? true : false;
+		bool result = _skeleton->getAttachment(slotName.c_str(), attachmentName.empty() ? 0 : attachmentName.c_str()) ? true : false;
+		_skeleton->setAttachment(slotName.c_str(), attachmentName.empty() ? 0 : attachmentName.c_str());
+		return result;
 	}
 	bool SkeletonRenderer::setAttachment (const std::string& slotName, const char* attachmentName) {
-		return _skeleton->getAttachment(slotName.c_str(), attachmentName) ? true : false;
+		bool result = _skeleton->getAttachment(slotName.c_str(), attachmentName) ? true : false;
+		_skeleton->setAttachment(slotName.c_str(), attachmentName);
+		return result;
 	}
 
 	void SkeletonRenderer::setTwoColorTint(bool enabled) {

+ 2 - 5
spine-cpp/spine-cpp/src/spine/Skeleton.cpp

@@ -303,10 +303,7 @@ int Skeleton::findSlotIndex(const String &slotName) {
 }
 
 void Skeleton::setSkin(const String &skinName) {
-	Skin *foundSkin = _data->findSkin(skinName);
-
-	assert(foundSkin != NULL);
-
+	Skin *foundSkin = skinName.isEmpty() ? NULL : _data->findSkin(skinName);
 	setSkin(foundSkin);
 }
 
@@ -340,7 +337,7 @@ Attachment *Skeleton::getAttachment(const String &slotName, const String &attach
 }
 
 Attachment *Skeleton::getAttachment(int slotIndex, const String &attachmentName) {
-	assert(attachmentName.length() > 0);
+	if (attachmentName.isEmpty()) return NULL;
 
 	if (_skin != NULL) {
 		Attachment *attachment = _skin->getAttachment(slotIndex, attachmentName);