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)
|
if(dynamic_cast<RPGPlayer*>(attackObjData) != NULL)
|
||||||
@@ -884,7 +884,7 @@ void RPGBattleSceneLayer::attackResults(cocos2d::CCNode *sender, void *data)
|
|||||||
//判断发起攻击的对象是player还是怪物
|
//判断发起攻击的对象是player还是怪物
|
||||||
if(dynamic_cast<RPGBattlePlayerSprite*>(sender) != NULL)
|
if(dynamic_cast<RPGBattlePlayerSprite*>(sender) != NULL)
|
||||||
{
|
{
|
||||||
if(dynamic_cast<RPGMonster*>((CCObject*)data) != NULL)
|
if(dynamic_cast<RPGMonster*>((RPGBaseRole*)data) != NULL)
|
||||||
{
|
{
|
||||||
//player攻击怪物
|
//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);
|
int results = RPGComputingResults::attackResults(((RPGBattlePlayerSprite*)sender)->m_data->m_attack, ((RPGMonster*)data)->m_defense);
|
||||||
targetMonster->showEffectResults(this, -results, sender);
|
targetMonster->showEffectResults(this, -results, sender);
|
||||||
}
|
}
|
||||||
else if(dynamic_cast<RPGPlayer*>((CCObject*)data) != NULL)
|
else if(dynamic_cast<RPGPlayer*>((RPGBaseRole*)data) != NULL)
|
||||||
{
|
{
|
||||||
//player攻击player
|
//player攻击player
|
||||||
RPGBattlePlayerSprite *targetPlayer = (RPGBattlePlayerSprite*)this->getChildByTag(kRPGBattleSceneLayerTagPlayer + ((RPGPlayer*)data)->m_dataId);
|
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);
|
RPGBattlePlayerSprite *srcPlayer = (RPGBattlePlayerSprite*)this->getChildByTag(kRPGBattleSceneLayerTagPlayer + ((RPGPlayer*)useItemObjData)->m_dataId);
|
||||||
srcPlayer->animUseItem(this, targetObjData);
|
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<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));
|
int results = RPGResultsLogic::battleUseItems(this->m_existingItems, (RPGMonster*)data, CCUserDefault::sharedUserDefault()->getIntegerForKey(GAME_BATTLE_SELECTED_ID));
|
||||||
targetMonster->showEffectResults(this, results, sender);
|
targetMonster->showEffectResults(this, results, sender);
|
||||||
}
|
}
|
||||||
else if(dynamic_cast<RPGPlayer*>((CCObject*)data) != NULL)
|
else if(dynamic_cast<RPGPlayer*>((RPGBaseRole*)data) != NULL)
|
||||||
{
|
{
|
||||||
//player攻击player
|
//player攻击player
|
||||||
RPGBattlePlayerSprite *targetPlayer = (RPGBattlePlayerSprite*)this->getChildByTag(kRPGBattleSceneLayerTagPlayer + ((RPGPlayer*)data)->m_dataId);
|
RPGBattlePlayerSprite *targetPlayer = (RPGBattlePlayerSprite*)this->getChildByTag(kRPGBattleSceneLayerTagPlayer + ((RPGPlayer*)data)->m_dataId);
|
||||||
|
|||||||
@@ -106,11 +106,11 @@ public:
|
|||||||
void cancelAllSelected(); //取消全部选中的对象
|
void cancelAllSelected(); //取消全部选中的对象
|
||||||
|
|
||||||
//攻击
|
//攻击
|
||||||
void attack(CCObject* attackObjData, CCObject* targetObjData); //player或怪物执行攻击
|
void attack(RPGBaseRole* attackObjData, RPGBaseRole* targetObjData); //player或怪物执行攻击
|
||||||
void attackResults(CCNode* sender, void* data); //回调,计算攻击后的结果
|
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 useItemResults(CCNode* sender, void* data); //回调,计算使用道具后的结果
|
||||||
|
|
||||||
void actionWithTargetEffectLabEnd(CCNode* sender, void* data); //回调,攻击、技能、道具流程完毕后执行,这个sender是目标对象中显示的效果值CCLabelTTF
|
void actionWithTargetEffectLabEnd(CCNode* sender, void* data); //回调,攻击、技能、道具流程完毕后执行,这个sender是目标对象中显示的效果值CCLabelTTF
|
||||||
|
|||||||
@@ -133,7 +133,7 @@ bool RPGResultsLogic::useItems(CppSQLite3DB* db, int playerId, int itemsId)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
int RPGResultsLogic::battleUseItems(CCArray* existingItems, cocos2d::CCObject *targetData, int itemsId)
|
int RPGResultsLogic::battleUseItems(CCArray* existingItems, RPGBaseRole *targetData, int itemsId)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
6 草药
|
6 草药
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ public:
|
|||||||
static void discardItems(CppSQLite3DB* db, int itemsId); //丢弃道具
|
static void discardItems(CppSQLite3DB* db, int itemsId); //丢弃道具
|
||||||
static void deductionsItems(CppSQLite3DB* db, int itemsId); //扣减道具数
|
static void deductionsItems(CppSQLite3DB* db, int itemsId); //扣减道具数
|
||||||
static bool useItems(CppSQLite3DB* db, int playerId, 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); //使用回复技能
|
static bool useSkillCure(CppSQLite3DB* db, int srcPlayerId, int targetPlayerId, int srcSkillId); //使用回复技能
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user