ctor(sdkCard) {
    // initialize properties that may be required in init
    this._statChangeQueue = [];
    this._containerNode = new cc.Node();
    const contentSize = cc.size(CONFIG.HAND_CARD_SIZE, CONFIG.HAND_CARD_SIZE);

    // card background
    this.cardBackgroundSprite = BaseSprite.create(RSX.bottom_deck_card_background.img);
    this.cardBackgroundSprite.setAnchorPoint(0.5, 0.5);
    this.cardBackgroundSprite.setPosition(cc.p(contentSize.width * 0.5, contentSize.height * 0.5));

    // shadow
    this.shadowSprite = BaseSprite.create(RSX.unit_shadow.img);
    this.shadowSprite.setOpacity(0.0);

    // mana token
    this.manaTokenSprite = BaseSprite.create(RSX.icon_mana.img);
    this.manaTokenSprite.setAnchorPoint(0.49, 0.45);
    this.manaTokenSprite.setPosition(cc.p(contentSize.width * 0.5, contentSize.height * 0.5 - 50.0));
    this.manaTokenSprite.setScale(0.65);

    // mana cost
    this.manaCostLabel = new cc.LabelTTF('', RSX.font_bold.name, 18);
    this.manaCostLabel.setAnchorPoint(0.5, 0.5);
    this.manaCostLabel.setPosition(this.manaTokenSprite.getPosition());
    this.manaCostLabel.setOpacity(0);

    // glow rings
    this._glowRings = BaseParticleSystem.create(RSX.ptcl_ring_glow_circle.plist);
    this._glowRings.setPosition(cc.p(contentSize.width * 0.5, contentSize.height * 0.5));
    this._glowRings.setPositionType(cc.ParticleSystem.TYPE_RELATIVE);
    this._glowRings.stopSystem();

    // do super ctor
    this._super(sdkCard);

    // setup support nodes
    this.initSupportNodes();

    // set content size to match tile size
    // this must be done after the cocos/super ctor
    this.setContentSize(contentSize);

    // add children after cocos/super ctor
    this.addChild(this._containerNode);
    this._containerNode.addChild(this.cardBackgroundSprite, -3);
    this._containerNode.addChild(this.shadowSprite, -2);
    this._containerNode.addChild(this._glowRings, -1);
    this._containerNode.addChild(this.manaTokenSprite, -1);
    this._containerNode.addChild(this.manaCostLabel, -1);

    this._statsChangeNode.setPosition(cc.p(contentSize.width * 0.5, contentSize.height * 0.5));
    this.addChild(this._statsChangeNode, 1);
  }
*************************************************************************
BottomDeckCardNode
var BottomDeckCardNode = SdkNode
BottomDeckCardNode.create()
 - node used to display cards in bottom deck / hand
**************************************************************************