void PrepareLayer::backFromShopLayer(CCObject *pSender) { initItem(0); // initItem(1); setCoin(); this->m_menu->setEnabled(true); }
bool G::CostCoin(int coinCost){ if (coinCost>getCoin()) { return false; } setCoin(getCoin()-coinCost); return true; }
void FEInitiator::makeCoin(Wallet* wallet, const ZZ& R) { // get a coin #ifdef TIMER startTimer(); #endif Coin coin = wallet->nextCoin(R); #ifdef TIMER printTimer("Coin generation"); #endif setCoin(coin); }
void PrepareLayer::purchaseSuccess(const char* str) { if(strcmp(str,"12") ==0) { this->removeChildByTag(12313154); int moneyCount = GameConfigData::initialGameData().getCoinValue(); moneyCount+=4000; GameConfigData::initialGameData().setCoinValue(moneyCount); setCoin(); } else if(strcmp(str,"8") ==0) { int moneyCount = GameConfigData::initialGameData().getCoinValue(); moneyCount+=6000; GameConfigData::initialGameData().setCoinValue(moneyCount); this->removeChildByTag(12313133); GameConfigData::initialGameData().setCurHeroLevel(HERO_MAXLEVEL); int curLevel = GameConfigData::initialGameData().getCurHeroLevel(); if (curLevel >= HERO_MAXLEVEL) { CCMenuItemSprite *upItem = (CCMenuItemSprite *) m_menu->getChildByTag(103); if(upItem) { upItem->setVisible(false); } CCMenuItemSprite *sureItem = (CCMenuItemSprite *) m_menu->getChildByTag(107); if(sureItem) { sureItem->setVisible(true); } if (this->getChildByTag(1430)) { this->getChildByTag(1430)->setVisible(false); } playUpEffect(HERO_MAXLEVEL); } } }
void ledCube8_Game::init() { if(coinAmount > 16) { coinAmount = 16; } for(int i = 0;i<coinAmount;i++) { coin[i].X = random(1,8); coin[i].Y = random(1,8); coin[i].Z = random(1,8); setCoin(coin[i]); } for(int i=0;i<playerAmount; i++) { setPlayer(pos[i]); } calculate(); //send(); // }
void GameMapRecrusive::makeMap(int mLevel, int vLevel) { m_mLevel = mLevel; m_vLevel = vLevel; //10*20 -> 20*20 -> 20*30 -> 30*30 m_mapRows = 10* (vLevel/2+1); m_mapCols = 20+10*vLevel/2; m_mapCols = min(50, m_mapCols); m_roomSize = 5;//5-vLevel/3;//3 + vLevel/2; m_roomSize = max(3, m_roomSize); m_mineCount = 5 + 20*vLevel; m_coinCount = 5+vLevel;// + 10*vLevel; m_propCount = 5+vLevel;// + 10*vLevel; // m_hallMin = max(2, 5 - vLevel/2); // m_objects.resize(m_mapRows); for(int r=0; r<m_mapRows; ++r) { m_objects[r].resize(m_mapCols); for(int c=0; c<m_mapCols; ++c) { MapCell* cell = MapCell::create(); cell->setPosition(Point(c*m_tw, r*m_th) + Point(0, m_th) /*+ m_border*/); cell->setLocalZOrder((m_mapRows-r-1)*m_mapCols + c); addChild(cell); m_objects[r][c] = cell; } } // this->setContentSize(Size(m_mapCols*m_tw/*+m_border.width*2*/, m_mapRows*m_th/*+m_border.height*2*/)); generate(0, 0, m_mapRows, m_mapCols); while(m_mineCount>0) { int r = rand()% (m_mapRows-2)+1; int c = rand()% (m_mapCols-2)+1; setTrap(r, c); } while(m_coinCount>0) { int r = rand()% (m_mapRows-2)+1; int c = rand()% (m_mapCols-2)+1; setCoin(r, c); } while(m_propCount > 0) { int r = rand()% (m_mapRows-2)+1; int c = rand()% (m_mapCols-2)+1; setProp(r, c); } for (int r = 0; r < m_mapRows; ++r) { for (int j=0; j < m_mapCols; ++j) { if (m_objects[r][j]->empty()) { if (rand()%100<70) { setSoil(r, j, false); } } } } // const Index2 pos(rand()%m_mapRows,0); m_pPlayer = Player::create(); m_pPlayer->setPosition(index2ToPoint(pos)+Point(m_tw/2, m_th/2)); addChild(m_pPlayer, m_mapRows*m_mapCols+1); m_objects[pos.first][pos.second]->clear(); for(auto x : getSurrounding(pos)) { m_objects[x.first][x.second]->clear(); } // ValueMap val; val["type"] = "LevelStair"; const Index2 win(rand()%m_mapRows, m_mapCols-1); m_objects[win.first][win.second]->clear(); m_objects[win.first][win.second]->pushObjBy(val); }
bool PrepareLayer::init() { CCSize size = ToolsFun::sharedTools()->getSceneSize(); //背景 CCSprite *spBkg = CCSprite::create("ui/shared/bkg.png"); this->addChild(spBkg,-1); spBkg->setPosition(size/2); //放置人物设定背景 CCSprite *spBkgHero = CCSprite::create("ui/prepareUI/mainbkg.png"); this->addChild(spBkgHero,-1); spBkgHero->setPosition(ccp(size.width/2,size.height - spBkgHero->getContentSize().height/2 - 50*gScaleY)); //购物 CCSprite *spBkgTop = CCSprite::create("ui/shared/top.png"); this->addChild(spBkgTop,0,108); spBkgTop->setPosition(ccp(size.width/2,size.height - spBkgTop->getContentSize().height/2)); //人物游戏记录背景 CCSprite *spRecoreBkg = CCSprite::create("ui/prepareUI/recordbkg.png"); this->addChild(spRecoreBkg,-1); spRecoreBkg->setPosition(ccp(315*gScaleX,600*gScaleY)); //spRecoreBkg->setScale(PRE_SCALE); //宠物,道具背景 for (int i=0;i!=1;++i) { CCSprite *sp = CCSprite::create("ui/shared/placeboard.png"); this->addChild(sp,-1); sp->setPosition(ccp(size.width/4 + i * size.width/2,165*gScaleY)); sp->setScale(1.10f); } int level = GameConfigData::initialGameData().getCurLevel(); int killTotal = 0; killTotal = atoi( GameConfigData::initialGameData().getKillTotal().c_str()); char buf[64]; sprintf(buf,"%d",killTotal); int levelMaxStr = GameConfigData::initialGameData().getMaxUnLockLevel(); string strs[4] = { GameConfigData::initialGameData().getHScores(), GameConfigData::initialGameData().getHLenght(), string(buf), ToolsFun::sharedTools()->intToString(levelMaxStr) }; for (int i=0;i!=4;++i) { CCLabelBMFont *hScores = CCLabelBMFont::create(strs[i].c_str() ,"font/white_30.fnt"); spRecoreBkg->addChild(hScores); hScores->setPosition(ccp(150*gScaleX,(165-8-38*i))*gScaleY); hScores->setAnchorPoint(ccp(0,0.5f)); } m_menu = CCMenu::create(); this->addChild(m_menu,1); m_menu->setPosition(CCPointZero); //所有按钮的放置 const char* fName[9] = { "ui/shared/back.png",//返回 "ui/shared/coinplus.png",//添加金币 "ui/prepareUI/head.png",//主角头像 "ui/prepareUI/upgrade.png",//升级按钮 "ui/shared/shop_item.png",//宠物1 "ui/shared/shop_item.png",//宠物2 "ui/shared/shop_item.png",//道具1 // "ui/shared/shop_item.png",//道具2 "ui/shared/confirm.png"//确定开始游戏 }; const CCPoint posArray[9] = { ccp(37*gScaleX,size.height-37*gScaleY),ccp(430*gScaleX,size.height-30*gScaleY),ccp(290*gScaleX,435*gScaleY),ccp(360*gScaleX,335*gScaleY), ccp(54*gScaleX,145*gScaleY),ccp(144*gScaleX,145*gScaleY),ccp(355*gScaleX,145*gScaleY),ccp(235*gScaleX,40*gScaleY),ccp(235*gScaleX,40*gScaleY) }; for (int i=0;i!=8;++i) { CCSprite *spNml = CCSprite::create(fName[i]); CCSprite *spSel = CCSprite::create(fName[i]); spSel->setColor(ccc3(80,80,80)); CCMenuItemSprite *itemSp = CCMenuItemSprite::create(spNml,spSel, this,menu_selector(PrepareLayer::menuTouch)); if(i==2) { m_menu->addChild(itemSp,1,100+i); itemSp->setPosition(posArray[i]); itemSp->setScale(0.8f); } else if(i ==3) { m_menu->addChild(itemSp,1,100+i); itemSp->setPosition(posArray[i]); itemSp->setScale(PRE_SCALE); CCLabelBMFont *upGrade = CCLabelBMFont::create(gGetLanguageDesc(K.UPGRADE_DES).c_str(),"font/upgrade_des.fnt"); itemSp->addChild(upGrade); upGrade->setPosition(ccp(80*gScaleX,-25*gScaleY)); } else { m_menu->addChild(itemSp,1,100+i); itemSp->setPosition(posArray[i]); } } int curLevel = GameConfigData::initialGameData().getCurHeroLevel(); if (curLevel >= HERO_MAXLEVEL) { CCMenuItemSprite *upItem = (CCMenuItemSprite*)m_menu->getChildByTag(103); upItem->setEnabled(false); upItem->setVisible(false); if (this->getChildByTag(1430)) { this->getChildByTag(1430)->setVisible(false); } } //金币放置最上方商城 CCSprite *coinIcon = CCSprite::create("ui/shared/coin.png"); this->addChild(coinIcon,2,1429); coinIcon->setPosition(ccp(280 * gScaleX, size.height - 30 * gScaleY)); m_moneyLabel = CCLabelBMFont::create("10000000","font/level_big.fnt"); this->addChild(m_moneyLabel,4); m_moneyLabel->setAnchorPoint(ccp(0,0.5f)); m_moneyLabel->setPosition(ccp(300*gScaleX,size.height-25*gScaleY)); m_moneyLabel->setScale(0.6F); setCoin(); //升级所需金币数 m_nextLevelPriceLabel = CCLabelBMFont::create("1000000000","font/level_big.fnt"); this->addChild(m_nextLevelPriceLabel,2); m_nextLevelPriceLabel->setPosition(ccp(345*gScaleX,342*gScaleY)); m_nextLevelPriceLabel->setScale(0.45); int curHeroId = GameConfigData::initialGameData().getCurHeroId(); int heroLevel = GameConfigData::initialGameData().getCurHeroLevel(); //名字label m_heroNameLabel = CCLabelBMFont::create("name","font/hero_name.fnt"); this->addChild(m_heroNameLabel,10); m_heroNameLabel->setPosition(ccp(390*gScaleX,475*gScaleY)); m_heroNameLabel->setScale(0.8f); //主角现在等级 CCSprite* curHeroLevel=CCSprite::create("ui/prepareUI/level.png"); this->addChild(curHeroLevel,2); curHeroLevel->setPosition(ccp(370*gScaleX,445*gScaleY)); curHeroLevel->setScale(0.8f); //数字改变部分 m_curHeroLevel = CCLabelBMFont::create("10000000",GOLD_FONT); this->addChild(m_curHeroLevel,2); m_curHeroLevel->setPosition(ccp(420*gScaleX,445*gScaleY)); string levelStr = ToolsFun::sharedTools()->intToString(heroLevel); m_curHeroLevel->setString((levelStr).c_str()); m_curHeroLevel->setScale(0.8f); //点击头像改变 CCSprite* changeName=CCSprite::create("ui/prepareUI/changename.png"); this->addChild(changeName,2); changeName->setPosition(ccp(390*gScaleX,400*gScaleY)); changeName->setScale(0.8f); CCSprite *itemBkg = CCSprite::create("ui/shared/itemBkg.png"); this->addChild(itemBkg); itemBkg->setPosition(ccp(360,145)); initPet(0); initPet(1); initHeroSp(GameConfigData::initialGameData().getCurHeroId()); initItem(0); //initItem(1); playUpEffect(heroLevel,false); registerNDK(); return true; }
StubChainAdaptor::StubChainAdaptor(QObject* parent) : QObject(parent) { auto orphanage = message.getOrphanage(); auto coinOrphan = orphanage.newOrphan<Coin>(); auto coin = coinOrphan.get(); coin.setName("BTS"); coin.setId(0); coin.setPrecision(5); coins.emplace_back(kj::mv(coinOrphan)); coinOrphan = orphanage.newOrphan<Coin>(); coin = coinOrphan.get(); coin.setName("FMV"); coin.setId(1); coin.setPrecision(0); coins.emplace_back(kj::mv(coinOrphan)); coinOrphan = orphanage.newOrphan<Coin>(); coin = coinOrphan.get(); coin.setName("USD"); coin.setId(2); coin.setPrecision(2); coins.emplace_back(kj::mv(coinOrphan)); std::reference_wrapper<std::vector<capnp::Orphan<Balance>>> bals = balances["nathan"]; auto balanceOrphan = orphanage.newOrphan<Balance>(); auto balance = balanceOrphan.get(); balance.setAmount(50000000); balance.initId(1)[0] = 0; balance.setType(0); bals.get().emplace_back(kj::mv(balanceOrphan)); balanceOrphan = orphanage.newOrphan<Balance>(); balance = balanceOrphan.get(); balance.setAmount(10); balance.initId(1)[0] = 1; balance.setType(1); bals.get().emplace_back(kj::mv(balanceOrphan)); balanceOrphan = orphanage.newOrphan<Balance>(); balance = balanceOrphan.get(); balance.setAmount(5000); balance.initId(1)[0] = 2; balance.setType(2); bals.get().emplace_back(kj::mv(balanceOrphan)); bals = balances["dev.nathanhourt.com"]; balanceOrphan = orphanage.newOrphan<Balance>(); balance = balanceOrphan.get(); balance.setAmount(10000000); balance.initId(1)[0] = 3; balance.setType(0); bals.get().emplace_back(kj::mv(balanceOrphan)); bals = balances["adam"]; balanceOrphan = orphanage.newOrphan<Balance>(); balance = balanceOrphan.get(); balance.setAmount(88); balance.initId(1)[0] = 4; balance.setType(1); bals.get().emplace_back(kj::mv(balanceOrphan)); auto contestOrphan = orphanage.newOrphan<Contest>(); auto contest = contestOrphan.get(); auto ucontest = contest.getContest(); contest.initSignature(0); ucontest.initId(1)[0] = 0; ucontest.setCoin(1); ucontest.setName("Lunch poll"); ucontest.setDescription("Where should we go for lunch?"); ucontest.setStartTime(static_cast<uint64_t>(QDateTime::fromString("2015-09-20T12:00:00", Qt::ISODate).toMSecsSinceEpoch())); auto tags = ucontest.initTags(1); tags[0].setKey("category"); tags[0].setValue("food"); auto contestants = ucontest.initContestants(3); contestants[0].setName("Wikiteria"); contestants[0].setDescription("Cafeteria on the CRC campus"); contestants[1].setName("Wicked Taco"); contestants[1].setDescription("Restaurant on Prices Fork"); contestants[2].setName("Firehouse"); contestants[2].setDescription("Sub Shop on University City Blvd"); contests.emplace_back(kj::mv(contestOrphan)); contestOrphan = orphanage.newOrphan<Contest>(); contest = contestOrphan.get(); ucontest = contest.getContest(); contest.initSignature(0); ucontest.initId(1)[0] = 1; ucontest.setCoin(0); ucontest.setName("Upgrade Authorization"); ucontest.setDescription("Do the BitShares stakeholders accept the upgrade to version 2.0, " "using the Graphene Toolkit?"); ucontest.setStartTime(static_cast<uint64_t>(QDateTime::fromString("2015-09-11T12:00:00", Qt::ISODate).toMSecsSinceEpoch())); tags = ucontest.initTags(1); tags[0].setKey("category"); tags[0].setValue("hard-forks"); contestants = ucontest.initContestants(2); contestants[0].setName("Yes"); contestants[0].setDescription("Accept the upgrade, and hard-fork to BitShares 2.0"); contestants[1].setName("No"); contestants[1].setDescription("Reject the upgrade, and continue using BitShares 0.9.x"); contests.emplace_back(kj::mv(contestOrphan)); }
void HelpLayer::initUI() { CCSize size = ToolsFun::sharedTools()->getSceneSize(); //背景 CCSprite * bkg = CCSprite::create("ui/shared/bkg.png"); this->addChild(bkg, -4); bkg->setPosition(size / 2); //头部 CCSprite *spBkgTop = CCSprite::create("ui/shared/top.png"); this->addChild(spBkgTop, 0); spBkgTop->setPosition(ccp(size.width / 2, size.height - spBkgTop->getContentSize().height / 2)); //金币放置最上方商城 CCSprite *coinIcon = CCSprite::create("ui/shared/coin.png"); this->addChild(coinIcon, 2, 1429); coinIcon->setPosition(ccp(280*gScaleX, size.height - 30*gScaleY)); m_coinLabel = CCLabelBMFont::create("10000000", GOLD_FONT); this->addChild(m_coinLabel, 4); m_coinLabel->setAnchorPoint(ccp(0, 0.5f)); m_coinLabel->setPosition(ccp(300*gScaleX, size.height - 25*gScaleY)); m_coinLabel->setScale(0.6F); setCoin(); CCMenu *menu = CCMenu::create(); this->addChild(menu, 10); menu->setTouchPriority(-130); menu->setPosition(CCPointZero); CCSprite *spNml = CCSprite::create("ui/shared/back.png"); CCSprite *spSel = CCSprite::create("ui/shared/back.png"); spSel->setColor(ccc3(100, 100, 100)); CCMenuItemSprite *spItem = CCMenuItemSprite::create(spNml, spSel, this, menu_selector(HelpLayer::back)); menu->addChild(spItem); spItem->setPosition(ccp(37*gScaleX, size.height - 37*gScaleY)); //show shop spNml = CCSprite::create("ui/shared/coinplus.png"); spSel = CCSprite::create("ui/shared/coinplus.png"); spSel->setColor(ccc3(100, 100, 100)); spItem = CCMenuItemSprite::create(spNml, spSel, this, menu_selector(HelpLayer::showShopLayer)); menu->addChild(spItem); spItem->setPosition(ccp(430*gScaleX, size.height - 30*gScaleY)); //初始化宠物界面 m_menu = CCMenu::create(); m_uiNode->addChild(m_menu, 2); m_uiNode->setPosition(CCPointZero); m_menu->setPosition(CCPointZero); SK::StringKey nameKey[5] = {K.ITEM_NAME0, K.ITEM_NAME1, K.ITEM_NAME2, K.ITEM_NAME3, K.ITEM_NAME4}; SK::StringKey desKey[5] = {K.ITEM_DES0, K.ITEM_DES1, K.ITEM_DES2, K.ITEM_DES3, K.ITEM_DES4}; const char *fileName[5] = {"item/item2_0.png","item/item0_0.png","item/item1_0.png", "item/item3_0.png","item4_3.png"}; for(int i = 0; i != 5; ++i) { CCSprite *petSprite = NULL; if(i ==4) { petSprite = CCSprite::createWithSpriteFrameName(fileName[i]); } else { petSprite = CCSprite::create(fileName[i]); } m_uiNode->addChild(petSprite, 1); petSprite->setPosition(ccp(120*gScaleX, 130*gScaleY)+ccp(0,180*i)); CCSprite* petDes = CCSprite::create("ui/petUI/pet_describe.png"); m_uiNode->addChild(petDes, 1); petDes->setPosition(ccp(330*gScaleX, 140*gScaleY)+ccp(0,180*i)); m_desFont[i] = CCLabelBMFont::create(gGetLanguageDesc(desKey[i]).c_str(), "font/item_des.fnt"); m_uiNode->addChild(m_desFont[i], 10); m_desFont[i]->setPosition(ccp(240*gScaleX, 130*gScaleY)+ccp(0,180*i)); m_desFont[i]->setAnchorPoint(CCPointZero); m_nameFont[i] = CCLabelBMFont::create(gGetLanguageDesc(nameKey[i]).c_str(), "font/item_des.fnt"); m_uiNode->addChild(m_nameFont[i], 10); m_nameFont[i]->setPosition(ccp(240*gScaleX, 160*gScaleY)+ccp(0,180*i)); m_nameFont[i]->setAnchorPoint(CCPointZero); CCLabelBMFont *nameLabel = m_nameFont[i]; nameLabel->setScale(0.6f); nameLabel->setString(gGetLanguageDesc(nameKey[i]).c_str()); CCLabelBMFont *desLabel = m_desFont[i]; desLabel->setScale(0.6f); desLabel->setString(gGetLanguageDesc(desKey[i]).c_str()); } }
void G::AddCoin(int coinAdd){ setCoin(getCoin()+coinAdd); }
bool ISitableRoom::onMessage( stMsg* prealMsg , eMsgPort eSenderPort , uint32_t nPlayerSessionID ) { if ( IRoom::onMessage(prealMsg,eSenderPort,nPlayerSessionID) ) { return true ; } switch ( prealMsg->usMsgType ) { case MSG_REQ_CUR_GAME_OFFSET: { auto pPlayer = getSitdownPlayerBySessionID(nPlayerSessionID) ; if ( pPlayer ) { stMsgReqRobotCurGameOffsetRet msgback ; msgback.nCurGameOffset = pPlayer->getTotalGameOffset(); sendMsgToPlayer(&msgback,sizeof(msgback),nPlayerSessionID) ; LOGFMTD("robot req cur offset = %d , uid = %u",msgback.nCurGameOffset,pPlayer->getUserUID()); } } break; case MSG_ADD_TEMP_HALO: { auto pPlayer = getPlayerBySessionID(nPlayerSessionID) ; if ( pPlayer == nullptr ) { LOGFMTE("not in room player add temp halo session id = %u",nPlayerSessionID); break; } //if ( pPlayer->nPlayerType == ePlayer_Normal ) //{ // LOGFMTE("normal can not add temp halo"); // break; //} stMsgAddTempHalo* pRet = (stMsgAddTempHalo*)prealMsg ; if ( 0 == pRet->nTargetUID ) { pRet->nTargetUID = pPlayer->nUserUID ; } auto psitpp = getSitdownPlayerByUID(pRet->nTargetUID) ; if ( psitpp ) { psitpp->setTempHaloWeight(pRet->nTempHalo); LOGFMTD("uid = %u add temp halo = %u",pRet->nTargetUID,pRet->nTempHalo) ; } else { LOGFMTE("uid = %u not sit down why add temp halo",pPlayer->nUserUID); } } break; case MSG_PLAYER_SITDOWN: { stMsgPlayerSitDownRet msgBack ; msgBack.nRet = 0 ; stStandPlayer* pPlayer = getPlayerBySessionID(nPlayerSessionID) ; if ( !pPlayer ) { LOGFMTE("palyer session id = %d ,not in this room so , can not sit down",nPlayerSessionID) ; msgBack.nRet = 3 ; sendMsgToPlayer(&msgBack,sizeof(msgBack),nPlayerSessionID) ; break; } auto pp = getSitdownPlayerByUID(pPlayer->nUserUID); if ( pp ) { LOGFMTE("session id = %d , already sit down , don't sit down again",nPlayerSessionID ) ; msgBack.nRet = 4 ; sendMsgToPlayer(&msgBack,sizeof(msgBack),nPlayerSessionID) ; break; } stMsgPlayerSitDown* pRet = (stMsgPlayerSitDown*)prealMsg ; if ( pRet->nTakeInCoin == 0 || pRet->nTakeInCoin > pPlayer->nCoin) { pRet->nTakeInCoin = pPlayer->nCoin ; } if ( pRet->nTakeInCoin < coinNeededToSitDown() ) { msgBack.nRet = 1 ; sendMsgToPlayer(&msgBack,sizeof(msgBack),nPlayerSessionID) ; break; } if ( isSeatIdxEmpty(pRet->nIdx) == false ) { msgBack.nRet = 2 ; sendMsgToPlayer(&msgBack,sizeof(msgBack),nPlayerSessionID) ; break; } auto sitDownPlayer = getReuseSitableRoomPlayerObject() ; sitDownPlayer->reset(pPlayer) ; pPlayer->nCoin -= pRet->nTakeInCoin ; sitDownPlayer->setCoin(pRet->nTakeInCoin) ; sitDownPlayer->doSitdown(pRet->nIdx) ; sitDownPlayer->setIdx(pRet->nIdx); sitDownPlayer->setState(eRoomPeer_WaitNextGame ); m_vSitdownPlayers[pRet->nIdx] = sitDownPlayer ; // tell others ; stMsgRoomSitDown msgSitDown ; msgSitDown.nIdx = sitDownPlayer->getIdx() ; msgSitDown.nSitDownPlayerUserUID = sitDownPlayer->getUserUID() ; msgSitDown.nTakeInCoin = sitDownPlayer->getCoin() ; sendRoomMsg(&msgSitDown,sizeof(msgSitDown)); onPlayerSitDown(sitDownPlayer) ; if ( pPlayer->nPlayerType == ePlayer_Robot ) { LOGFMTD("robot uid = %d enter room",sitDownPlayer->getUserUID()) ; m_pRobotDispatchStrage->onRobotJoin(sitDownPlayer->getSessionID()); } } break; case MSG_PLAYER_STANDUP: { stMsgPlayerStandUpRet msgBack ; msgBack.nRet = 0 ; auto player = getSitdownPlayerBySessionID(nPlayerSessionID) ; if ( player == nullptr ) { msgBack.nRet = 1 ; sendMsgToPlayer(&msgBack,sizeof(msgBack),nPlayerSessionID) ; break; } onPlayerWillStandUp(player); } break; default: return false; } return true ; }