优化数据结构

This commit is contained in:
ouzhigang
2014-04-29 16:05:43 +08:00
parent f67b3e3a85
commit d0c80baba8
5 changed files with 10 additions and 10 deletions
+6 -6
View File
@@ -856,7 +856,7 @@ void RPGBattleSceneLayer::cancelAllSelected()
}
void RPGBattleSceneLayer::attack(cocos2d::CCObject *attackObjData, cocos2d::CCObject *targetObjData)
void RPGBattleSceneLayer::attack(RPGBaseRole *attackObjData, RPGBaseRole *targetObjData)
{
//发起攻击的对象
if(dynamic_cast<RPGPlayer*>(attackObjData) != NULL)
@@ -884,7 +884,7 @@ void RPGBattleSceneLayer::attackResults(cocos2d::CCNode *sender, void *data)
//判断发起攻击的对象是player还是怪物
if(dynamic_cast<RPGBattlePlayerSprite*>(sender) != NULL)
{
if(dynamic_cast<RPGMonster*>((CCObject*)data) != NULL)
if(dynamic_cast<RPGMonster*>((RPGBaseRole*)data) != NULL)
{
//player攻击怪物
@@ -894,7 +894,7 @@ void RPGBattleSceneLayer::attackResults(cocos2d::CCNode *sender, void *data)
int results = RPGComputingResults::attackResults(((RPGBattlePlayerSprite*)sender)->m_data->m_attack, ((RPGMonster*)data)->m_defense);
targetMonster->showEffectResults(this, -results, sender);
}
else if(dynamic_cast<RPGPlayer*>((CCObject*)data) != NULL)
else if(dynamic_cast<RPGPlayer*>((RPGBaseRole*)data) != NULL)
{
//player攻击player
RPGBattlePlayerSprite *targetPlayer = (RPGBattlePlayerSprite*)this->getChildByTag(kRPGBattleSceneLayerTagPlayer + ((RPGPlayer*)data)->m_dataId);
@@ -930,7 +930,7 @@ void RPGBattleSceneLayer::attackResults(cocos2d::CCNode *sender, void *data)
}
void RPGBattleSceneLayer::useItem(cocos2d::CCObject *useItemObjData, cocos2d::CCObject *targetObjData)
void RPGBattleSceneLayer::useItem(RPGBaseRole *useItemObjData, RPGBaseRole *targetObjData)
{
RPGBattlePlayerSprite *srcPlayer = (RPGBattlePlayerSprite*)this->getChildByTag(kRPGBattleSceneLayerTagPlayer + ((RPGPlayer*)useItemObjData)->m_dataId);
srcPlayer->animUseItem(this, targetObjData);
@@ -943,7 +943,7 @@ void RPGBattleSceneLayer::useItemResults(cocos2d::CCNode *sender, void *data)
if(dynamic_cast<RPGBattlePlayerSprite*>(sender) != NULL)
{
if(dynamic_cast<RPGMonster*>((CCObject*)data) != NULL)
if(dynamic_cast<RPGMonster*>((RPGBaseRole*)data) != NULL)
{
//对怪物使用道具
@@ -953,7 +953,7 @@ void RPGBattleSceneLayer::useItemResults(cocos2d::CCNode *sender, void *data)
int results = RPGResultsLogic::battleUseItems(this->m_existingItems, (RPGMonster*)data, CCUserDefault::sharedUserDefault()->getIntegerForKey(GAME_BATTLE_SELECTED_ID));
targetMonster->showEffectResults(this, results, sender);
}
else if(dynamic_cast<RPGPlayer*>((CCObject*)data) != NULL)
else if(dynamic_cast<RPGPlayer*>((RPGBaseRole*)data) != NULL)
{
//player攻击player
RPGBattlePlayerSprite *targetPlayer = (RPGBattlePlayerSprite*)this->getChildByTag(kRPGBattleSceneLayerTagPlayer + ((RPGPlayer*)data)->m_dataId);
+2 -2
View File
@@ -106,11 +106,11 @@ public:
void cancelAllSelected(); //取消全部选中的对象
//攻击
void attack(CCObject* attackObjData, CCObject* targetObjData); //player或怪物执行攻击
void attack(RPGBaseRole* attackObjData, RPGBaseRole* targetObjData); //player或怪物执行攻击
void attackResults(CCNode* sender, void* data); //回调,计算攻击后的结果
//道具
void useItem(CCObject* useItemObjData, CCObject* targetObjData); //player执行使用道具
void useItem(RPGBaseRole* useItemObjData, RPGBaseRole* targetObjData); //player执行使用道具
void useItemResults(CCNode* sender, void* data); //回调,计算使用道具后的结果
void actionWithTargetEffectLabEnd(CCNode* sender, void* data); //回调,攻击、技能、道具流程完毕后执行,这个sender是目标对象中显示的效果值CCLabelTTF
+1 -1
View File
@@ -133,7 +133,7 @@ bool RPGResultsLogic::useItems(CppSQLite3DB* db, int playerId, int itemsId)
return true;
}
int RPGResultsLogic::battleUseItems(CCArray* existingItems, cocos2d::CCObject *targetData, int itemsId)
int RPGResultsLogic::battleUseItems(CCArray* existingItems, RPGBaseRole *targetData, int itemsId)
{
/*
6 草药
+1 -1
View File
@@ -25,7 +25,7 @@ public:
static void discardItems(CppSQLite3DB* db, int itemsId); //丢弃道具
static void deductionsItems(CppSQLite3DB* db, int itemsId); //扣减道具数
static bool useItems(CppSQLite3DB* db, int playerId, int itemsId); //地图画面中使用道具,返回成功或失败
static int battleUseItems(CCArray* existingItems, CCObject* targetData, int itemsId); //战斗画面中使用道具,existingItems为已有道具,objData为RPGPlayer、RPGMonster,返回的是该道具的效果值
static int battleUseItems(CCArray* existingItems, RPGBaseRole* targetData, int itemsId); //战斗画面中使用道具,existingItems为已有道具,objData为RPGPlayer、RPGMonster,返回的是该道具的效果值
static bool useSkillCure(CppSQLite3DB* db, int srcPlayerId, int targetPlayerId, int srcSkillId); //使用回复技能
BIN
View File
Binary file not shown.