📄 itemfactorymanager.cpp
字号:
//////////////////////////////////////////////////////////////////////////////// Filename : ItemFactoryManager.cpp // Written By : Reiot// Description ://////////////////////////////////////////////////////////////////////////////#include "Item.h"#include "ItemUtil.h"#include "Assert.h"#include "ItemFactoryManager.h"#include "ItemInfoManager.h"#include "StringStream.h"#include <string.h>#include "Motorcycle.h"#include "Potion.h"#include "Water.h"#include "HolyWater.h"#include "Magazine.h"#include "BombMaterial.h"#include "ETC.h"#include "Key.h"#include "Ring.h"#include "Bracelet.h"#include "Necklace.h"#include "Coat.h"#include "Trouser.h"#include "Shoes.h"#include "Sword.h"#include "Blade.h"#include "Shield.h"#include "Cross.h"#include "Mace.h"#include "Glove.h"#include "Helm.h"#include "SG.h"#include "SMG.h"#include "AR.h"#include "SR.h"#include "Bomb.h"#include "Mine.h"#include "Belt.h"#include "LearningItem.h"#include "Money.h"#include "Corpse.h"#include "VampireRing.h"#include "VampireBracelet.h"#include "VampireNecklace.h"#include "VampireCoat.h"#include "Skull.h"#include "Serum.h"#include "VampireETC.h"#include "SlayerPortalItem.h"#include "VampirePortalItem.h"#include "EventGiftBox.h"#include "EventStar.h"#include "VampireEarring.h"#include "Relic.h"#include "VampireWeapon.h"#include "VampireAmulet.h"#include "QuestItem.h"#include "EventTree.h"#include "EventETC.h"#include "BloodBible.h"#include "CastleSymbol.h"#include "CoupleRing.h"#include "VampireCoupleRing.h"#include "EventItem.h"#include "DyePotion.h"#include "ResurrectItem.h"#include "MixingItem.h"#include "OustersArmsband.h"#include "OustersBoots.h"#include "OustersChakram.h"#include "OustersCirclet.h"#include "OustersCoat.h"#include "OustersPendent.h"#include "OustersRing.h"#include "OustersStone.h"#include "OustersWristlet.h"#include "Larva.h"#include "Pupa.h"#include "ComposMei.h"#include "OustersSummonItem.h"#include "EffectItem.h"#include "CodeSheet.h"#include "item/MoonCard.h"#include "Sweeper.h"#include "PetItem.h"#include "PetFood.h"#include "PetEnchantItem.h"#include "LuckyBag.h"////////////////////////////////////////////////////////////////////////// constructor////////////////////////////////////////////////////////////////////////ItemFactoryManager::ItemFactoryManager () throw (): m_Factories(NULL) , m_Size(Item::ITEM_CLASS_MAX){ __BEGIN_TRY Assert(m_Size > 0); // 酒捞袍蒲配府硅凯阑 积己茄促. m_Factories = new ItemFactory*[ m_Size ]; // 蒲配府俊 措茄 器牢磐甸阑 NULL 肺 檬扁拳茄促. for (int i = 0 ; i < m_Size ; i ++) m_Factories[i] = NULL; __END_CATCH}////////////////////////////////////////////////////////////////////////// destructor////////////////////////////////////////////////////////////////////////ItemFactoryManager::~ItemFactoryManager () throw (){ __BEGIN_TRY Assert(m_Factories != NULL); // 阿阿狼 酒捞袍蒲配府甸阑 昏力茄促. for (int i = 0 ; i < m_Size ; i ++) SAFE_DELETE(m_Factories[i]); // 酒捞袍蒲配府硅凯阑 昏力茄促. SAFE_DELETE_ARRAY(m_Factories); __END_CATCH}////////////////////////////////////////////////////////////////////////// 沥狼等 葛电 酒捞袍蒲配府甸阑 咯扁俊 眠啊茄促.////////////////////////////////////////////////////////////////////////void ItemFactoryManager::init () throw (Error){ __BEGIN_TRY m_Factories[Item::ITEM_CLASS_MOTORCYCLE] = new MotorcycleFactory(); m_ItemClassMap[m_Factories[Item::ITEM_CLASS_MOTORCYCLE]->getItemClassName()] = Item::ITEM_CLASS_MOTORCYCLE; m_Factories[Item::ITEM_CLASS_POTION] = new PotionFactory(); m_ItemClassMap[m_Factories[Item::ITEM_CLASS_POTION]->getItemClassName()] = Item::ITEM_CLASS_POTION; m_Factories[Item::ITEM_CLASS_WATER] = new WaterFactory(); m_ItemClassMap[m_Factories[Item::ITEM_CLASS_WATER]->getItemClassName()] = Item::ITEM_CLASS_WATER; m_Factories[Item::ITEM_CLASS_HOLYWATER] = new HolyWaterFactory(); m_ItemClassMap[m_Factories[Item::ITEM_CLASS_HOLYWATER]->getItemClassName()] = Item::ITEM_CLASS_HOLYWATER; m_Factories[Item::ITEM_CLASS_MAGAZINE] = new MagazineFactory(); m_ItemClassMap[m_Factories[Item::ITEM_CLASS_MAGAZINE]->getItemClassName()] = Item::ITEM_CLASS_MAGAZINE; m_Factories[Item::ITEM_CLASS_BOMB_MATERIAL] = new BombMaterialFactory(); m_ItemClassMap[m_Factories[Item::ITEM_CLASS_BOMB_MATERIAL]->getItemClassName()] = Item::ITEM_CLASS_BOMB_MATERIAL; m_Factories[Item::ITEM_CLASS_ETC] = new ETCFactory(); m_ItemClassMap[m_Factories[Item::ITEM_CLASS_ETC]->getItemClassName()] = Item::ITEM_CLASS_ETC; m_Factories[Item::ITEM_CLASS_KEY] = new KeyFactory(); m_ItemClassMap[m_Factories[Item::ITEM_CLASS_KEY]->getItemClassName()] = Item::ITEM_CLASS_KEY; m_Factories[Item::ITEM_CLASS_RING] = new RingFactory(); m_ItemClassMap[m_Factories[Item::ITEM_CLASS_RING]->getItemClassName()] = Item::ITEM_CLASS_RING; m_Factories[Item::ITEM_CLASS_BRACELET] = new BraceletFactory(); m_ItemClassMap[m_Factories[Item::ITEM_CLASS_BRACELET]->getItemClassName()] = Item::ITEM_CLASS_BRACELET; m_Factories[Item::ITEM_CLASS_NECKLACE] = new NecklaceFactory(); m_ItemClassMap[m_Factories[Item::ITEM_CLASS_NECKLACE]->getItemClassName()] = Item::ITEM_CLASS_NECKLACE; m_Factories[Item::ITEM_CLASS_COAT] = new CoatFactory(); m_ItemClassMap[m_Factories[Item::ITEM_CLASS_COAT]->getItemClassName()] = Item::ITEM_CLASS_COAT; m_Factories[Item::ITEM_CLASS_TROUSER] = new TrouserFactory(); m_ItemClassMap[m_Factories[Item::ITEM_CLASS_TROUSER]->getItemClassName()] = Item::ITEM_CLASS_TROUSER; m_Factories[Item::ITEM_CLASS_SHOES] = new ShoesFactory(); m_ItemClassMap[m_Factories[Item::ITEM_CLASS_SHOES]->getItemClassName()] = Item::ITEM_CLASS_SHOES; m_Factories[Item::ITEM_CLASS_SWORD] = new SwordFactory(); m_ItemClassMap[m_Factories[Item::ITEM_CLASS_SWORD]->getItemClassName()] = Item::ITEM_CLASS_SWORD; m_Factories[Item::ITEM_CLASS_BLADE] = new BladeFactory(); m_ItemClassMap[m_Factories[Item::ITEM_CLASS_BLADE]->getItemClassName()] = Item::ITEM_CLASS_BLADE; m_Factories[Item::ITEM_CLASS_SHIELD] = new ShieldFactory(); m_ItemClassMap[m_Factories[Item::ITEM_CLASS_SHIELD]->getItemClassName()] = Item::ITEM_CLASS_SHIELD; m_Factories[Item::ITEM_CLASS_CROSS] = new CrossFactory(); m_ItemClassMap[m_Factories[Item::ITEM_CLASS_CROSS]->getItemClassName()] = Item::ITEM_CLASS_CROSS; m_Factories[Item::ITEM_CLASS_GLOVE] = new GloveFactory(); m_ItemClassMap[m_Factories[Item::ITEM_CLASS_GLOVE]->getItemClassName()] = Item::ITEM_CLASS_GLOVE; m_Factories[Item::ITEM_CLASS_HELM] = new HelmFactory(); m_ItemClassMap[m_Factories[Item::ITEM_CLASS_HELM]->getItemClassName()] = Item::ITEM_CLASS_HELM; m_Factories[Item::ITEM_CLASS_SG] = new SGFactory(); m_ItemClassMap[m_Factories[Item::ITEM_CLASS_SG]->getItemClassName()] = Item::ITEM_CLASS_SG; m_Factories[Item::ITEM_CLASS_SMG] = new SMGFactory(); m_ItemClassMap[m_Factories[Item::ITEM_CLASS_SMG]->getItemClassName()] = Item::ITEM_CLASS_SMG; m_Factories[Item::ITEM_CLASS_AR] = new ARFactory(); m_ItemClassMap[m_Factories[Item::ITEM_CLASS_AR]->getItemClassName()] = Item::ITEM_CLASS_AR; m_Factories[Item::ITEM_CLASS_SR] = new SRFactory(); m_ItemClassMap[m_Factories[Item::ITEM_CLASS_SR]->getItemClassName()] = Item::ITEM_CLASS_SR; m_Factories[Item::ITEM_CLASS_BOMB] = new BombFactory(); m_ItemClassMap[m_Factories[Item::ITEM_CLASS_BOMB]->getItemClassName()] = Item::ITEM_CLASS_BOMB; m_Factories[Item::ITEM_CLASS_MINE] = new MineFactory(); m_ItemClassMap[m_Factories[Item::ITEM_CLASS_MINE]->getItemClassName()] = Item::ITEM_CLASS_MINE; m_Factories[Item::ITEM_CLASS_BELT] = new BeltFactory(); m_ItemClassMap[m_Factories[Item::ITEM_CLASS_BELT]->getItemClassName()] = Item::ITEM_CLASS_BELT; m_Factories[Item::ITEM_CLASS_LEARNINGITEM] = new LearningItemFactory(); m_ItemClassMap[m_Factories[Item::ITEM_CLASS_LEARNINGITEM]->getItemClassName()] = Item::ITEM_CLASS_LEARNINGITEM; m_Factories[Item::ITEM_CLASS_MONEY] = new MoneyFactory(); m_ItemClassMap[m_Factories[Item::ITEM_CLASS_MONEY]->getItemClassName()] = Item::ITEM_CLASS_MONEY; m_Factories[Item::ITEM_CLASS_CORPSE] = NULL; //m_ItemClassMap[m_Factories[Item::ITEM_CLASS_CORPSE]->getItemClassName()] = Item::ITEM_CLASS_CORPSE; m_Factories[Item::ITEM_CLASS_VAMPIRE_RING] = new VampireRingFactory(); m_ItemClassMap[m_Factories[Item::ITEM_CLASS_VAMPIRE_RING]->getItemClassName()] = Item::ITEM_CLASS_VAMPIRE_RING; m_Factories[Item::ITEM_CLASS_VAMPIRE_BRACELET] = new VampireBraceletFactory(); m_ItemClassMap[m_Factories[Item::ITEM_CLASS_VAMPIRE_BRACELET]->getItemClassName()] = Item::ITEM_CLASS_VAMPIRE_BRACELET; m_Factories[Item::ITEM_CLASS_VAMPIRE_NECKLACE] = new VampireNecklaceFactory(); m_ItemClassMap[m_Factories[Item::ITEM_CLASS_VAMPIRE_NECKLACE]->getItemClassName()] = Item::ITEM_CLASS_VAMPIRE_NECKLACE; m_Factories[Item::ITEM_CLASS_VAMPIRE_COAT] = new VampireCoatFactory(); m_ItemClassMap[m_Factories[Item::ITEM_CLASS_VAMPIRE_COAT]->getItemClassName()] = Item::ITEM_CLASS_VAMPIRE_COAT; m_Factories[Item::ITEM_CLASS_SKULL] = new SkullFactory(); m_ItemClassMap[m_Factories[Item::ITEM_CLASS_SKULL]->getItemClassName()] = Item::ITEM_CLASS_SKULL; m_Factories[Item::ITEM_CLASS_MACE] = new MaceFactory(); m_ItemClassMap[m_Factories[Item::ITEM_CLASS_MACE]->getItemClassName()] = Item::ITEM_CLASS_MACE;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -