From 33c7657f31430f3c7783df2b6463986529daf581 Mon Sep 17 00:00:00 2001 From: ozg Date: Thu, 17 Apr 2014 23:04:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E7=BB=93=E6=9E=84=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=EF=BC=8C=E5=A2=9E=E5=8A=A0=E9=81=93=E5=85=B7=E4=B8=A2?= =?UTF-8?q?=E5=BC=83=EF=BC=8C=E8=A3=85=E5=A4=87=E9=83=A8=E5=88=86=E6=9C=AA?= =?UTF-8?q?=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Classes/GameCfg.h | 2 +- Classes/RPGBaseSceneLayer.h | 2 +- Classes/RPGData.h | 2 +- Classes/RPGMapChoicePlayerMenuLayer.cpp | 21 +++ Classes/RPGMapChoicePlayerMenuLayer.h | 3 + Classes/RPGMapEquipMenuLayer.cpp | 148 +++++++++++++++++- Classes/RPGMapEquipMenuLayer.h | 21 ++- Classes/RPGMapItemsMenuLayer.cpp | 142 ++++++++--------- Classes/RPGMapItemsMenuLayer.h | 3 +- Classes/RPGMapMenuLayer.h | 11 -- Classes/RPGMapSkillMenuLayer.cpp | 6 +- Classes/RPGMapSkillMenuLayer.h | 2 +- Classes/RPGMapStatusMenuLayer.cpp | 72 ++++----- Classes/RPGMapStatusMenuLayer.h | 15 +- Classes/RPGResultsLogic.cpp | 50 +++--- Classes/RPGResultsLogic.h | 1 + Resources/db.sys | Bin 327680 -> 360448 bytes Resources/scene_map_cns.plist | 16 ++ .../UserInterfaceState.xcuserstate | Bin 71867 -> 72657 bytes .../UserInterfaceState.xcuserstate | Bin 60775 -> 60967 bytes 20 files changed, 360 insertions(+), 157 deletions(-) diff --git a/Classes/GameCfg.h b/Classes/GameCfg.h index 2dc09e0..4c4380c 100755 --- a/Classes/GameCfg.h +++ b/Classes/GameCfg.h @@ -16,6 +16,6 @@ #define GAME_TMX_ROLE_HEIGHT 32.0 #define GAME_PLAYER_MOVESPEED 0.5 -#define GAME_INIT_SQL "insert into save_data (map_id, player_to_x, player_to_y, player_direction, items) values(1, 14.5, 9.5, 'down', '[{\"id\": 6, \"total\": 10}, {\"id\": 7, \"total\": 7}, {\"id\": 8, \"total\": 7}]');" +#define GAME_INIT_SQL "insert into save_data (map_id, player_to_x, player_to_y, player_direction) values(1, 14.5, 9.5, 'down');" #endif diff --git a/Classes/RPGBaseSceneLayer.h b/Classes/RPGBaseSceneLayer.h index 690a626..751c250 100755 --- a/Classes/RPGBaseSceneLayer.h +++ b/Classes/RPGBaseSceneLayer.h @@ -31,7 +31,7 @@ using namespace CocosDenshion; #define SAVEDATA_QUERY "select * from save_data where id = 1" //查询现有道具 -#define ITEMS_QUERY "select * from items where id in(%s) order by id asc" +#define ITEMS_EXISTING_QUERY "select i.*, ie.total from items_existing as ie inner join items as i on ie.id = i.id where i.id order by i.id asc" //获取一个player的详细数据 #define PLAYER_DETAIL_QUERY "select p.*, arms.name_cns as arms_name, armor.name_cns as armor_name from player as p left join items as arms on p.items_id_arms = arms.id left join items as armor on p.items_id_armor = armor.id where p.id = %i" diff --git a/Classes/RPGData.h b/Classes/RPGData.h index 705462c..f639d23 100644 --- a/Classes/RPGData.h +++ b/Classes/RPGData.h @@ -114,7 +114,7 @@ public: }; -//现有道具,数据库没有这个表 +//现有道具 class RPGExistingItems : public RPGItems { diff --git a/Classes/RPGMapChoicePlayerMenuLayer.cpp b/Classes/RPGMapChoicePlayerMenuLayer.cpp index 4739c8c..8c7a971 100644 --- a/Classes/RPGMapChoicePlayerMenuLayer.cpp +++ b/Classes/RPGMapChoicePlayerMenuLayer.cpp @@ -108,6 +108,27 @@ RPGMapChoicePlayerMenuLayer* RPGMapChoicePlayerMenuLayer::create(CppSQLite3DB *d return NULL; } +void RPGMapChoicePlayerMenuLayer::setHidden(bool isHidden) +{ + CCTMXTiledMap *mainBg = (CCTMXTiledMap*)this->getChildByTag(kRPGMapChoicePlayerMenuLayerTagBg); + mainBg->setVisible(!isHidden); + + CCMenu *mainMenu = (CCMenu*)this->getChildByTag(kRPGMapChoicePlayerMenuLayerTagMainMenu); + + CppSQLite3Query query = this->m_db->execQuery(PLAYER_QUERY); + while(!query.eof()) + { + CCMenuItemSprite *player = (CCMenuItemSprite*)mainMenu->getChildByTag(kRPGMapChoicePlayerMenuLayerTagMainMenuPlayer + query.getIntField("id")); + player->setVisible(!isHidden); + query.nextRow(); + } + query.finalize(); + + CCLabelTTF *titleLab = (CCLabelTTF*)this->getChildByTag(kRPGMapChoicePlayerMenuLayerTagTitleLab); + titleLab->setVisible(!isHidden); + +} + void RPGMapChoicePlayerMenuLayer::onMenu(cocos2d::CCObject *pObject) { CCNotificationCenter::sharedNotificationCenter()->postNotification("onChoicePlayer", pObject); diff --git a/Classes/RPGMapChoicePlayerMenuLayer.h b/Classes/RPGMapChoicePlayerMenuLayer.h index b9acb3b..bafd128 100644 --- a/Classes/RPGMapChoicePlayerMenuLayer.h +++ b/Classes/RPGMapChoicePlayerMenuLayer.h @@ -53,6 +53,9 @@ public: bool init(CppSQLite3DB *db, CCString* titleLab, CCObject* target, SEL_CallFuncO selector, float width, float height); static RPGMapChoicePlayerMenuLayer* create(CppSQLite3DB *db, CCString* titleLab, CCObject* target, SEL_CallFuncO selector, float width, float height); + + void setHidden(bool isHidden); + }; #endif /* defined(__OzgGameRPG__RPGMapChoicePlayerMenuLayer__) */ diff --git a/Classes/RPGMapEquipMenuLayer.cpp b/Classes/RPGMapEquipMenuLayer.cpp index 09f0c5f..083559d 100644 --- a/Classes/RPGMapEquipMenuLayer.cpp +++ b/Classes/RPGMapEquipMenuLayer.cpp @@ -9,6 +9,7 @@ #include "RPGMapEquipMenuLayer.h" #include "RPGMapMenuLayer.h" #include "RPGMapSceneLayer.h" +#include "OzgCCUtility.h" RPGMapEquipMenuLayer::RPGMapEquipMenuLayer() { @@ -52,6 +53,43 @@ bool RPGMapEquipMenuLayer::init(cocos2d::CCDictionary *stringList, CppSQLite3DB mainBg->setTag(kRPGMapEquipMenuLayerTagBg); this->addChild(mainBg); + //显示上面的4个角色 + float playerX = 200; + CppSQLite3Query query = this->m_db->execQuery(PLAYER_QUERY); + while(!query.eof()) + { + CCSprite *playerSprite = NULL; + if(query.getIntField("hp") <= 0) + { + //死亡 + CCArray *frames = OzgCCUtility::createSpriteFrames(CCString::createWithFormat("%s_2.png", query.getStringField("tex_prefix"))->getCString(), 3, 4); + playerSprite = CCSprite::createWithSpriteFrame((CCSpriteFrame*)frames->objectAtIndex(10)); + } + else + { + //正常 + CCArray *frames = OzgCCUtility::createSpriteFrames(CCString::createWithFormat("%s_0.png", query.getStringField("tex_prefix"))->getCString(), 3, 4); + playerSprite = CCSprite::createWithSpriteFrame((CCSpriteFrame*)frames->objectAtIndex(1)); + } + + CCMenuItemSprite *player = (CCMenuItemSprite*)mainMenu->getChildByTag(kRPGMapEquipMenuLayerTagMainMenuPlayer + query.getIntField("id")); + if(!player) + { + player = CCMenuItemSprite::create(playerSprite, playerSprite, this, menu_selector(RPGMapEquipMenuLayer::onMenu)); + player->setPosition(ccp(playerX, 560)); + player->setScale(2); + player->setTag(kRPGMapEquipMenuLayerTagMainMenuPlayer + query.getIntField("id")); + mainMenu->addChild(player); + } + + playerX += 200; + query.nextRow(); + } + query.finalize(); + + //默认选中第一个 + this->onMenu(mainMenu->getChildByTag(kRPGMapEquipMenuLayerTagMainMenuPlayer + 1)); + return true; } return false; @@ -72,8 +110,11 @@ RPGMapEquipMenuLayer* RPGMapEquipMenuLayer::create(cocos2d::CCDictionary *string //private void RPGMapEquipMenuLayer::onMenu(cocos2d::CCObject *pObject) { + //第一次显示数据的话则不播放效果音 + if(!this->m_isDefault) + SimpleAudioEngine::sharedEngine()->playEffect("audio_effect_btn.wav"); + CCMenuItem *menuItem = (CCMenuItem*)pObject; - SimpleAudioEngine::sharedEngine()->playEffect("audio_effect_btn.wav"); switch (menuItem->getTag()) { @@ -98,4 +139,109 @@ void RPGMapEquipMenuLayer::onMenu(cocos2d::CCObject *pObject) break; } + if(menuItem->getTag() >= kRPGMapEquipMenuLayerTagMainMenuPlayer && menuItem->getTag() <= kRPGMapEquipMenuLayerTagMainMenuPlayer + 99) + { +// CCLog("点击了上面4个player的其中一个"); + CCMenu *mainMenu = (CCMenu*)this->getChildByTag(kRPGMapEquipMenuLayerTagMainMenu); + + CppSQLite3Query query = this->m_db->execQuery(PLAYER_QUERY); + while(!query.eof()) + { + if(menuItem->getTag() == kRPGMapEquipMenuLayerTagMainMenuPlayer + query.getIntField("id")) + { + this->m_isDefault = false; + + int dataId = query.getIntField("id"); + this->setPlayerEquip(dataId); + + //选中的光标部分 + CCMenuItemSprite *player = (CCMenuItemSprite*)mainMenu->getChildByTag(kRPGMapEquipMenuLayerTagMainMenuPlayer + dataId); + + CCSprite *handCursor = (CCSprite*)this->getChildByTag(kRPGMapMenuLayerTagHandCursor); + if(!handCursor) + { + handCursor = CCSprite::createWithSpriteFrameName("gui_hand.png"); + handCursor->setScale(0.3); + handCursor->setTag(kRPGMapMenuLayerTagHandCursor); + this->addChild(handCursor); + } + + //光标的位置 + handCursor->setPosition(ccp(player->getPositionX() + 60, 555)); + + break; + } + query.nextRow(); + } + query.finalize(); + } + +} + +void RPGMapEquipMenuLayer::setPlayerEquip(int dataId) +{ + this->removeAllPlayerLab(); + + CppSQLite3Query query = this->m_db->execQuery(CCString::createWithFormat(PLAYER_DETAIL_QUERY, dataId)->getCString()); + while(!query.eof()) + { + //左边 + addLab(this, kRPGMapEquipMenuLayerTagName, CCString::create(query.getStringField("name_cns")), 18, ccp(270, 443)); + addLab(this, kRPGMapEquipMenuLayerTagAttack, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("menu_equip_attack"))->getCString(), query.getIntField("attack")), 18, ccp(270, 408)); + addLab(this, kRPGMapEquipMenuLayerTagDefense, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("menu_equip_defense"))->getCString(), query.getIntField("defense")), 18, ccp(270, 373)); + addLab(this, kRPGMapEquipMenuLayerTagSpeed, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("menu_equip_speed"))->getCString(), query.getIntField("speed")), 18, ccp(270, 338)); + addLab(this, kRPGMapEquipMenuLayerTagSkillAttack, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("menu_equip_skill_attack"))->getCString(), query.getIntField("skill_attack")), 18, ccp(270, 303)); + addLab(this, kRPGMapEquipMenuLayerTagSkillDefense, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("menu_equip_skill_defense"))->getCString(), query.getIntField("skill_defense")), 18, ccp(270, 268)); + + //右边的装备部分 + addLab(this, kRPGMapEquipMenuLayerTagEquipArms, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("menu_equip_arms"))->getCString(), query.getStringField("arms_name")), 26, ccp(600, 405)); + addLab(this, kRPGMapEquipMenuLayerTagEquipArmor, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("menu_equip_armor"))->getCString(), query.getStringField("armor_name")), 26, ccp(600, 320)); + + CCControlButton *btnRemoveArms = CCControlButton::create("卸掉", "Arial", 26); + btnRemoveArms->setPosition(ccp(700, 405)); + btnRemoveArms->setTitleColorForState(ccc3(177, 177, 177), CCControlStateNormal); + btnRemoveArms->setTag(kRPGMapEquipMenuLayerTagBtnRemoveArms); + btnRemoveArms->addTargetWithActionForControlEvents(this, cccontrol_selector(RPGMapEquipMenuLayer::onButton), CCControlEventTouchUpInside); + this->addChild(btnRemoveArms); + + CCControlButton *btnRemoveArmor = CCControlButton::create("卸掉", "Arial", 26); + btnRemoveArmor->setPosition(ccp(700, 320)); + btnRemoveArmor->setTitleColorForState(ccc3(177, 177, 177), CCControlStateNormal); + btnRemoveArmor->setTag(kRPGMapEquipMenuLayerTagBtnRemoveArmor); + btnRemoveArmor->addTargetWithActionForControlEvents(this, cccontrol_selector(RPGMapEquipMenuLayer::onButton), CCControlEventTouchUpInside); + this->addChild(btnRemoveArmor); + + query.nextRow(); + } + query.finalize(); + +} + +void RPGMapEquipMenuLayer::removeAllPlayerLab() +{ + //左边 + if(this->getChildByTag(kRPGMapEquipMenuLayerTagName)) + this->removeChildByTag(kRPGMapEquipMenuLayerTagName, true); + if(this->getChildByTag(kRPGMapEquipMenuLayerTagAttack)) + this->removeChildByTag(kRPGMapEquipMenuLayerTagAttack, true); + if(this->getChildByTag(kRPGMapEquipMenuLayerTagDefense)) + this->removeChildByTag(kRPGMapEquipMenuLayerTagDefense, true); + if(this->getChildByTag(kRPGMapEquipMenuLayerTagSpeed)) + this->removeChildByTag(kRPGMapEquipMenuLayerTagSpeed, true); + if(this->getChildByTag(kRPGMapEquipMenuLayerTagSkillAttack)) + this->removeChildByTag(kRPGMapEquipMenuLayerTagSkillAttack, true); + if(this->getChildByTag(kRPGMapEquipMenuLayerTagSkillDefense)) + this->removeChildByTag(kRPGMapEquipMenuLayerTagSkillDefense, true); + + //右边的装备部分 + if(this->getChildByTag(kRPGMapEquipMenuLayerTagEquipArms)) + this->removeChildByTag(kRPGMapEquipMenuLayerTagEquipArms, true); + if(this->getChildByTag(kRPGMapEquipMenuLayerTagEquipArmor)) + this->removeChildByTag(kRPGMapEquipMenuLayerTagEquipArmor, true); + +} + +void RPGMapEquipMenuLayer::onButton(cocos2d::CCObject *pSender, CCControlEvent event) +{ + } diff --git a/Classes/RPGMapEquipMenuLayer.h b/Classes/RPGMapEquipMenuLayer.h index 3bdb88a..d450050 100644 --- a/Classes/RPGMapEquipMenuLayer.h +++ b/Classes/RPGMapEquipMenuLayer.h @@ -23,7 +23,18 @@ enum RPGMapEquipMenuLayerTag { kRPGMapEquipMenuLayerTagMainMenu = 1, kRPGMapEquipMenuLayerTagMainMenuBack = 2, - kRPGMapEquipMenuLayerTagBg = 3 + kRPGMapEquipMenuLayerTagBg = 3, + kRPGMapEquipMenuLayerTagMainMenuPlayer = 100, + kRPGMapEquipMenuLayerTagName = 13, + kRPGMapEquipMenuLayerTagAttack = 17, + kRPGMapEquipMenuLayerTagDefense = 18, + kRPGMapEquipMenuLayerTagSpeed = 19, + kRPGMapEquipMenuLayerTagSkillAttack = 20, + kRPGMapEquipMenuLayerTagSkillDefense = 21, + kRPGMapEquipMenuLayerTagEquipArms = 23, + kRPGMapEquipMenuLayerTagEquipArmor = 24, + kRPGMapEquipMenuLayerTagBtnRemoveArms = 25, + kRPGMapEquipMenuLayerTagBtnRemoveArmor = 26 }; @@ -34,8 +45,16 @@ private: CCDictionary* m_stringList; CppSQLite3DB* m_db; + bool m_isDefault; //是否为第一次进入装备界面,如果是的话就不播放效果音了 + void onMenu(cocos2d::CCObject *pObject); + void setPlayerEquip(int dataId); + + void removeAllPlayerLab(); + + void onButton(CCObject* pSender, CCControlEvent event); + public: RPGMapEquipMenuLayer(); diff --git a/Classes/RPGMapItemsMenuLayer.cpp b/Classes/RPGMapItemsMenuLayer.cpp index 6ba862d..912cda9 100644 --- a/Classes/RPGMapItemsMenuLayer.cpp +++ b/Classes/RPGMapItemsMenuLayer.cpp @@ -132,13 +132,6 @@ CCTableViewCell* RPGMapItemsMenuLayer::tableCellAtIndex(CCTableView *tableView, itemBtn->addTargetWithActionForControlEvents(this, cccontrol_selector(RPGMapItemsMenuLayer::onButton), CCControlEventTouchUpInside); cell->addChild(itemBtn); - //如果是非道具类的话,则禁用点击 - if(itemsData->m_type != 3) - { - itemBtn->setTitleColorForState(ccc3(144, 144, 144), CCControlStateNormal); - itemBtn->setEnabled(false); - } - x += 200; } @@ -163,49 +156,22 @@ void RPGMapItemsMenuLayer::loadItemsData() //道具数据 this->m_itemsList->removeAllObjects(); - CppSQLite3Query query = this->m_db->execQuery(SAVEDATA_QUERY); + CppSQLite3Query query = this->m_db->execQuery(ITEMS_EXISTING_QUERY); while(!query.eof()) { - string idList; - - JsonBox::Value json; - json.loadFromString(query.getStringField("items")); - - JsonBox::Array items = json.getArray(); - for (int i = 0; i < (int)items.size(); i++) - { - JsonBox::Value item = items[i].getObject(); - - RPGExistingItems *itemsData = RPGExistingItems::create(); - itemsData->m_total = item["total"].getInt(); - this->m_itemsList->addObject(itemsData); - - idList.append(CCString::createWithFormat("%i", item["id"].getInt())->getCString()); - - if(i + 1 < (int)items.size()) - idList.append(", "); - } - - int i = 0; - CppSQLite3Query itemsQuery = this->m_db->execQuery(CCString::createWithFormat(ITEMS_QUERY, idList.c_str())->getCString()); - while(!itemsQuery.eof()) - { - RPGExistingItems *itemsData = (RPGExistingItems*)this->m_itemsList->objectAtIndex(i); - itemsData->m_dataId = itemsQuery.getIntField("id"); - itemsData->m_name = itemsQuery.getStringField("name_cns"); - itemsData->m_buy = itemsQuery.getIntField("buy"); - itemsData->m_sell = itemsQuery.getIntField("sell"); - itemsData->m_type = itemsQuery.getIntField("type"); - itemsData->m_attack = itemsQuery.getFloatField("attack"); - itemsData->m_defense = itemsQuery.getFloatField("defense"); - itemsData->m_speed = itemsQuery.getFloatField("speed"); - itemsData->m_skillAttack = itemsQuery.getFloatField("skill_attack"); - itemsData->m_skillDefense = itemsQuery.getFloatField("skill_defense"); - - i++; - itemsQuery.nextRow(); - } - itemsQuery.finalize(); + RPGExistingItems *itemsData = RPGExistingItems::create(); + itemsData->m_dataId = query.getIntField("id"); + itemsData->m_name = query.getStringField("name_cns"); + itemsData->m_buy = query.getIntField("buy"); + itemsData->m_sell = query.getIntField("sell"); + itemsData->m_type = query.getIntField("type"); + itemsData->m_attack = query.getFloatField("attack"); + itemsData->m_defense = query.getFloatField("defense"); + itemsData->m_speed = query.getFloatField("speed"); + itemsData->m_skillAttack = query.getFloatField("skill_attack"); + itemsData->m_skillDefense = query.getFloatField("skill_defense"); + itemsData->m_total = query.getIntField("total"); + this->m_itemsList->addObject(itemsData); query.nextRow(); } @@ -250,6 +216,7 @@ void RPGMapItemsMenuLayer::onDialog(cocos2d::CCObject *pObject) this->getParent()->removeChildByTag(kRPGMapItemsMenuLayerTagDialog, true); this->getParent()->removeChildByTag(kRPGMapSceneLayerTagChoicePlayerMenuLayerBg, true); this->getParent()->removeChildByTag(kRPGMapSceneLayerTagChoicePlayerMenuLayer, true); + this->getParent()->removeChildByTag(kRPGMapItemsMenuLayerTagBtnDiscard, true); this->setVisible(true); } @@ -258,34 +225,65 @@ void RPGMapItemsMenuLayer::onButton(cocos2d::CCObject *pSender, CCControlEvent e SimpleAudioEngine::sharedEngine()->playEffect("audio_effect_btn.wav"); CCControlButton *itemBtn = (CCControlButton*)pSender; - for (int i = 0; i < this->m_itemsList->count(); i++) + + if(itemBtn->getTag() == kRPGMapItemsMenuLayerTagBtnDiscard) { - //判断选中道具 - RPGExistingItems *itemsData = (RPGExistingItems*)this->m_itemsList->objectAtIndex(i); - if(itemBtn->getTag() == itemsData->m_dataId) +// CCLog("丢弃道具"); + + RPGResultsLogic::discardItems(this->m_db, this->m_selectedItems->m_dataId); + + this->getParent()->removeChildByTag(kRPGMapSceneLayerTagChoicePlayerMenuLayerBg, true); + this->getParent()->removeChildByTag(kRPGMapSceneLayerTagChoicePlayerMenuLayer, true); + this->getParent()->removeChildByTag(kRPGMapItemsMenuLayerTagBtnDiscard, true); + this->setVisible(true); + + this->loadItemsData(); + } + else + { + for (int i = 0; i < this->m_itemsList->count(); i++) { - this->m_selectedItems = itemsData; - break; + //判断选中道具 + RPGExistingItems *itemsData = (RPGExistingItems*)this->m_itemsList->objectAtIndex(i); + if(itemBtn->getTag() == itemsData->m_dataId) + { + this->m_selectedItems = itemsData; + break; + } } + + //因为动态获取地图的大小会导致了菜单层显示错位,所以定死了 + float width = 960; + float height = 640; + + //临时背景 + CCTMXTiledMap *mainBg = CCTMXTiledMap::create("map_menu3_style1.tmx"); + mainBg->setPosition(ccp(CCDirector::sharedDirector()->getWinSize().width / 2, CCDirector::sharedDirector()->getWinSize().height / 2)); + mainBg->setAnchorPoint(ccp(0.5, 0.5)); + mainBg->setTag(kRPGMapSceneLayerTagChoicePlayerMenuLayerBg); + this->getParent()->addChild(mainBg); + + CCString *title = CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("menu_items_choice"))->getCString(), this->m_selectedItems->m_name.c_str()); + RPGMapChoicePlayerMenuLayer *choicePlayer = RPGMapChoicePlayerMenuLayer::create(this->m_db, title, this, callfuncO_selector(RPGMapItemsMenuLayer::onChoicePlayer), width, height); + choicePlayer->setTag(kRPGMapSceneLayerTagChoicePlayerMenuLayer); + this->getParent()->addChild(choicePlayer); + + if(this->m_selectedItems->m_type != 3) + { +// CCLog("非道具不可以使用"); + choicePlayer->setHidden(true); + } + + CCString *btnDiscardText = CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("menu_items_discard"))->getCString(), this->m_selectedItems->m_name.c_str()); + CCControlButton *btnDiscard = CCControlButton::create(btnDiscardText->getCString(), "Arial", 24); + btnDiscard->setPosition(ccp(CCDirector::sharedDirector()->getWinSize().width / 2, 250)); + btnDiscard->setTag(kRPGMapItemsMenuLayerTagBtnDiscard); + btnDiscard->addTargetWithActionForControlEvents(this, cccontrol_selector(RPGMapItemsMenuLayer::onButton), CCControlEventTouchUpInside); + this->getParent()->addChild(btnDiscard); + + this->setVisible(false); } - //因为动态获取地图的大小会导致了菜单层显示错位,所以定死了 - float width = 960; - float height = 640; - - //临时背景 - CCTMXTiledMap *mainBg = CCTMXTiledMap::create("map_menu3_style1.tmx"); - mainBg->setPosition(ccp(CCDirector::sharedDirector()->getWinSize().width / 2, CCDirector::sharedDirector()->getWinSize().height / 2)); - mainBg->setAnchorPoint(ccp(0.5, 0.5)); - mainBg->setTag(kRPGMapSceneLayerTagChoicePlayerMenuLayerBg); - this->getParent()->addChild(mainBg); - - CCString *title = CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("menu_items_choice"))->getCString(), this->m_selectedItems->m_name.c_str()); - RPGMapChoicePlayerMenuLayer *choicePlayer = RPGMapChoicePlayerMenuLayer::create(this->m_db, title, this, callfuncO_selector(RPGMapItemsMenuLayer::onChoicePlayer), width, height); - choicePlayer->setTag(kRPGMapSceneLayerTagChoicePlayerMenuLayer); - this->getParent()->addChild(choicePlayer); - - this->setVisible(false); } void RPGMapItemsMenuLayer::onChoicePlayer(cocos2d::CCObject *pObject) @@ -298,6 +296,7 @@ void RPGMapItemsMenuLayer::onChoicePlayer(cocos2d::CCObject *pObject) //按了退出 this->getParent()->removeChildByTag(kRPGMapSceneLayerTagChoicePlayerMenuLayerBg, true); this->getParent()->removeChildByTag(kRPGMapSceneLayerTagChoicePlayerMenuLayer, true); + this->getParent()->removeChildByTag(kRPGMapItemsMenuLayerTagBtnDiscard, true); this->setVisible(true); } else @@ -317,6 +316,7 @@ void RPGMapItemsMenuLayer::onChoicePlayer(cocos2d::CCObject *pObject) //道具使用成功 this->getParent()->removeChildByTag(kRPGMapSceneLayerTagChoicePlayerMenuLayerBg, true); this->getParent()->removeChildByTag(kRPGMapSceneLayerTagChoicePlayerMenuLayer, true); + this->getParent()->removeChildByTag(kRPGMapItemsMenuLayerTagBtnDiscard, true); this->setVisible(true); this->loadItemsData(); diff --git a/Classes/RPGMapItemsMenuLayer.h b/Classes/RPGMapItemsMenuLayer.h index 7d51774..8ce1fe6 100644 --- a/Classes/RPGMapItemsMenuLayer.h +++ b/Classes/RPGMapItemsMenuLayer.h @@ -27,7 +27,8 @@ enum RPGMapItemsMenuLayerTag kRPGMapItemsMenuLayerTagBg = 3, kRPGMapItemsMenuLayerTagItemListTable = 4, kRPGMapItemsMenuLayerTagDialogOK = 5, - kRPGMapItemsMenuLayerTagDialog = 86 + kRPGMapItemsMenuLayerTagDialog = 86, + kRPGMapItemsMenuLayerTagBtnDiscard = 85 }; class RPGMapItemsMenuLayer : public CCLayerColor, CCTableViewDelegate, CCTableViewDataSource diff --git a/Classes/RPGMapMenuLayer.h b/Classes/RPGMapMenuLayer.h index 3617305..64832b9 100755 --- a/Classes/RPGMapMenuLayer.h +++ b/Classes/RPGMapMenuLayer.h @@ -33,17 +33,6 @@ enum RPGMapMenuLayerTag kRPGMapMenuLayerTagDialogExitOK = 9, kRPGMapMenuLayerTagDialogCancel = 10, kRPGMapMenuLayerTagDialog = 11, - kRPGMapMenuLayerTagStatusPlayerName = 13, - kRPGMapMenuLayerTagStatusPlayerLevel = 14, - kRPGMapMenuLayerTagStatusPlayerHP = 15, - kRPGMapMenuLayerTagStatusPlayerMP = 16, - kRPGMapMenuLayerTagStatusPlayerAttack = 17, - kRPGMapMenuLayerTagStatusPlayerDefense = 18, - kRPGMapMenuLayerTagStatusPlayerSpeed = 19, - kRPGMapMenuLayerTagStatusPlayerSkillAttack = 20, - kRPGMapMenuLayerTagStatusPlayerSkillDefense = 21, - kRPGMapMenuLayerTagStatusPlayerEquipArms = 23, - kRPGMapMenuLayerTagStatusPlayerEquipArmor = 24, kRPGMapMenuLayerTagDefualtPlayerTex = 200, kRPGMapMenuLayerTagDefualtPlayerName = 300, kRPGMapMenuLayerTagDefualtPlayerLevel = 400, diff --git a/Classes/RPGMapSkillMenuLayer.cpp b/Classes/RPGMapSkillMenuLayer.cpp index 3cafd09..a803916 100644 --- a/Classes/RPGMapSkillMenuLayer.cpp +++ b/Classes/RPGMapSkillMenuLayer.cpp @@ -37,7 +37,7 @@ bool RPGMapSkillMenuLayer::init(cocos2d::CCDictionary *stringList, CppSQLite3DB this->m_skillList = new CCArray(); this->m_skillList->init(); - this->m_statusIsDefault = true; + this->m_isDefault = true; this->m_enabledPlayerSkill = true; //默认可以点击技能项 @@ -199,7 +199,7 @@ unsigned int RPGMapSkillMenuLayer::numberOfCellsInTableView(CCTableView *tableVi void RPGMapSkillMenuLayer::onMenu(cocos2d::CCObject *pObject) { //第一次显示数据的话则不播放效果音 - if(!this->m_statusIsDefault) + if(!this->m_isDefault) SimpleAudioEngine::sharedEngine()->playEffect("audio_effect_btn.wav"); CCMenuItem *menuItem = (CCMenuItem*)pObject; @@ -237,7 +237,7 @@ void RPGMapSkillMenuLayer::onMenu(cocos2d::CCObject *pObject) { if(menuItem->getTag() == kRPGMapSkillMenuLayerTagMainMenuPlayer + query.getIntField("id")) { - this->m_statusIsDefault = false; + this->m_isDefault = false; int dataId = query.getIntField("id"); this->setPlayerSkill(dataId); diff --git a/Classes/RPGMapSkillMenuLayer.h b/Classes/RPGMapSkillMenuLayer.h index a19ded8..27a46b6 100644 --- a/Classes/RPGMapSkillMenuLayer.h +++ b/Classes/RPGMapSkillMenuLayer.h @@ -40,7 +40,7 @@ private: CCArray* m_skillList; - bool m_statusIsDefault; //是否为第一次进入状态界面,如果是的话就不播放效果音了 + bool m_isDefault; //是否为第一次进入技能界面,如果是的话就不播放效果音了 int m_selectedPlayerId; //选中上面的player的id bool m_enabledPlayerSkill; //是否允许点击技能项,死亡状态、相关异常状态或MP为0时设置为false diff --git a/Classes/RPGMapStatusMenuLayer.cpp b/Classes/RPGMapStatusMenuLayer.cpp index 7367b37..8798b7b 100644 --- a/Classes/RPGMapStatusMenuLayer.cpp +++ b/Classes/RPGMapStatusMenuLayer.cpp @@ -36,7 +36,7 @@ bool RPGMapStatusMenuLayer::init(cocos2d::CCDictionary *stringList, CppSQLite3DB this->m_skillList = new CCArray(); this->m_skillList->init(); - this->m_statusIsDefault = true; + this->m_isDefault = true; CCMenu *mainMenu = CCMenu::create(); mainMenu->setTag(kRPGMapStatusMenuLayerTagMainMenu); @@ -118,7 +118,7 @@ RPGMapStatusMenuLayer* RPGMapStatusMenuLayer::create(cocos2d::CCDictionary *stri void RPGMapStatusMenuLayer::onMenu(cocos2d::CCObject *pObject) { //第一次显示数据的话则不播放效果音 - if(!this->m_statusIsDefault) + if(!this->m_isDefault) SimpleAudioEngine::sharedEngine()->playEffect("audio_effect_btn.wav"); CCMenuItem *menuItem = (CCMenuItem*)pObject; @@ -156,7 +156,7 @@ void RPGMapStatusMenuLayer::onMenu(cocos2d::CCObject *pObject) { if(menuItem->getTag() == kRPGMapStatusMenuLayerTagMainMenuPlayer + query.getIntField("id")) { - this->m_statusIsDefault = false; + this->m_isDefault = false; // CCLog("选中了id为%i的角色", query.getIntField("id")); int dataId = query.getIntField("id"); @@ -194,19 +194,19 @@ void RPGMapStatusMenuLayer::setStatusPlayer(int dataId) while(!query.eof()) { //左边 - addLab(this, kRPGMapMenuLayerTagStatusPlayerName, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("status_name"))->getCString(), query.getStringField("name_cns")), ccp(250, 410)); - addLab(this, kRPGMapMenuLayerTagStatusPlayerLevel, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("status_level"))->getCString(), query.getIntField("level"), query.getIntField("next_exp")), ccp(243, 370)); - addLab(this, kRPGMapMenuLayerTagStatusPlayerHP, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("status_hp"))->getCString(), query.getIntField("hp"), query.getIntField("max_hp")), ccp(262, 330)); - addLab(this, kRPGMapMenuLayerTagStatusPlayerMP, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("status_mp"))->getCString(), query.getIntField("mp"), query.getIntField("max_mp")), ccp(259, 290)); - addLab(this, kRPGMapMenuLayerTagStatusPlayerAttack, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("status_attack"))->getCString(), query.getIntField("attack")), ccp(249, 250)); - addLab(this, kRPGMapMenuLayerTagStatusPlayerDefense, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("status_defense"))->getCString(), query.getIntField("defense")), ccp(249, 210)); - addLab(this, kRPGMapMenuLayerTagStatusPlayerSpeed, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("status_speed"))->getCString(), query.getIntField("speed")), ccp(249, 170)); - addLab(this, kRPGMapMenuLayerTagStatusPlayerSkillAttack, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("status_skill_attack"))->getCString(), query.getIntField("skill_attack")), ccp(249, 130)); - addLab(this, kRPGMapMenuLayerTagStatusPlayerSkillDefense, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("status_skill_defense"))->getCString(), query.getIntField("skill_defense")), ccp(249, 90)); + addLab(this, kRPGMapStatusMenuLayerTagName, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("status_name"))->getCString(), query.getStringField("name_cns")), ccp(250, 410)); + addLab(this, kRPGMapStatusMenuLayerTagLevel, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("status_level"))->getCString(), query.getIntField("level"), query.getIntField("next_exp")), ccp(243, 370)); + addLab(this, kRPGMapStatusMenuLayerTagHP, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("status_hp"))->getCString(), query.getIntField("hp"), query.getIntField("max_hp")), ccp(262, 330)); + addLab(this, kRPGMapStatusMenuLayerTagMP, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("status_mp"))->getCString(), query.getIntField("mp"), query.getIntField("max_mp")), ccp(259, 290)); + addLab(this, kRPGMapStatusMenuLayerTagAttack, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("status_attack"))->getCString(), query.getIntField("attack")), ccp(249, 250)); + addLab(this, kRPGMapStatusMenuLayerTagDefense, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("status_defense"))->getCString(), query.getIntField("defense")), ccp(249, 210)); + addLab(this, kRPGMapStatusMenuLayerTagSpeed, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("status_speed"))->getCString(), query.getIntField("speed")), ccp(249, 170)); + addLab(this, kRPGMapStatusMenuLayerTagSkillAttack, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("status_skill_attack"))->getCString(), query.getIntField("skill_attack")), ccp(249, 130)); + addLab(this, kRPGMapStatusMenuLayerTagSkillDefense, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("status_skill_defense"))->getCString(), query.getIntField("skill_defense")), ccp(249, 90)); //右边装备部分 - addLab(this, kRPGMapMenuLayerTagStatusPlayerEquipArms, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("status_equip_arms"))->getCString(), query.getStringField("arms_name")), ccp(570, 410)); - addLab(this, kRPGMapMenuLayerTagStatusPlayerEquipArmor, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("status_equip_armor"))->getCString(), query.getStringField("armor_name")), ccp(570, 370)); + addLab(this, kRPGMapStatusMenuLayerTagEquipArms, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("status_equip_arms"))->getCString(), query.getStringField("arms_name")), ccp(570, 410)); + addLab(this, kRPGMapStatusMenuLayerTagEquipArmor, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("status_equip_armor"))->getCString(), query.getStringField("armor_name")), ccp(570, 370)); //右边技能部分 @@ -268,38 +268,38 @@ void RPGMapStatusMenuLayer::setStatusPlayer(int dataId) void RPGMapStatusMenuLayer::removeAllPlayerLab() { //清理各个lab部分 - if(this->getChildByTag(kRPGMapMenuLayerTagStatusPlayerName)) - this->removeChildByTag(kRPGMapMenuLayerTagStatusPlayerName, true); + if(this->getChildByTag(kRPGMapStatusMenuLayerTagName)) + this->removeChildByTag(kRPGMapStatusMenuLayerTagName, true); - if(this->getChildByTag(kRPGMapMenuLayerTagStatusPlayerLevel)) - this->removeChildByTag(kRPGMapMenuLayerTagStatusPlayerLevel, true); + if(this->getChildByTag(kRPGMapStatusMenuLayerTagLevel)) + this->removeChildByTag(kRPGMapStatusMenuLayerTagLevel, true); - if(this->getChildByTag(kRPGMapMenuLayerTagStatusPlayerHP)) - this->removeChildByTag(kRPGMapMenuLayerTagStatusPlayerHP, true); + if(this->getChildByTag(kRPGMapStatusMenuLayerTagHP)) + this->removeChildByTag(kRPGMapStatusMenuLayerTagHP, true); - if(this->getChildByTag(kRPGMapMenuLayerTagStatusPlayerMP)) - this->removeChildByTag(kRPGMapMenuLayerTagStatusPlayerMP, true); + if(this->getChildByTag(kRPGMapStatusMenuLayerTagMP)) + this->removeChildByTag(kRPGMapStatusMenuLayerTagMP, true); - if(this->getChildByTag(kRPGMapMenuLayerTagStatusPlayerAttack)) - this->removeChildByTag(kRPGMapMenuLayerTagStatusPlayerAttack, true); + if(this->getChildByTag(kRPGMapStatusMenuLayerTagAttack)) + this->removeChildByTag(kRPGMapStatusMenuLayerTagAttack, true); - if(this->getChildByTag(kRPGMapMenuLayerTagStatusPlayerDefense)) - this->removeChildByTag(kRPGMapMenuLayerTagStatusPlayerDefense, true); + if(this->getChildByTag(kRPGMapStatusMenuLayerTagDefense)) + this->removeChildByTag(kRPGMapStatusMenuLayerTagDefense, true); - if(this->getChildByTag(kRPGMapMenuLayerTagStatusPlayerSpeed)) - this->removeChildByTag(kRPGMapMenuLayerTagStatusPlayerSpeed, true); + if(this->getChildByTag(kRPGMapStatusMenuLayerTagSpeed)) + this->removeChildByTag(kRPGMapStatusMenuLayerTagSpeed, true); - if(this->getChildByTag(kRPGMapMenuLayerTagStatusPlayerSkillAttack)) - this->removeChildByTag(kRPGMapMenuLayerTagStatusPlayerSkillAttack, true); + if(this->getChildByTag(kRPGMapStatusMenuLayerTagSkillAttack)) + this->removeChildByTag(kRPGMapStatusMenuLayerTagSkillAttack, true); - if(this->getChildByTag(kRPGMapMenuLayerTagStatusPlayerSkillDefense)) - this->removeChildByTag(kRPGMapMenuLayerTagStatusPlayerSkillDefense, true); + if(this->getChildByTag(kRPGMapStatusMenuLayerTagSkillDefense)) + this->removeChildByTag(kRPGMapStatusMenuLayerTagSkillDefense, true); - if(this->getChildByTag(kRPGMapMenuLayerTagStatusPlayerEquipArms)) - this->removeChildByTag(kRPGMapMenuLayerTagStatusPlayerEquipArms, true); + if(this->getChildByTag(kRPGMapStatusMenuLayerTagEquipArms)) + this->removeChildByTag(kRPGMapStatusMenuLayerTagEquipArms, true); - if(this->getChildByTag(kRPGMapMenuLayerTagStatusPlayerEquipArmor)) - this->removeChildByTag(kRPGMapMenuLayerTagStatusPlayerEquipArmor, true); + if(this->getChildByTag(kRPGMapStatusMenuLayerTagEquipArmor)) + this->removeChildByTag(kRPGMapStatusMenuLayerTagEquipArmor, true); } //CCTableView diff --git a/Classes/RPGMapStatusMenuLayer.h b/Classes/RPGMapStatusMenuLayer.h index cf84e00..468d661 100644 --- a/Classes/RPGMapStatusMenuLayer.h +++ b/Classes/RPGMapStatusMenuLayer.h @@ -25,7 +25,18 @@ enum RPGMapStatusMenuLayerTag kRPGMapStatusMenuLayerTagMainMenu = 2, kRPGMapStatusMenuLayerTagMainMenuBack = 12, kRPGMapStatusMenuLayerTagPlayerSkillTable = 25, - kRPGMapStatusMenuLayerTagMainMenuPlayer = 100 + kRPGMapStatusMenuLayerTagMainMenuPlayer = 100, + kRPGMapStatusMenuLayerTagName = 13, + kRPGMapStatusMenuLayerTagLevel = 14, + kRPGMapStatusMenuLayerTagHP = 15, + kRPGMapStatusMenuLayerTagMP = 16, + kRPGMapStatusMenuLayerTagAttack = 17, + kRPGMapStatusMenuLayerTagDefense = 18, + kRPGMapStatusMenuLayerTagSpeed = 19, + kRPGMapStatusMenuLayerTagSkillAttack = 20, + kRPGMapStatusMenuLayerTagSkillDefense = 21, + kRPGMapStatusMenuLayerTagEquipArms = 23, + kRPGMapStatusMenuLayerTagEquipArmor = 24, }; @@ -34,7 +45,7 @@ class RPGMapStatusMenuLayer : public CCLayerColor, CCTableViewDelegate, CCTableV private: - bool m_statusIsDefault; //是否为第一次进入状态界面,如果是的话就不播放效果音了 + bool m_isDefault; //是否为第一次进入状态界面,如果是的话就不播放效果音了 CCDictionary* m_stringList; CppSQLite3DB* m_db; diff --git a/Classes/RPGResultsLogic.cpp b/Classes/RPGResultsLogic.cpp index 19012c5..db5d6ef 100644 --- a/Classes/RPGResultsLogic.cpp +++ b/Classes/RPGResultsLogic.cpp @@ -11,45 +11,41 @@ //执行操作后player的数据更新 #define PLAYER_UPDATE "update player set %s = %i where id = %i" -//使用道具后现有道具的变化 -#define SAVEDATA_ITEMS_UPDATE "update save_data set items = '%s' where id = 1" +//丢弃一个道具 +#define ITEMS_DISCARD "delete from items_existing where id = %i" + +//扣减一个道具 +#define ITEMS_DEDUCTIONS "update items_existing set total = total - 1 where id = %i" + +//查询一个现有道具的数量 +#define ITEMS_GET "select * from items_existing where id = %i" //查询一个技能的明细 #define SKILL_DETAIL_QUERY "select * from skill where id = %i" +void RPGResultsLogic::discardItems(CppSQLite3DB *db, int itemsId) +{ + db->execDML(CCString::createWithFormat(ITEMS_DISCARD, itemsId)->getCString()); +} + void RPGResultsLogic::deductionsItems(CppSQLite3DB *db, int itemsId) { - CppSQLite3Query query = db->execQuery(SAVEDATA_QUERY); + CCString *sql = NULL; + CppSQLite3Query query = db->execQuery(CCString::createWithFormat(ITEMS_GET, itemsId)->getCString()); while(!query.eof()) { - JsonBox::Value json; - json.loadFromString(query.getStringField("items")); - - JsonBox::Array resultsJsonArr; //输出结果 - - JsonBox::Array items = json.getArray(); - for (int i = 0; i < (int)items.size(); i++) - { - JsonBox::Value item = items[i].getObject(); - - //扣减目标id - if(item["id"].getInt() == itemsId) - item["total"] = item["total"].getInt() - 1; - - //如果该道具没有用完,则加入输出结果 - if(item["total"].getInt() > 0) - resultsJsonArr.push_back(item); - } - - ostringstream s; - ((JsonBox::Value)resultsJsonArr).writeToStream(s); - string result = s.str(); -// CCLog("%s", result.c_str()); - db->execDML(CCString::createWithFormat(SAVEDATA_ITEMS_UPDATE, result.c_str())->getCString()); + if(query.getIntField("total") <= 1) + sql = CCString::createWithFormat(ITEMS_DISCARD, itemsId); + else + sql = CCString::createWithFormat(ITEMS_DEDUCTIONS, itemsId); query.nextRow(); } query.finalize(); + + if(sql) + db->execDML(sql->getCString()); + } bool RPGResultsLogic::useItems(CppSQLite3DB* db, int playerId, int itemsId) diff --git a/Classes/RPGResultsLogic.h b/Classes/RPGResultsLogic.h index e4d0eeb..c5512a6 100644 --- a/Classes/RPGResultsLogic.h +++ b/Classes/RPGResultsLogic.h @@ -22,6 +22,7 @@ class RPGResultsLogic { public: + static void discardItems(CppSQLite3DB* db, int itemsId); //丢弃道具 static void deductionsItems(CppSQLite3DB* db, int itemsId); //扣减道具数 static bool useItems(CppSQLite3DB* db, int playerId, int itemsId); //使用道具,返回成功或失败 diff --git a/Resources/db.sys b/Resources/db.sys index 69d9cb6c8a41f158de7075bffaa2e352741a378a..6c0cee21dcd82910d79d7ddb2fc3d6197b0baca3 100755 GIT binary patch delta 351 zcmZo@5NT)-n;kx9_cHa%U0YsK3Ba|Dyg;{hj)2^%v@Y z)qkmf2lC#=2^xF`EUe57j65tXK$3}t8Ax)mFab$+7Dgb+%EAF=vx7-CAj#Fj+`_V~ HfvEuiy0C2{ delta 227 zcmZo@5Nl`qNRzijl!2p2kfG*gy;5aq_1@Ce zMS^8v6?PSN8yhDSZssduXJRQo#yD+aqsC;%648x)p^TeXmr66SR7EgUOl&OKY*%5< zsMMIi!!9l_&)Cdgl9-f}TAWyx8lRF_k_cz8O|B`KuBV_>kds)MS`?p>S(KVwl9`{U zq!8v9状态 menu_items 道具 + menu_items_discard + 丢弃[%s] menu_items_choice 对谁使用[%s]道具呢? menu_items_fail 道具使用失败 menu_equip 装备 + menu_equip_attack + 攻击:%i + menu_equip_defense + 防御:%i + menu_equip_speed + 速度:%i + menu_equip_skill_attack + 魔攻:%i + menu_equip_skill_defense + 魔防:%i + menu_equip_arms + 武器:%s + menu_equip_armor + 防具:%s diff --git a/proj.ios/OzgGameRPG.xcodeproj/project.xcworkspace/xcuserdata/ouzhigang.xcuserdatad/UserInterfaceState.xcuserstate b/proj.ios/OzgGameRPG.xcodeproj/project.xcworkspace/xcuserdata/ouzhigang.xcuserdatad/UserInterfaceState.xcuserstate index 659d37e0c8d45b9d92b7bfb283fa76182108cfad..76d2ffc38bcb9a7ad17109c22fe119539ef4cc05 100644 GIT binary patch delta 32521 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 diff --git a/proj.ios/OzgGameRPG.xcodeproj/project.xcworkspace/xcuserdata/tpwid.xcuserdatad/UserInterfaceState.xcuserstate b/proj.ios/OzgGameRPG.xcodeproj/project.xcworkspace/xcuserdata/tpwid.xcuserdatad/UserInterfaceState.xcuserstate index b1b4649155882cfc1f446cca2a27097fdff3c9a4..15fb9b041d0b07b0a554c50aa7eb2d99c2bcf48a 100644 GIT binary patch delta 25706 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 delta 25715 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