// on "init" you need to initialize your instance
bool HelloWorld::init()
{
    //////////////////////////////
    // 1. super init first
    if ( !Layer::init() )
    {
        return false;
    }
    
//    Size visibleSize = Director::getInstance()->getVisibleSize();
    Vec2 origin = Director::getInstance()->getVisibleOrigin();
    
    registerControllerListener();

    return true;
}
bool GameControllerTest::init()
{
    if ( !Layer::init() )
        return false;

    _currControllerCount = 0;

    _visibleSize = Director::getInstance()->getVisibleSize();
    _visibleOrigin = Director::getInstance()->getVisibleOrigin();


    auto tmpPos = Vec2(_visibleSize / 2) + _visibleOrigin;

    _visibleCentreX = _visibleOrigin.x + _visibleSize.width / 2;
    _visibleCentreY = _visibleOrigin.y + _visibleSize.height / 2;
    _visibleQuarterX = _visibleOrigin.x + _visibleSize.width / 4;
    _visibleThreeQuarterX = _visibleOrigin.x + _visibleSize.width * 0.75f;

    _firstHolder.controller = nullptr;
    _secondHolder.controller = nullptr;

    createControllerSprite(_firstHolder);
    _firstHolder._holderNode->setAnchorPoint(Vec2::ANCHOR_MIDDLE);
    _firstHolder._holderNode->setPosition(tmpPos);
    this->addChild(_firstHolder._holderNode);

    auto closeItem = MenuItemImage::create("CloseNormal.png", "CloseSelected.png", CC_CALLBACK_1(GameControllerTest::menuCloseCallback, this));
    closeItem->setPosition(_visibleOrigin + _visibleSize - closeItem->getContentSize() / 2);

    auto menu = Menu::create(closeItem,nullptr);
    menu->setPosition(Vec2::ZERO);
    this->addChild(menu);

    registerControllerListener();

    return true;
}