Skip to content

Commit

Permalink
Merge pull request #101 from AirtestProject/cy
Browse files Browse the repository at this point in the history
Cy
  • Loading branch information
yimelia authored May 20, 2022
2 parents 448054c + 2f52529 commit 21e9b35
Show file tree
Hide file tree
Showing 2 changed files with 119 additions and 31 deletions.
133 changes: 106 additions & 27 deletions cocos2dx-c++/sdk/Private/node.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
#include<iostream>
#include<regex>
#include "sdk/Public/node.h"
#include <cocos/ui/UIButton.h>
#include <cocos/ui/UITextField.h>
#include <cocos/ui/UIScale9Sprite.h>
#include <cocos/ui/UISlider.h>
using namespace ui;
using namespace cocos2d;
using namespace rapidjson;

Expand Down Expand Up @@ -59,8 +64,12 @@ void NeteaseNode::getSize(float* data)
}
size.width = size.width / _screenSize.width;
size.height = size.height / _screenSize.height;
data[0] = size.width;
data[1] = size.height;
//data[0] = size.width;
//data[1] = size.height;

auto glView = Director::getInstance()->getOpenGLView();
data[0] = size.width * glView->getScaleX();
data[1] = size.height * glView->getScaleY();
}

void NeteaseNode::getScale(float* data)
Expand Down Expand Up @@ -152,7 +161,6 @@ void NeteaseNode::getChildren(Writer<StringBuffer>& writer){
writer.StartArray();

#if COCOS2D_VERSION >= 0x00020100 && COCOS2D_VERSION < 0x00030000
CCLOG("into 1");
CCObject* child;
CCARRAY_FOREACH(_node->getChildren(), child)
{
Expand All @@ -167,11 +175,9 @@ void NeteaseNode::getChildren(Writer<StringBuffer>& writer){
writer.EndObject();
}
#else
CCLOG("into 2");
Label* label = dynamic_cast<Label*>(_node);
for (auto& child : _node->getChildren()) {
if (label != NULL) {
// 这个应该是游戏里面的sprite对象
Sprite* sprite = dynamic_cast<Sprite*>(child);
if (sprite != NULL) {
//not parse Sprite under Label
Expand All @@ -194,11 +200,8 @@ void NeteaseNode::getChildren(Writer<StringBuffer>& writer){

void NeteaseNode::setDumpString(Writer<StringBuffer>& writer)
{
int nodeType = -1;
getNodeType(nodeType);

int nodeType = getNodeType();
string nodeName = _node->getName();
CCLOG("NAME:%s", nodeName.c_str());

writer.Key("name");
writer.String(nodeName.c_str());
Expand All @@ -216,7 +219,7 @@ void NeteaseNode::getPayload(string nodeName, int nodeType, Writer<StringBuffer>
writer.StartArray();
writer.Int(this->getScreenWidth());
writer.Int(this->getScreenHeight());
CCLOG("ScreenSize: %d, %d", this->getScreenWidth(), this->getScreenHeight());
//CCLOG("ScreenSize: %d, %d", this->getScreenWidth(), this->getScreenHeight());
writer.EndArray();

writer.Key("rotation");
Expand Down Expand Up @@ -337,52 +340,114 @@ void NeteaseNode::getPayload(string nodeName, int nodeType, Writer<StringBuffer>
writer.EndObject();
}

void NeteaseNode::getNodeType(int& nodeType)
{
int NeteaseNode::getNodeType() {
int nodeType = -10;
Layer* layer = dynamic_cast<Layer*>(_node);
if (layer != nullptr) {
nodeType = N_Layer; //这个地方不太确定
return;
nodeType = N_Layer;
return nodeType;
}

MenuItem* menuItem = dynamic_cast<MenuItem*>(_node);
if (menuItem != nullptr) {
nodeType = N_MenuItem;
return;
return nodeType;
}

Scene* scene = dynamic_cast<Scene*>(_node);
if (scene != NULL) {
nodeType = N_Scene;
return;
return nodeType;
}

AtlasNode* atlas = dynamic_cast<AtlasNode*>(_node);
if (atlas != NULL) {
nodeType = N_AtlasNode;
return;
return nodeType;
}

LabelTTF* ttf = dynamic_cast<LabelTTF*>(_node);
if (ttf != NULL) {
nodeType = N_LabelTTF;
return;
return nodeType;
}

SpriteBatchNode* batch = dynamic_cast<SpriteBatchNode*>(_node);
if (batch != NULL) {
nodeType = N_SpriteBatchNode;
return;
return nodeType;
}

Sprite* sprite = dynamic_cast<Sprite*>(_node);
if (sprite != NULL) {
nodeType = N_Sprite;
return;
return nodeType;
}

Slider* slider = dynamic_cast<Slider*>(_node);
if (slider != nullptr) {
nodeType = N_Slider;
return nodeType;
}

Label* label = dynamic_cast<Label*>(_node);
if (label != nullptr) {
nodeType = N_Lable;
return nodeType;
}

ProgressTimer* processTimer = dynamic_cast<ProgressTimer*>(_node);
if (processTimer != nullptr) {
nodeType = N_ProgressTimer;
return nodeType;
}

TextField* textField = dynamic_cast<TextField*>(_node);
if (textField != nullptr) {
nodeType = N_TextField;
return nodeType;
}

ClippingNode* clippingNode = dynamic_cast<ClippingNode*>(_node);
if (clippingNode != nullptr) {
nodeType = N_ClippingNode;
return nodeType;
}

LayerColor* layerColor = dynamic_cast<LayerColor*>(_node);
if (layerColor != nullptr) {
nodeType = N_LayerColor;
return nodeType;
}

LabelBMFont* layerBMFont = dynamic_cast<LabelBMFont*>(_node);
if (layerBMFont != nullptr) {
nodeType = N_LableBMFont;
return nodeType;
}

Image* image = dynamic_cast<Image*>(_node);
if (image != nullptr) {
nodeType = N_Image;
return nodeType;
}

Scale9Sprite* scale9Sprite = dynamic_cast<Scale9Sprite*>(_node);
if (scale9Sprite != nullptr) {
nodeType = N_Scale9Sprite;
return nodeType;
}

Button* button = dynamic_cast<Button*>(_node);
if (button != nullptr) {
nodeType = N_Button;
return nodeType;
}

nodeType = N_Unknown;
return;
return nodeType;
}

string NeteaseNode::getNodeTypeStr(int nodeType)
{
switch (nodeType) {
Expand All @@ -407,13 +472,27 @@ string NeteaseNode::getNodeTypeStr(int nodeType)
case 9:
return "GuideTouchNode";
case 10:
return "INode";
return "Slider";
case 11:
return "Label";
case 12:
return "ProgressTimer";
case 13:
return "ClippingNode";
case 14:
return "TextField";
case 15:
return "LayerColor";
case 16:
return "LableBMFont";
case 17:
return "Image";
case 18:
return "Scale9Sprite";
case 19:
return "Button";

default:
return "Control";
}
}

void NeteaseNode::doClick(vector<float>& data) noexcept
{

}
17 changes: 13 additions & 4 deletions cocos2dx-c++/sdk/Public/node.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,20 @@ enum NodeType {
N_LabelTTF = 5,
N_SpriteBatchNode = 6,
N_Sprite = 7,

N_Guide = 8,
N_GuideTouchNode = 9,
N_INode = 10

N_Slider = 10,
N_Lable = 11,
N_ProgressTimer = 12,
N_ClippingNode = 13,
N_TextField = 14,
N_LayerColor = 15,
N_LableBMFont = 16,
N_Image = 17,
N_Scale9Sprite = 18,
N_Button = 19,
};


Expand Down Expand Up @@ -54,14 +65,12 @@ class NeteaseNode {

void getPayload(string nodeName, int nodeType, Writer<StringBuffer>& writer);

void getNodeType(int& nodeType);
int getNodeType();

string getNodeTypeStr(int nodeType);

float getScreenWidth() { return _screenSize.width; }

float getScreenHeight() { return _screenSize.height; }

void doClick(vector<float>& data) noexcept;

};

0 comments on commit 21e9b35

Please sign in to comment.