mirror of
https://github.com/wu736139669/OzgGameRPG.git
synced 2026-08-05 06:24:38 +00:00
优化数据结构
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 草药
|
||||
|
||||
@@ -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); //使用回复技能
|
||||
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user