OverlayMgr::OverlayMgr() :mViewportHeight(0), mViewportWidth(0), mViewportChanged(false) { addFactory(TITAN_NEW OverlayPanelElementFactory()); addFactory(TITAN_NEW OverlayTextElementFactory()); }
//----------------------------------------------------------------------- HighLevelGpuProgramManager::HighLevelGpuProgramManager() { // Loading order mLoadOrder = 50.0f; // Resource type mResourceType = "HighLevelGpuProgram"; ResourceGroupManager::getSingleton()._registerResourceManager(mResourceType, this); mNullFactory = OGRE_NEW NullProgramFactory(); addFactory(mNullFactory); mUnifiedFactory = OGRE_NEW UnifiedHighLevelGpuProgramFactory(); addFactory(mUnifiedFactory); }
// 注册所有工厂 void FactoryMgr::_registerFactory() { // 加法工厂 IFactory *pOperFactory = new AddFactory(); addFactory(pOperFactory); // 减法工厂 pOperFactory = new SubFactory(); addFactory(pOperFactory); // 乘法工厂 pOperFactory = new MulFactory(); addFactory(pOperFactory); // 除法工厂 pOperFactory = new DivFactory(); addFactory(pOperFactory); }
Automator::Automator(ds::ui::SpriteEngine& engine, const std::string& watermarkTextConfig) : inherited(engine) , mActive(false) , mWatermark(nullptr) , mWatermarkConfig(watermarkTextConfig) , mFrame(0.0f, 0.0f, 1.0f, 1.0f) , mPeriod(0.016f) , mTotal(0.0f) , mFingerMax(128) { setFrame(ci::Rectf(0.0f, 0.0f, mEngine.getWorldWidth(), mEngine.getWorldHeight())); addFactory(std::shared_ptr<BaseActionFactory>(new DragActionFactory())); addFactory(std::shared_ptr<BaseActionFactory>(new MultiTapActionFactory())); addFactory(std::shared_ptr<BaseActionFactory>(new TapActionFactory())); clear(); }
void ElementDB< BFSM::VelCompFactory, BFSM::VelComponent >::addBuiltins() { addFactory( new BFSM::ConstVCFactory() ); addFactory( new BFSM::ConstDirVCFactory() ); addFactory( new BFSM::ZeroVCFactory() ); addFactory( new BFSM::GoalVCFactory() ); addFactory( new BFSM::VFVCFactory() ); addFactory( new BFSM::RoadMapVCFactory() ); addFactory( new BFSM::NavMeshVCFactory() ); }
void ElementDB<BFSM::ActionFactory, BFSM::Action>::addBuiltins() { addFactory(new BFSM::RemoveObstacleActFactory()); addFactory(new BFSM::AddObstacleyActFactory()); addFactory(new BFSM::SetObstacleActFactory()); addFactory(new BFSM::SetPropertyActFactory()); addFactory(new BFSM::OffsetPropertyActFactory()); addFactory(new BFSM::ScalePropertyActFactory()); addFactory(new BFSM::TeleportActFactory()); }
//----------------------------------------------------------------------------// WindowFactoryManager::WindowFactoryManager(void) { Logger::getSingleton().logEvent( "CEGUI::WindowFactoryManager singleton created"); // complete addition of any pre-added WindowFactory objects WindowFactoryManager::OwnedWindowFactoryList::iterator i = d_ownedFactories.begin(); if (d_ownedFactories.end() != i) { Logger::getSingleton().logEvent( "---- Adding pre-registered WindowFactory objects ----"); for (; d_ownedFactories.end() != i; ++i) addFactory(*i); } }
/************************************************************************* Constructor / Destructor *************************************************************************/ WindowRendererManager::WindowRendererManager() { char addr_buff[32]; sprintf(addr_buff, "(%p)", static_cast<void*>(this)); Logger::getSingleton().logEvent( "CEGUI::WindowRendererManager singleton created " + String(addr_buff)); // complete addition of any pre-added WindowRendererFactory objects OwnedFactoryList::iterator i = d_ownedFactories.begin(); if (d_ownedFactories.end() != i) { Logger::getSingleton().logEvent( "---- Adding pre-registered WindowRendererFactory objects ----"); for (; d_ownedFactories.end() != i; ++i) addFactory(*i); } }
/************************************************************************* Constructor / Destructor *************************************************************************/ WindowRendererManager::WindowRendererManager() { String addressStr = SharedStringstream::GetPointerAddressAsString(this); Logger::getSingleton().logEvent( "CEGUI::WindowRendererManager Singleton created. (" + addressStr + ")"); // complete addition of any pre-added WindowRendererFactory objects OwnedFactoryList::iterator i = d_ownedFactories.begin(); if (d_ownedFactories.end() != i) { Logger::getSingleton().logEvent( "---- Adding pre-registered WindowRendererFactory objects ----"); for (; d_ownedFactories.end() != i; ++i) addFactory(*i); } }
//////////////////////////////////////////////////////////////////////////////// // 정의된 모든 컨디션팩토리들을 여기에 추가한다. //////////////////////////////////////////////////////////////////////////////// void ConditionFactoryManager::init () throw(Error) { __BEGIN_TRY addFactory(new ConditionAtFirstFactory()); addFactory(new ConditionTalkedByFactory()); addFactory(new ConditionIdleFactory()); addFactory(new ConditionEveryTimeFactory()); addFactory(new ConditionAnsweredByFactory()); addFactory(new ConditionFlagOnFactory()); addFactory(new ConditionFlagOffFactory()); addFactory(new ConditionAttrCompFactory()); addFactory(new ConditionRaceCompFactory()); addFactory(new ConditionSameClanFactory()); addFactory(new ConditionPayPlayFactory()); addFactory(new ConditionEnterMasterLairFactory()); addFactory(new ConditionEnterCastleFactory()); addFactory(new ConditionEnterHolyLandFactory()); addFactory(new ConditionEnterCastleDungeonFactory()); addFactory(new ConditionHasQuestFactory()); addFactory(new ConditionHasInvenSpaceFactory()); addFactory(new ConditionCanEnterPayZoneFactory()); addFactory(new ConditionCanEnterBeginnerZoneFactory()); addFactory(new ConditionCanWarpGateFactory()); addFactory(new ConditionCanEnterLevelWarZoneFactory()); addFactory(new ConditionCanPetQuestFactory()); addFactory(new ConditionCanEnterEventZoneFactory()); addFactory(new ConditionEffectFlagFactory()); addFactory(new ConditionCanEnterGDRLairFactory()); addFactory(new ConditionExistReinforceFactory()); addFactory(new ConditionSiegeDefenderSideFactory()); addFactory(new ConditionSiegeAttackerSideFactory()); addFactory(new ConditionNotGuildMemberFactory()); addFactory(new ConditionIsGuildMemberFactory()); addFactory(new ConditionCanEnterQuestZoneFactory()); addFactory(new ConditionHasEnoughFamilyCoinFactory()); __END_CATCH }
////////////////////////////////////////////////////////////////////// // // ���ǵ� ���� ��Ŷ���丮���� ��� �߰��Ѵ�. // ////////////////////////////////////////////////////////////////////// void PacketFactoryManager::init () throw(Error) { __BEGIN_TRY #ifdef __GAME_SERVER__ addFactory(new CGAttackFactory()); addFactory(new CGAddGearToMouseFactory()); addFactory(new CGAddInventoryToMouseFactory()); addFactory(new CGAddMouseToGearFactory()); addFactory(new CGAddMouseToInventoryFactory()); addFactory(new CGAddMouseToQuickSlotFactory()); addFactory(new CGAddMouseToZoneFactory()); addFactory(new CGAddQuickSlotToMouseFactory()); addFactory(new CGAddZoneToInventoryFactory()); addFactory(new CGAddZoneToMouseFactory()); addFactory(new CGBloodDrainFactory()); addFactory(new CGCastingSkillFactory()); addFactory(new CGConnectFactory()); addFactory(new CGDissectionCorpseFactory()); addFactory(new CGDropMoneyFactory()); addFactory(new CGGetOffMotorCycleFactory()); addFactory(new CGGlobalChatFactory()); addFactory(new CGLearnSkillFactory()); addFactory(new CGLogoutFactory()); addFactory(new CGMakeItemFactory()); addFactory(new CGMoveFactory()); addFactory(new CGNPCAskAnswerFactory()); addFactory(new CGNPCTalkFactory()); addFactory(new CGPickupMoneyFactory()); addFactory(new CGReadyFactory()); addFactory(new CGReloadFromInventoryFactory()); addFactory(new CGReloadFromQuickSlotFactory()); addFactory(new CGRideMotorCycleFactory()); addFactory(new CGSayFactory()); addFactory(new CGSetSlayerHotKeyFactory()); addFactory(new CGSetVampireHotKeyFactory()); addFactory(new CGSelectPortalFactory()); addFactory(new CGShopRequestBuyFactory()); addFactory(new CGShopRequestListFactory()); addFactory(new CGShopRequestSellFactory()); addFactory(new CGSkillToInventoryFactory()); addFactory(new CGThrowBombFactory()); addFactory(new CGThrowItemFactory()); addFactory(new CGUnburrowFactory()); addFactory(new CGUntransformFactory()); addFactory(new CGUseBonusPointFactory()); addFactory(new CGUsePotionFromInventoryFactory()); addFactory(new CGUsePotionFromQuickSlotFactory()); addFactory(new CGRequestRepairFactory()); addFactory(new CGVisibleFactory()); addFactory(new CGVerifyTimeFactory()); // 2002.6.28 addFactory(new CGPortCheckFactory()); // added by elcastle 2000-11-29 /* addFactory(new CGDialUpFactory()); addFactory(new CGPhoneDisconnectFactory()); addFactory(new CGPhoneSayFactory()); */ addFactory(new CGWhisperFactory()); addFactory(new CGMouseToStashFactory()); addFactory(new CGStashToMouseFactory()); addFactory(new CGStashListFactory()); addFactory(new CGStashDepositFactory()); addFactory(new CGStashWithdrawFactory()); addFactory(new CGStashRequestBuyFactory()); addFactory(new CGTradePrepareFactory()); addFactory(new CGTradeAddItemFactory()); addFactory(new CGTradeRemoveItemFactory()); addFactory(new CGTradeMoneyFactory()); addFactory(new CGTradeFinishFactory()); addFactory(new CGSkillToObjectFactory()); addFactory(new CGSkillToSelfFactory()); addFactory(new CGSkillToTileFactory()); addFactory(new CGSilverCoatingFactory()); addFactory(new CGRequestNewbieItemFactory()); addFactory(new CGUseItemFromInventoryFactory()); addFactory(new CGSelectWayPointFactory()); addFactory(new CGSelectTileEffectFactory()); addFactory(new CGPartyInviteFactory()); addFactory(new CGPartyLeaveFactory()); addFactory(new CGResurrectFactory()); addFactory(new CGRequestIPFactory()); // ���� �ý��� addFactory(new CGRelicToObjectFactory()); addFactory(new CGRegistGuildFactory()); addFactory(new CGSelectGuildFactory()); addFactory(new CGTryJoinGuildFactory()); addFactory(new CGJoinGuildFactory()); // addFactory(new CGQuitGuildFactory()); addFactory(new CGRequestGuildMemberListFactory()); addFactory(new CGSelectGuildMemberFactory()); // addFactory(new CGExpelGuildMemberFactory()); addFactory(new CGModifyGuildMemberFactory()); addFactory(new CGGuildChatFactory()); // ��æƮ ������ : �� --> ������ �ֱ� addFactory(new CGAddItemToItemFactory()); // ���� ��û. 2002.9.2 addFactory(new CGRequestInfoFactory()); addFactory(new CGModifyGuildIntroFactory()); addFactory(new CGModifyGuildMemberIntroFactory()); addFactory(new CGUseMessageItemFromInventoryFactory()); // 2003. 1. 21 addFactory(new CGWithdrawTaxFactory()); addFactory(new CGTypeStringListFactory()); addFactory(new CGUseItemFromGearFactory()); addFactory(new CGSkillToNamedFactory()); addFactory(new CGSelectRankBonusFactory()); addFactory(new CGSelectQuestFactory()); addFactory(new CGLotterySelectFactory()); addFactory(new CGTakeOutGoodFactory()); addFactory(new CGMixItemFactory()); addFactory(new CGAbsorbSoulFactory()); addFactory(new CGDownSkillFactory()); addFactory(new CGSubmitScoreFactory()); addFactory(new CGFailQuestFactory()); addFactory(new CGAddItemToCodeSheetFactory()); addFactory(new CGSelectRegenZoneFactory()); addFactory(new CGTameMonsterFactory()); addFactory(new CGPetGambleFactory()); addFactory(new CGCrashReportFactory()); #endif #ifdef __LOGIN_SERVER__ addFactory(new CLCreatePCFactory()); addFactory(new CLDeletePCFactory()); addFactory(new CLGetPCListFactory()); addFactory(new CLLoginFactory()); addFactory(new CLLogoutFactory()); addFactory(new CLQueryPlayerIDFactory()); addFactory(new CLQueryCharacterNameFactory()); addFactory(new CLRegisterPlayerFactory); addFactory(new CLSelectPCFactory()); addFactory(new CLVersionCheckFactory()); addFactory(new CLGetServerListFactory()); addFactory(new CLGetWorldListFactory()); addFactory(new CLChangeServerFactory()); addFactory(new CLReconnectLoginFactory()); addFactory(new CLSelectWorldFactory()); addFactory(new CLSelectServerFactory()); #endif #ifdef __GAME_SERVER__ addFactory(new GCAddBatFactory()); addFactory(new GCAddBurrowingCreatureFactory()); addFactory(new GCAddEffectFactory()); addFactory(new GCAddEffectToTileFactory()); addFactory(new GCAddGearToInventoryFactory()); addFactory(new GCAddGearToZoneFactory()); addFactory(new GCAddInstalledMineToZoneFactory()); addFactory(new GCAddMonsterFactory()); addFactory(new GCAddMonsterCorpseFactory()); addFactory(new GCAddMonsterFromBurrowingFactory()); addFactory(new GCAddMonsterFromTransformationFactory()); addFactory(new GCAddNewItemToZoneFactory()); addFactory(new GCAddNPCFactory()); addFactory(new GCAddSlayerFactory()); addFactory(new GCAddSlayerCorpseFactory()); addFactory(new GCAddVampireFactory()); addFactory(new GCAddVampireCorpseFactory()); addFactory(new GCAddVampireFromBurrowingFactory()); addFactory(new GCAddVampireFromTransformationFactory()); addFactory(new GCAddWolfFactory()); addFactory(new GCAttackFactory()); addFactory(new GCAttackArmsOK1Factory()); addFactory(new GCAttackArmsOK2Factory()); addFactory(new GCAttackArmsOK3Factory()); addFactory(new GCAttackArmsOK4Factory()); addFactory(new GCAttackArmsOK5Factory()); addFactory(new GCAttackMeleeOK1Factory()); addFactory(new GCAttackMeleeOK2Factory()); addFactory(new GCAttackMeleeOK3Factory()); addFactory(new GCBloodDrainOK1Factory()); addFactory(new GCBloodDrainOK2Factory()); addFactory(new GCBloodDrainOK3Factory()); addFactory(new GCCastingSkillFactory()); addFactory(new GCCannotAddFactory()); addFactory(new GCCannotUseFactory()); addFactory(new GCChangeShapeFactory()); addFactory(new GCChangeDarkLightFactory()); addFactory(new GCChangeWeatherFactory()); addFactory(new GCCreateItemFactory()); addFactory(new GCCreatureDiedFactory()); addFactory(new GCCrossCounterOK1Factory()); addFactory(new GCCrossCounterOK2Factory()); addFactory(new GCCrossCounterOK3Factory()); addFactory(new GCDeleteandPickUpOKFactory()); addFactory(new GCDeleteInventoryItemFactory()); addFactory(new GCDeleteObjectFactory()); addFactory(new GCRemoveCorpseHeadFactory()); addFactory(new GCRemoveInjuriousCreatureFactory()); addFactory(new GCDeleteEffectFromTileFactory()); addFactory(new GCDisconnectFactory()); addFactory(new GCDropItemToZoneFactory()); addFactory(new GCFastMoveFactory()); addFactory(new GCFakeMoveFactory()); addFactory(new GCGetDamageFactory()); addFactory(new GCGetOffMotorCycleFactory()); addFactory(new GCGetOffMotorCycleOKFactory()); addFactory(new GCGetOffMotorCycleFailedFactory()); addFactory(new GCGlobalChatFactory()); addFactory(new GCHPRecoveryStartToSelfFactory()); addFactory(new GCHPRecoveryStartToOthersFactory()); addFactory(new GCHPRecoveryEndToSelfFactory()); addFactory(new GCHPRecoveryEndToOthersFactory()); addFactory(new GCLightningFactory()); addFactory(new GCLearnSkillFailedFactory()); addFactory(new GCLearnSkillOKFactory()); addFactory(new GCLearnSkillReadyFactory()); addFactory(new GCKnockBackFactory()); addFactory(new GCKnocksTargetBackOK1Factory()); addFactory(new GCKnocksTargetBackOK2Factory()); addFactory(new GCKnocksTargetBackOK4Factory()); addFactory(new GCKnocksTargetBackOK5Factory()); addFactory(new GCMakeItemOKFactory()); addFactory(new GCMakeItemFailFactory()); addFactory(new GCMineExplosionOK1Factory()); addFactory(new GCMineExplosionOK2Factory()); addFactory(new GCModifyInformationFactory()); addFactory(new GCMorph1Factory()); addFactory(new GCMorphSlayer2Factory()); addFactory(new GCMorphVampire2Factory()); addFactory(new GCMoveFactory()); addFactory(new GCMoveErrorFactory()); addFactory(new GCMoveOKFactory()); addFactory(new GCMPRecoveryStartFactory()); addFactory(new GCMPRecoveryEndFactory()); addFactory(new GCNPCAskFactory()); addFactory(new GCNPCSayFactory()); addFactory(new GCRealWearingInfoFactory()); addFactory(new GCReconnectFactory()); addFactory(new GCReconnectLoginFactory()); addFactory(new GCRemoveEffectFactory()); addFactory(new GCRemoveFromGearFactory()); addFactory(new GCRideMotorCycleFactory()); addFactory(new GCRideMotorCycleOKFactory()); addFactory(new GCRideMotorCycleFailedFactory()); addFactory(new GCReloadOKFactory()); addFactory(new GCUnburrowOKFactory()); addFactory(new GCUnburrowFailFactory()); addFactory(new GCUntransformOKFactory()); addFactory(new GCUntransformFailFactory()); addFactory(new GCUseBonusPointFailFactory()); addFactory(new GCUseBonusPointOKFactory()); addFactory(new GCSayFactory()); addFactory(new GCSearchMotorcycleOKFactory()); addFactory(new GCSearchMotorcycleFailFactory()); addFactory(new GCSetPositionFactory()); // shop interface addFactory(new GCShopVersionFactory()); addFactory(new GCShopListFactory()); addFactory(new GCShopListMysteriousFactory()); addFactory(new GCShopBuyOKFactory()); addFactory(new GCShopBuyFailFactory()); addFactory(new GCShopSoldFactory()); addFactory(new GCShopSellFailFactory()); addFactory(new GCShopSellOKFactory()); addFactory(new GCShopBoughtFactory()); addFactory(new GCShopMarketConditionFactory()); addFactory(new GCSkillFailed1Factory()); addFactory(new GCSkillFailed2Factory()); addFactory(new GCSkillToInventoryOK1Factory()); addFactory(new GCSkillToInventoryOK2Factory()); addFactory(new GCSkillToObjectOK1Factory()); addFactory(new GCSkillToObjectOK2Factory()); addFactory(new GCSkillToObjectOK3Factory()); addFactory(new GCSkillToObjectOK4Factory()); addFactory(new GCSkillToObjectOK5Factory()); addFactory(new GCSkillToObjectOK6Factory()); addFactory(new GCSkillToSelfOK1Factory()); addFactory(new GCSkillToSelfOK2Factory()); addFactory(new GCSkillToSelfOK3Factory()); addFactory(new GCSkillToTileOK1Factory()); addFactory(new GCSkillToTileOK2Factory()); addFactory(new GCSkillToTileOK3Factory()); addFactory(new GCSkillToTileOK4Factory()); addFactory(new GCSkillToTileOK5Factory()); addFactory(new GCSkillToTileOK6Factory()); addFactory(new GCSystemMessageFactory()); addFactory(new GCTakeOffFactory()); addFactory(new GCTeachSkillInfoFactory()); addFactory(new GCThrowItemOK1Factory()); addFactory(new GCThrowItemOK2Factory()); addFactory(new GCThrowItemOK3Factory()); addFactory(new GCUpdateInfoFactory()); addFactory(new GCUseOKFactory()); // Add by elcastle 2000-11-29 // addFactory(new GCPhoneConnectedFactory()); // addFactory(new GCRingFactory()); // addFactory(new GCPhoneDisconnectedFactory()); // addFactory(new GCPhoneConnectionFailedFactory()); // addFactory(new GCPhoneSayFactory()); addFactory(new GCWhisperFactory()); addFactory(new GCWhisperFailedFactory()); // Add by elcastle 2000-12-2 addFactory(new GCSkillInfoFactory()); // Add by elcastle 2000-12-9 addFactory(new GCStatusCurrentHPFactory()); addFactory(new GCStashListFactory()); addFactory(new GCStashSellFactory()); addFactory(new GCTradePrepareFactory()); addFactory(new GCTradeAddItemFactory()); addFactory(new GCTradeRemoveItemFactory()); addFactory(new GCTradeMoneyFactory()); addFactory(new GCTradeFinishFactory()); addFactory(new GCTradeErrorFactory()); addFactory(new GCTradeVerifyFactory()); addFactory(new GCVisibleOKFactory()); addFactory(new GCVisibleFailFactory()); addFactory(new GCNPCResponseFactory()); addFactory(new GCNPCSayDynamicFactory()); addFactory(new GCNPCAskDynamicFactory()); addFactory(new GCAddHelicopterFactory()); addFactory(new GCAddVampirePortalFactory()); addFactory(new GCAddInjuriousCreatureFactory()); addFactory(new GCEnterVampirePortalFactory()); addFactory(new GCPartyInviteFactory()); addFactory(new GCPartyLeaveFactory()); addFactory(new GCPartyJoinedFactory()); addFactory(new GCPartyErrorFactory()); addFactory(new GCRequestedIPFactory()); addFactory(new GCRequestFailedFactory()); addFactory(new GCOtherModifyInfoFactory()); addFactory(new GCThrowBombOK1Factory()); addFactory(new GCThrowBombOK2Factory()); addFactory(new GCThrowBombOK3Factory()); // addFactory(new GCShowGuildRegistFactory()); addFactory(new GCWaitGuildListFactory()); addFactory(new GCShowGuildInfoFactory()); addFactory(new GCShowGuildJoinFactory()); addFactory(new GCShowMessageBoxFactory()); // addFactory(new GCModifyMoneyFactory()); addFactory(new GCShowWaitGuildInfoFactory()); addFactory(new GCActiveGuildListFactory()); addFactory(new GCShowGuildMemberInfoFactory()); addFactory(new GCGuildChatFactory()); addFactory(new GCGuildMemberListFactory()); addFactory(new GCModifyGuildMemberInfoFactory()); addFactory(new GCAddItemToItemVerifyFactory()); // 2002.9.2 addFactory(new GCNoticeEventFactory()); addFactory(new GGCommandFactory()); addFactory(new GMServerInfoFactory()); addFactory(new GLIncomingConnectionFactory()); addFactory(new GLIncomingConnectionErrorFactory()); addFactory(new GLIncomingConnectionOKFactory()); addFactory(new GLKickVerifyFactory()); #endif #ifdef __LOGIN_SERVER__ addFactory(new GMServerInfoFactory()); addFactory(new GLIncomingConnectionFactory()); addFactory(new GLIncomingConnectionErrorFactory()); addFactory(new GLIncomingConnectionOKFactory()); addFactory(new GLKickVerifyFactory()); addFactory(new LCCreatePCErrorFactory()); addFactory(new LCCreatePCOKFactory()); addFactory(new LCDeletePCErrorFactory()); addFactory(new LCDeletePCOKFactory()); addFactory(new LCLoginErrorFactory()); addFactory(new LCLoginOKFactory()); addFactory(new LCPCListFactory()); addFactory(new LCQueryResultPlayerIDFactory()); addFactory(new LCQueryResultCharacterNameFactory()); addFactory(new LCReconnectFactory()); addFactory(new LCRegisterPlayerErrorFactory()); addFactory(new LCRegisterPlayerOKFactory()); addFactory(new LCSelectPCErrorFactory()); addFactory(new LCVersionCheckOKFactory()); addFactory(new LCVersionCheckErrorFactory()); addFactory(new LCServerListFactory()); addFactory(new LCWorldListFactory()); #endif #ifndef __GAME_CLIENT__ addFactory(new LGIncomingConnectionFactory()); addFactory(new LGIncomingConnectionOKFactory()); addFactory(new LGIncomingConnectionErrorFactory()); addFactory(new LGKickCharacterFactory()); #endif #ifdef __GAME_CLIENT__ addFactory(new CRConnectFactory()); addFactory(new RCConnectVerifyFactory()); addFactory(new CRRequestFactory()); addFactory(new RCPositionInfoFactory()); addFactory(new CRDisconnectFactory()); addFactory(new RCSayFactory()); addFactory(new RCStatusHPFactory()); addFactory(new CRWhisperFactory()); addFactory(new RCRequestVerifyFactory()); addFactory(new RCRequestedFileFactory()); addFactory(new RCCharacterInfoFactory()); #endif #if defined(__GAME_SERVER__) || defined(__SHARED_SERVER__) addFactory(new SGQuitGuildOKFactory()); addFactory(new SGExpelGuildMemberOKFactory()); addFactory(new SGModifyGuildMemberOKFactory()); addFactory(new SGDeleteGuildOKFactory()); addFactory(new SGModifyGuildOKFactory()); addFactory(new GSExpelGuildMemberFactory()); addFactory(new GSModifyGuildMemberFactory()); addFactory(new SGAddGuildMemberOKFactory()); addFactory(new SGAddGuildOKFactory()); addFactory(new GSAddGuildFactory()); addFactory(new GSAddGuildMemberFactory()); addFactory(new GSQuitGuildFactory()); addFactory(new GSRequestGuildInfoFactory()); addFactory(new SGGuildInfoFactory()); addFactory(new GSModifyGuildIntroFactory()); addFactory(new SGModifyGuildIntroOKFactory()); addFactory(new GSGuildMemberLogOnFactory()); addFactory(new SGGuildMemberLogOnOKFactory()); #endif #ifdef __GAME_SERVER__ addFactory(new GGGuildChatFactory()); #endif #ifdef __GAME_SERVER__ addFactory(new GCSelectRankBonusOKFactory()); addFactory(new GCSelectRankBonusFailedFactory()); addFactory(new GCRankBonusInfoFactory()); addFactory(new GCNPCInfoFactory()); addFactory(new GCNPCAskVariableFactory()); addFactory(new GCWarScheduleListFactory()); addFactory(new GCWarListFactory()); addFactory(new GCHolyLandBonusInfoFactory()); addFactory(new GCBloodBibleStatusFactory()); addFactory(new GCKickMessageFactory()); addFactory(new GCTimeLimitItemInfoFactory()); addFactory(new GCSelectQuestIDFactory()); addFactory(new GCQuestStatusFactory()); addFactory(new GCMonsterKillQuestInfoFactory()); addFactory(new GCNotifyWinFactory()); addFactory(new GCGoodsListFactory()); addFactory(new GCTakeOutOKFactory()); addFactory(new GCTakeOutFailFactory()); addFactory(new GCAddOustersFactory()); addFactory(new GCAddOustersCorpseFactory()); addFactory(new GCDownSkillOKFactory()); addFactory(new GCDownSkillFailedFactory()); addFactory(new GCMiniGameScoresFactory()); addFactory(new GCFlagWarStatusFactory()); addFactory(new GCOtherGuildNameFactory()); addFactory(new GCSweeperBonusInfoFactory()); addFactory(new GCRegenZoneStatusFactory()); addFactory(new GCPetInfoFactory()); addFactory(new GCPetUseSkillFactory()); addFactory(new GCSystemAvailabilitiesFactory()); addFactory(new GCPartyPositionFactory()); addFactory(new CGPartyPositionFactory()); addFactory(new CGPartySayFactory()); addFactory(new GCPartySayFactory()); addFactory(new GGServerChatFactory()); addFactory(new GCPetStashListFactory()); addFactory(new CGWithdrawPetFactory()); addFactory(new CGDepositPetFactory()); addFactory(new GCPetStashVerifyFactory()); addFactory(new CGSMSSendFactory()); addFactory(new CGAddSMSAddressFactory()); addFactory(new CGDeleteSMSAddressFactory()); addFactory(new CGSMSAddressListFactory()); addFactory(new GCSMSAddressListFactory()); addFactory(new GCAddressListVerifyFactory()); addFactory(new GCNicknameListFactory()); addFactory( new GCAddNicknameFactory()); addFactory( new CGModifyNicknameFactory()); addFactory( new CGSelectNicknameFactory()); addFactory( new GCNicknameVerifyFactory()); addFactory( new GCModifyNicknameFactory()); addFactory(new GCGQuestStatusInfoFactory()); addFactory(new GCGQuestStatusModifyFactory()); addFactory(new CGGQuestAcceptFactory()); addFactory(new CGGQuestCancelFactory()); addFactory(new GCExecuteElementFactory()); addFactory(new GCGQuestInventoryFactory()); addFactory(new GCAuthKeyFactory()); addFactory(new CGAuthKeyFactory()); addFactory(new CGUseItemFromGQuestInventoryFactory()); addFactory(new GCGuildResponseFactory()); addFactory(new CGRequestGuildListFactory()); addFactory(new CGAppointSubmasterFactory()); addFactory(new CGRequestUnionFactory()); addFactory(new CGAcceptUnionFactory()); addFactory(new CGDenyUnionFactory()); addFactory(new CGRequestUnionInfoFactory()); addFactory(new CGExpelGuildFactory()); addFactory(new CGQuitUnionFactory()); addFactory(new CGQuitUnionAcceptFactory()); addFactory(new CGQuitUnionDenyFactory()); addFactory(new GCUnionOfferListFactory()); addFactory(new GCBloodBibleListFactory()); addFactory(new CGSelectBloodBibleFactory()); addFactory(new GCBloodBibleSignInfoFactory()); addFactory(new CGRangerSayFactory()); addFactory(new CGModifyTaxRatioFactory()); addFactory(new CGDisplayItemFactory()); addFactory(new CGUndisplayItemFactory()); addFactory(new CGStoreSignFactory()); addFactory(new CGStoreOpenFactory()); addFactory(new CGStoreCloseFactory()); addFactory(new CGRequestStoreInfoFactory()); addFactory(new CGBuyStoreItemFactory()); addFactory(new GCMyStoreInfoFactory()); addFactory(new GCOtherStoreInfoFactory()); addFactory(new GCRemoveStoreItemFactory()); addFactory(new GCAddStoreItemFactory()); addFactory(new CGRequestPowerPointFactory()); addFactory(new GCRequestPowerPointResultFactory()); addFactory(new CGUsePowerPointFactory()); addFactory(new GCUsePowerPointResultFactory()); addFactory(new CGDonationMoneyFactory()); addFactory(new CGGetEventItemFactory()); addFactory(new GCSubInventoryInfoFactory()); // addFactory(new CLAgreementFactory()); #endif #if __OUTPUT_INIT__ cout << toString() << endl; #endif __END_CATCH }
void ElementDB< Agents::AgentGeneratorFactory, Agents::AgentGenerator >::addBuiltins() { addFactory( new Agents::ExplicitGeneratorFactory() ); addFactory( new Agents::RectGridGeneratorFactory() ); addFactory( new Agents::HexLatticeGeneratorFactory() ); }
void ResourceObjectManager::registerDefaultFactories() { addFactory("directory", boost::shared_ptr<ResourceObjectFactory>(new DirectoryFactory())); addFactory("texture", boost::shared_ptr<ResourceObjectFactory>(new TextureFactory())); addFactory("font", boost::shared_ptr<ResourceObjectFactory>(new FontFactory())); addFactory("sound", boost::shared_ptr<ResourceObjectFactory>(new SoundFactory())); addFactory("ninepatch", boost::shared_ptr<ResourceObjectFactory>(new NinePatchFactory())); addFactory("button-style", boost::shared_ptr<ResourceObjectFactory>(new ButtonStyleFactory())); addFactory("line-edit-style", boost::shared_ptr<ResourceObjectFactory>(new LineEditStyleFactory())); addFactory("check-box-style", boost::shared_ptr<ResourceObjectFactory>(new CheckBoxStyleFactory())); addFactory("radio-button-style", boost::shared_ptr<ResourceObjectFactory>(new RadioButtonStyleFactory())); addFactory("scroll-bar-style", boost::shared_ptr<ResourceObjectFactory>(new ScrollBarStyleFactory())); addFactory("skin", boost::shared_ptr<ResourceObjectFactory>(new SkinFactory())); }
void ElementDB<BFSM::GoalSelectorFactory, BFSM::GoalSelector>::addBuiltins() { addFactory(new BFSM::IdentityGoalSelectorFactory()); addFactory(new BFSM::ExplicitGoalSelectorFactory()); addFactory(new BFSM::MirrorGoalSelectorFactory()); addFactory(new BFSM::OffsetGoalSelectorFactory()); addFactory(new BFSM::RandomGoalSelectorFactory()); addFactory(new BFSM::WeightedGoalSelectorFactory()); addFactory(new BFSM::NearestGoalSelectorFactory()); addFactory(new BFSM::FarthestGoalSelectorFactory()); addFactory(new BFSM::NearestNMGoalSelectorFactory()); addFactory(new BFSM::FarthestNMGoalSelectorFactory()); addFactory(new BFSM::SharedGoalSelectorFactory()); }
GpuProgramCoreManager::GpuProgramCoreManager() { mNullFactory = bs_new<NullProgramFactory>(); addFactory(mNullFactory); }
void ElementDB< Agents::ProfileSelectorFactory, Agents::ProfileSelector >::addBuiltins() { addFactory( new Agents::ConstProfileSelectorFactory() ); }
OpenWithManagerDialog::OpenWithManagerDialog(QWidget *parentObject) : QDialog(parentObject), ui(new Ui::OpenWithManagerDialog), m_factoryModel(new OpenWithExecutableModel(this)), m_patternModel(new OpenWithPatternModel(this)), m_patternMapper(new QDataWidgetMapper(this)), m_handlerMapper(new QDataWidgetMapper(this)), m_patternTypeDelegate(new PatternTypeDelegate(this)), m_dirty(false) { // Setup ui: ui->setupUi(this); // Setup MVC: ui->tableFactories->setModel(m_factoryModel); ui->tablePattern->setModel(m_patternModel); ui->tablePattern->setItemDelegate(m_patternTypeDelegate); ui->comboMatch->setModel(m_patternTypeDelegate->patternTypeModel()); m_handlerMapper->setModel(m_factoryModel); m_handlerMapper->setSubmitPolicy(QDataWidgetMapper::AutoSubmit); m_handlerMapper->addMapping(ui->editName, 0); m_handlerMapper->addMapping(ui->comboType, 1, "currentIndex"); m_handlerMapper->addMapping(ui->editExec, 2); m_patternMapper->setModel(m_patternModel); m_patternMapper->setSubmitPolicy(QDataWidgetMapper::ManualSubmit); m_patternMapper->setItemDelegate(m_patternTypeDelegate); m_patternMapper->addMapping(ui->editPattern, OpenWithPatternModel::PatternCol); m_patternMapper->addMapping(ui->comboMatch, OpenWithPatternModel::PatternTypeCol); m_patternMapper->addMapping(ui->checkCaseSensitive, OpenWithPatternModel::CaseSensitivityCol); // Setup executable completion QFileSystemModel *fsModel = new QFileSystemModel(this); fsModel->setFilter(QDir::Files | QDir::Dirs | QDir::NoDot); fsModel->setRootPath(QDir::rootPath()); QCompleter *fsCompleter = new QCompleter(fsModel, this); ui->editExec->setCompleter(fsCompleter); // Factory GUI: connect(ui->pushAddFactory, SIGNAL(clicked()), this, SLOT(addFactory())); connect(ui->pushRemoveFactory, SIGNAL(clicked()), this, SLOT(removeFactory())); connect(ui->comboType, SIGNAL(currentIndexChanged(int)), this, SLOT(factoryTypeChanged(int))); connect(ui->tableFactories->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)), this, SLOT(factorySelectionChanged())); // Executable GUI: connect(ui->pushExec, SIGNAL(clicked()), SLOT(browseExecutable())); connect(ui->editExec, SIGNAL(textChanged(QString)), SLOT(testExecutable())); // Pattern GUI: connect(ui->pushAddPattern, SIGNAL(clicked()), this, SLOT(addPattern())); connect(ui->pushRemovePattern, SIGNAL(clicked()), this, SLOT(removePattern())); connect(ui->tablePattern->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)), this, SLOT(patternSelectionChanged())); connect(ui->pushApplyPattern, SIGNAL(clicked()), m_patternMapper, SLOT(submit())); connect(ui->pushRevertPattern, SIGNAL(clicked()), m_patternMapper, SLOT(revert())); connect(m_patternModel, SIGNAL(rowsInserted(QModelIndex, int, int)), this, SLOT(patternDimensionsChanged())); connect(m_patternModel, SIGNAL(rowsRemoved(QModelIndex, int, int)), this, SLOT(patternDimensionsChanged())); connect(m_patternModel, SIGNAL(modelReset()), this, SLOT(patternDimensionsChanged())); // Test updates: connect(ui->editTest, SIGNAL(textChanged(QString)), this, SLOT(checkTestText())); connect(m_patternModel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(checkTestText())); connect(m_patternModel, SIGNAL(layoutChanged()), this, SLOT(checkTestText())); connect(ui->tableFactories->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)), this, SLOT(checkTestText())); // handle apply button: connect(ui->buttonBox, SIGNAL(clicked(QAbstractButton*)), SLOT(buttonBoxClicked(QAbstractButton*))); // Mark dirty when the data changes. connect(m_factoryModel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), SLOT(markDirty())); connect(m_factoryModel, SIGNAL(rowsInserted(QModelIndex, int, int)), SLOT(markDirty())); connect(m_factoryModel, SIGNAL(rowsRemoved(QModelIndex, int, int)), SLOT(markDirty())); connect(m_patternModel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), SLOT(markDirty())); connect(m_patternModel, SIGNAL(rowsInserted(QModelIndex, int, int)), SLOT(markDirty())); connect(m_patternModel, SIGNAL(rowsRemoved(QModelIndex, int, int)), SLOT(markDirty())); }
void ElementDB<Agents::StateSelectorFactory, Agents::StateSelector>::addBuiltins() { addFactory(new Agents::ConstStateSelectorFactory()); }
void ElementDB< BFSM::VelModFactory, BFSM::VelModifier >::addBuiltins() { addFactory(new BFSM::ScaleVMFactory()); }
//----------------------------------------------------------------------- SceneManagerEnumerator::SceneManagerEnumerator() : mInstanceCreateCount(0), mCurrentRenderSystem(0) { addFactory(&mDefaultFactory); }
void handleGameEvent(Game * g, Message * mes) { Player * sp = NULL; Game * sg = NULL; char * nick = NULL; Message nmes; if (mes->sndr_t == O_PLAYER) { sp = mes->sndr.player; nick = getNickname(sp); } if (mes->sndr_t == O_GAME) sg = mes->sndr.game; switch(mes->type) { case MEST_PLAYER_JOIN_GAME: info("%s has joined into game\n", nick); info("Players on server/in hall: %d/%d\n", srv.nPlayers, srv.hallPlayers); { Buffer * msg = newBuffer(); Buffer * info = newBuffer(); mPlayer * mp; char * str; uint32_t i; /* generating MES part */ addnStr(msg, infos[INFO_PLAYER_JOINS_GAME], 1); i = htonl(sp->pid); addnStr(msg, &i, sizeof(i)); /* generating INFO part */ addnStr(info, answrs[ANSWR_INFO], 1); i = htonl(msg->count); addnStr(info, &i, sizeof(i)); i = msg->count; str = flushBuffer(msg); addnStr(info, str, i); free(str); /* sending info message */ i = info->count; str = flushBuffer(info); /* players in our game */ for (mp = g->players; mp != NULL; mp = mp->next) if (mp->player != sp) write(mp->player->fd, str, i); free(str); clearBuffer(msg); free(msg); clearBuffer(info); free(info); } if (g->num > 0 && g->num == g->nPlayers) { nmes.sndr_t = O_GAME; nmes.sndr.game = g; nmes.rcvr_t = O_GAME; nmes.rcvr.game = g; nmes.type = MEST_START_GAME; nmes.len = 0; nmes.data = NULL; sendMessage(&nmes); } break; case MEST_PLAYER_LEAVE_GAME: info("%s has leaved game\n", nick); info("Players on server/in hall: %d/%d\n", srv.nPlayers, srv.hallPlayers); { Buffer * msg = newBuffer(); Buffer * info = newBuffer(); mPlayer * mp; char * str; uint32_t i; /* generating MES part */ addnStr(msg, infos[INFO_PLAYER_LEAVES_GAME], 1); i = htonl(sp->pid); addnStr(msg, &i, sizeof(i)); /* generating INFO part */ addnStr(info, answrs[ANSWR_INFO], 1); i = htonl(msg->count); addnStr(info, &i, sizeof(i)); i = msg->count; str = flushBuffer(msg); addnStr(info, str, i); free(str); /* sending info message */ i = info->count; str = flushBuffer(info); /* players in our game */ for (mp = g->players; mp != NULL; mp = mp->next) if (mp->player != sp) write(mp->player->fd, str, i); free(str); clearBuffer(msg); free(msg); clearBuffer(info); free(info); } break; case MEST_PLAYER_JOINS_HALL: { Buffer * msg = newBuffer(); Buffer * info = newBuffer(); mPlayer * mp; char * str; uint32_t i; /* generating MES part */ addnStr(msg, infos[INFO_PLAYER_JOINS_HALL], 1); i = htonl(sp->pid); addnStr(msg, &i, sizeof(i)); /* generating INFO part */ addnStr(info, answrs[ANSWR_INFO], 1); i = htonl(msg->count); addnStr(info, &i, sizeof(i)); i = msg->count; str = flushBuffer(msg); addnStr(info, str, i); free(str); /* sending info message */ i = info->count; str = flushBuffer(info); /* players in hall */ for (mp = srv.players; mp != NULL; mp = mp->next) if (mp->player != sp) write(mp->player->fd, str, i); free(str); clearBuffer(msg); free(msg); clearBuffer(info); free(info); } break; case MEST_PLAYER_LEAVES_HALL: { Buffer * msg = newBuffer(); Buffer * info = newBuffer(); mPlayer * mp; char * str; uint32_t i; /* generating MES part */ addnStr(msg, infos[INFO_PLAYER_LEAVES_HALL], 1); i = htonl(sp->pid); addnStr(msg, &i, sizeof(i)); /* generating INFO part */ addnStr(info, answrs[ANSWR_INFO], 1); i = htonl(msg->count); addnStr(info, &i, sizeof(i)); i = msg->count; str = flushBuffer(msg); addnStr(info, str, i); free(str); /* sending info message */ i = info->count; str = flushBuffer(info); /* players in hall */ for (mp = srv.players; mp != NULL; mp = mp->next) if (mp->player != sp) write(mp->player->fd, str, i); free(str); clearBuffer(msg); free(msg); clearBuffer(info); free(info); } break; case MEST_NEW_GAME: { Buffer * msg = newBuffer(); Buffer * info = newBuffer(); mPlayer * mp; char * str; uint32_t i; /* generating MES part */ addnStr(msg, infos[INFO_NEW_GAME], 1); i = htonl(((Game *)(mes->data))->gid); addnStr(msg, &i, sizeof(i)); /* generating INFO part */ addnStr(info, answrs[ANSWR_INFO], 1); i = htonl(msg->count); addnStr(info, &i, sizeof(i)); i = msg->count; str = flushBuffer(msg); addnStr(info, str, i); free(str); /* sending info message */ i = info->count; str = flushBuffer(info); /* players in hall */ for (mp = srv.players; mp != NULL; mp = mp->next) if (mp->player != sp) write(mp->player->fd, str, i); free(str); clearBuffer(msg); free(msg); clearBuffer(info); free(info); } break; case MEST_PLAYERS_STAT_GAME: { Buffer * msg = newBuffer(); Buffer * info = newBuffer(); mPlayer * mp; char * str; uint32_t i; /* generating MES part */ addnStr(msg, infos[INFO_PLAYERS_STAT_GAME], 1); i = htonl(g->nPlayers); addnStr(msg, &i, sizeof(i)); i = htonl(g->num); addnStr(msg, &i, sizeof(i)); /* generating INFO part */ addnStr(info, answrs[ANSWR_INFO], 1); i = htonl(msg->count); addnStr(info, &i, sizeof(i)); i = msg->count; str = flushBuffer(msg); addnStr(info, str, i); free(str); /* sending info message */ i = info->count; str = flushBuffer(info); /* players in our game */ for (mp = g->players; mp != NULL; mp = mp->next) if (mp->player != sp) write(mp->player->fd, str, i); free(str); clearBuffer(msg); free(msg); clearBuffer(info); free(info); } break; case MEST_COMMAND_GET: info("%s trying to get something\n", nick); if (g == NULL) { info("%s didn't get anything\n", nick); char err = 0; write(sp->fd, answrs[ANSWR_ERROR], 1); write(sp->fd, &err, 1); } else { uint32_t i = g->num; i = htonl(i); info("%s get %d\n", nick, g->num); write(sp->fd, answrs[ANSWR_STAT], 1); write(sp->fd, &i, sizeof(i)); } break; case MEST_COMMAND_SET: info("%s trying to set something into %d\n", nick, *(uint32_t *)(mes->data)); if (g == NULL) { info("%s not in game\n", nick, *(uint32_t *)(mes->data)); char err = 0; write(sp->fd, answrs[ANSWR_ERROR], 1); write(sp->fd, &err, 1); } else { info("%s successfully sets something into %d\n", nick, *(uint32_t *)(mes->data)); g->num = *(uint32_t *)(mes->data); write(sp->fd, answrs[ANSWR_OK], 1); if (g->num > 0 && g->num <= g->nPlayers) { nmes.sndr_t = O_GAME; nmes.sndr.game = g; nmes.rcvr_t = O_GAME; nmes.rcvr.game = g; nmes.type = MEST_START_GAME; nmes.len = 0; nmes.data = NULL; sendMessage(&nmes); } } free(mes->data); break; case MEST_COMMAND_LEAVE: info("%s trying to leave us\n", nick); if (g == NULL) { info("%s not in game\n", nick); char err = 0; write(sp->fd, answrs[ANSWR_ERROR], 1); write(sp->fd, &err, 1); } else { info("%s leaves game #%d\n", nick, g->gid); IntoNil(sp); write(sp->fd, answrs[ANSWR_OK], 1); nmes.sndr_t = O_PLAYER; nmes.sndr.player = sp; nmes.rcvr_t = O_GAME; nmes.rcvr.game = g; nmes.type = MEST_PLAYER_LEAVE_GAME; nmes.len = 0; nmes.data = NULL; sendMessage(&nmes); nmes.sndr_t = O_PLAYER; nmes.sndr.player = sp; nmes.rcvr_t = O_GAME; nmes.rcvr.game = NULL; nmes.type = MEST_PLAYER_JOINS_HALL; nmes.len = sizeof(g); nmes.data = g; sendMessage(&nmes); nmes.sndr_t = O_PLAYER; nmes.sndr.player = sp; nmes.rcvr_t = O_GAME; nmes.rcvr.game = g; nmes.type = MEST_PLAYERS_STAT_GAME; nmes.len = 0; nmes.data = NULL; sendMessage(&nmes); } break; case MEST_COMMAND_START: info("%s trying to start game\n", nick); if (!sp->adm) { info("%s not granted to start games\n", nick); char err = 0; write(sp->fd, answrs[ANSWR_ERROR], 1); write(sp->fd, &err, 1); } else if (g == NULL) { info("%s not in game\n", nick); char err = 1; write(sp->fd, answrs[ANSWR_ERROR], 1); write(sp->fd, &err, 1); } else if (g->started) { info("Game #%d is already started\n", g->gid); char err = 3; write(sp->fd, answrs[ANSWR_ERROR], 1); write(sp->fd, &err, 1); } else if (g->nPlayers == 0) { info("No players in game #%d\n", g->gid); char err = 2; write(sp->fd, answrs[ANSWR_ERROR], 1); write(sp->fd, &err, 1); } else { write(sp->fd, answrs[ANSWR_OK], 1); nmes.sndr_t = O_PLAYER; nmes.sndr.player = sp; nmes.rcvr_t = O_GAME; nmes.rcvr.game = g; nmes.type = MEST_START_GAME; nmes.len = 0; nmes.data = NULL; sendMessage(&nmes); } break; case MEST_COMMAND_TURN: info("%s trying to turn in game\n", nick); if (g == NULL) { info("%s not in game\n", nick); char err = 0; write(sp->fd, answrs[ANSWR_ERROR], 1); write(sp->fd, &err, 1); } else if (!g->started) { info("Game #%d isn't started\n", g->gid); char err = 2; write(sp->fd, answrs[ANSWR_ERROR], 1); write(sp->fd, &err, 1); } else if (sp->turned) { info("%s already turned\n", nick); char err = 1; write(sp->fd, answrs[ANSWR_ERROR], 1); write(sp->fd, &err, 1); } else { int ntp = 0; /* not turned players */ mPlayer * mp; write(sp->fd, answrs[ANSWR_OK], 1); /* Semd info message about turned player */ { Buffer * msg = newBuffer(); Buffer * info = newBuffer(); char * str; uint32_t i; /* generating MES part */ addnStr(msg, infos[INFO_PLAYER_TURNED], 1); i = htonl(sp->pid); addnStr(msg, &i, sizeof(i)); /* generating INFO part */ addnStr(info, answrs[ANSWR_INFO], 1); i = htonl(msg->count); addnStr(info, &i, sizeof(i)); i = msg->count; str = flushBuffer(msg); addnStr(info, str, i); free(str); /* sending info message */ i = info->count; str = flushBuffer(info); /* players in our game */ for (mp = g->players; mp != NULL; mp = mp->next) if (mp->player != sp) write(mp->player->fd, str, i); free(str); clearBuffer(msg); free(msg); clearBuffer(info); free(info); } sp->turned = 1; for (mp = g->players; mp != NULL; mp = mp->next) if (!mp->player->turned) ++ntp; info("Turned players: %d/%d\n", g->nPlayers, ntp); if (ntp > 0) /* Send info message about not turned players */ { Buffer * msg = newBuffer(); Buffer * info = newBuffer(); char * str; uint32_t i; /* generating MES part */ addnStr(msg, infos[INFO_NOT_TURNED_PLAYERS_LEFT], 1); i = htonl(g->nPlayers); addnStr(msg, &i, sizeof(i)); i = htonl(ntp); addnStr(msg, &i, sizeof(i)); /* generating INFO part */ addnStr(info, answrs[ANSWR_INFO], 1); i = htonl(msg->count); addnStr(info, &i, sizeof(i)); i = msg->count; str = flushBuffer(msg); addnStr(info, str, i); free(str); /* sending info message */ i = info->count; str = flushBuffer(info); /* players in our game */ for (mp = g->players; mp != NULL; mp = mp->next) write(mp->player->fd, str, i); free(str); clearBuffer(msg); free(msg); clearBuffer(info); free(info); } else { nmes.sndr_t = O_GAME; nmes.sndr.game = g; nmes.rcvr_t = O_GAME; nmes.rcvr.game = g; nmes.type = MEST_TURN_ENDED; nmes.len = 0; nmes.data = NULL; sendMessage(&nmes); } } break; case MEST_COMMAND_PROD: info("%s trying to product something in game\n", nick); { uint32_t n = *(uint32_t *)(mes->data); if (g == NULL) { info("%s not in game\n", nick); char err = 0; write(sp->fd, answrs[ANSWR_ERROR], 1); write(sp->fd, &err, 1); } else if (sp->turned) { info("%s already turned\n", nick); char err = 3; write(sp->fd, answrs[ANSWR_ERROR], 1); write(sp->fd, &err, 1); } else if (!g->started) { info("Game #%d isn't started\n", g->gid); char err = 4; write(sp->fd, answrs[ANSWR_ERROR], 1); write(sp->fd, &err, 1); } else if (n < 1 || n > sp->bf) { info("Nonavail product value got\n"); char err = 1; write(sp->fd, answrs[ANSWR_ERROR], 1); write(sp->fd, &err, 1); } else if (n*(g->prodPrice) > sp->money || n*(g->prodStuff) > sp->mat) { info("Not enough resources to product\n"); char err = 2; write(sp->fd, answrs[ANSWR_ERROR], 1); write(sp->fd, &err, 1); } else { write(sp->fd, answrs[ANSWR_OK], 1); sp->prodBid.c = n; } } free(mes->data); break; case MEST_COMMAND_MARKET: info("%s trying to take market information in game\n", nick); if (g == NULL) { info("%s not in game\n", nick); char err = 0; write(sp->fd, answrs[ANSWR_ERROR], 1); write(sp->fd, &err, 1); } else if (!g->started) { info("Game #%d isn't started\n", g->gid); char err = 1; write(sp->fd, answrs[ANSWR_ERROR], 1); write(sp->fd, &err, 1); } else { uint32_t i; char * str; Buffer * buf = newBuffer(); i = htonl(g->nPlayers); addnStr(buf, &i, sizeof(i)); i = htonl(g->turn); addnStr(buf, &i, sizeof(i)); i = htonl(g->state.sellC); addnStr(buf, &i, sizeof(i)); i = htonl(g->state.sellMinP); addnStr(buf, &i, sizeof(i)); i = htonl(g->state.buyC); addnStr(buf, &i, sizeof(i)); i = htonl(g->state.buyMaxP); addnStr(buf, &i, sizeof(i)); write(sp->fd, answrs[ANSWR_MARKET], 1); i = buf->count; str = flushBuffer(buf); write(sp->fd, str, i); free(str); clearBuffer(buf); free(buf); } break; case MEST_COMMAND_BUILD: info("%s trying to build something in game\n", nick); { uint32_t n = *(uint32_t *)(mes->data); if (g == NULL) { info("%s not in game\n", nick); char err = 0; write(sp->fd, answrs[ANSWR_ERROR], 1); write(sp->fd, &err, 1); } else if (!g->started) { info("Game #%d isn't started\n", g->gid); char err = 4; write(sp->fd, answrs[ANSWR_ERROR], 1); write(sp->fd, &err, 1); } else if (sp->turned) { info("%s already turned\n", nick); char err = 3; write(sp->fd, answrs[ANSWR_ERROR], 1); write(sp->fd, &err, 1); } else if (n < 1) { info("Nonavail build value got\n"); char err = 1; write(sp->fd, answrs[ANSWR_ERROR], 1); write(sp->fd, &err, 1); } else if ((g->bFacPrice/2) > sp->money) { info("Not enough resources to build\n"); char err = 2; write(sp->fd, answrs[ANSWR_ERROR], 1); write(sp->fd, &err, 1); } else { write(sp->fd, answrs[ANSWR_OK], 1); for (; n > 0; n--) addFactory(sp); } } free(mes->data); break; case MEST_COMMAND_SELL: info("%s trying to sell something in game\n", nick); { uint32_t n = *(uint32_t *)(mes->data); uint32_t p = *(uint32_t *)(mes->data + 4); if (g == NULL) { info("%s not in game\n", nick); char err = 0; write(sp->fd, answrs[ANSWR_ERROR], 1); write(sp->fd, &err, 1); } else if (!g->started) { info("Game #%d isn't started\n", g->gid); char err = 5; write(sp->fd, answrs[ANSWR_ERROR], 1); write(sp->fd, &err, 1); } else if (sp->turned) { info("%s already turned\n", nick); char err = 4; write(sp->fd, answrs[ANSWR_ERROR], 1); write(sp->fd, &err, 1); } else if (n != 0 && p > g->state.buyMaxP) { info("Price that is offered by %s is too high\n", nick); char err = 1; write(sp->fd, answrs[ANSWR_ERROR], 1); write(sp->fd, &err, 1); } else if (n > sp->prod) { info("%s don't have enough product\n", nick); char err = 2; write(sp->fd, answrs[ANSWR_ERROR], 1); write(sp->fd, &err, 1); } else if (n > g->state.buyC) { info("%s offered too many product to sell\n", nick); char err = 3; write(sp->fd, answrs[ANSWR_ERROR], 1); write(sp->fd, &err, 1); } else { write(sp->fd, answrs[ANSWR_OK], 1); sp->sellBid.c = n; sp->sellBid.p = p; } } free(mes->data); break; case MEST_COMMAND_BUY: info("%s trying to buy something in game\n", nick); { uint32_t n = *(uint32_t *)(mes->data); uint32_t p = *(uint32_t *)(mes->data + 4); if (g == NULL) { info("%s not in game\n", nick); char err = 0; write(sp->fd, answrs[ANSWR_ERROR], 1); write(sp->fd, &err, 1); } else if (!g->started) { info("Game #%d isn't started\n", g->gid); char err = 5; write(sp->fd, answrs[ANSWR_ERROR], 1); write(sp->fd, &err, 1); } else if (sp->turned) { info("%s already turned\n", nick); char err = 4; write(sp->fd, answrs[ANSWR_ERROR], 1); write(sp->fd, &err, 1); } else if (n != 0 && p < g->state.sellMinP) { info("Price that is offered by %s is too small\n", nick); char err = 1; write(sp->fd, answrs[ANSWR_ERROR], 1); write(sp->fd, &err, 1); } else if (n*p > sp->money) { info("%s don't have enough money\n", nick); char err = 2; write(sp->fd, answrs[ANSWR_ERROR], 1); write(sp->fd, &err, 1); } else if (n > g->state.sellC) { info("%s offered too many material to buy\n", nick); char err = 3; write(sp->fd, answrs[ANSWR_ERROR], 1); write(sp->fd, &err, 1); } else { write(sp->fd, answrs[ANSWR_OK], 1); sp->buyBid.c = n; sp->buyBid.p = p; } } free(mes->data); break; case MEST_GAME_OVER: { Buffer * msg = newBuffer(); Buffer * info = newBuffer(); mPlayer * mp; char * str; uint32_t i; /* generating MES part */ addnStr(msg, infos[INFO_GAME_OVER], 1); i = htonl(g->gid); addnStr(msg, &i, sizeof(i)); /* generating INFO part */ addnStr(info, answrs[ANSWR_INFO], 1); i = htonl(msg->count); addnStr(info, &i, sizeof(i)); i = msg->count; str = flushBuffer(msg); addnStr(info, str, i); free(str); /* sending info message */ i = info->count; str = flushBuffer(info); /* players in hall */ for (mp = srv.players; mp != NULL; mp = mp->next) if (mp->player != sp) write(mp->player->fd, str, i); free(str); clearBuffer(msg); free(msg); clearBuffer(info); free(info); } freeGame(g); break; case MEST_START_GAME: info("Game #%d started with %d players\n", g->gid, g->nPlayers); /* Send info message about game start */ { Buffer * msg = newBuffer(); Buffer * info = newBuffer(); mPlayer * mp; char * str; uint32_t i; /* generating MES part */ addnStr(msg, infos[INFO_START_GAME], 1); /* generating INFO part */ addnStr(info, answrs[ANSWR_INFO], 1); i = htonl(msg->count); addnStr(info, &i, sizeof(i)); i = msg->count; str = flushBuffer(msg); addnStr(info, str, i); free(str); /* sending info message */ i = info->count; str = flushBuffer(info); /* players in our game */ for (mp = g->players; mp != NULL; mp = mp->next) write(mp->player->fd, str, i); free(str); clearBuffer(msg); free(msg); clearBuffer(info); free(info); } startGame(g); break; case MEST_TURN_ENDED: info("New turn in game #%d\n", g->gid); { Turn * t; Buffer * msgshr = newBuffer(); mPlayer * mp; Bid * b; char * strshr; int lenshr; uint32_t i; t = turnGame(g); /* generating shared MES part */ addnStr(msgshr, infos[INFO_TURN_ENDED], 1); i = htonl(t->turn); addnStr(msgshr, &i, sizeof(i)); i = htonl(countBids(t->sell) + countBids(t->buy)); addnStr(msgshr, &i, sizeof(i)); for (b = t->buy->f; b != NULL; b = b->next) { i = htonl(b->type); addnStr(msgshr, &i, sizeof(i)); i = htonl(b->p->pid); addnStr(msgshr, &i, sizeof(i)); i = htonl(b->count); addnStr(msgshr, &i, sizeof(i)); i = htonl(b->price); addnStr(msgshr, &i, sizeof(i)); } for (b = t->sell->f; b != NULL; b = b->next) { i = htonl(b->type); addnStr(msgshr, &i, sizeof(i)); i = htonl(b->p->pid); addnStr(msgshr, &i, sizeof(i)); i = htonl(b->count); addnStr(msgshr, &i, sizeof(i)); i = htonl(b->price); addnStr(msgshr, &i, sizeof(i)); } lenshr = msgshr->count; strshr = flushBuffer(msgshr); for (mp = g->players; mp != NULL; mp = mp->next) { Buffer * info = newBuffer(); Buffer * msg = newBuffer(); char * str; /* generating private MES part */ addnStr(msg, strshr, lenshr); if (countBids(t->prod) == 0) { i = htonl(0); addnStr(msg, &i, sizeof(i)); } else { for (b = t->prod->f; b != NULL && b->p != mp->player; b = b->next); if (b == NULL) i = htonl(0); else i = htonl(b->count); addnStr(msg, &i, sizeof(i)); } if (countBids(t->fac) == 0) { i = htonl(0); addnStr(msg, &i, sizeof(i)); } else { for (b = t->fac->f; b != NULL && b->p != mp->player; b = b->next); if (b == NULL) i = htonl(0); else i = htonl(b->count); addnStr(msg, &i, sizeof(i)); } /* generating INFO part */ addnStr(info, answrs[ANSWR_INFO], 1); i = htonl(msg->count); addnStr(info, &i, sizeof(i)); i = msg->count; str = flushBuffer(msg); addnStr(info, str, i); free(str); /* sending info message */ i = info->count; str = flushBuffer(info); write(mp->player->fd, str, i); free(str); clearBuffer(msg); free(msg); clearBuffer(info); free(info); } free(strshr); clearBuffer(msgshr); free(msgshr); remTurn(t); } break; case MEST_PLAYER_BANKRUPT: sp = (Player *)(mes->data); info("%s had bankrupted in game #%d\n", getNickname(sp), g->gid); { Buffer * msg = newBuffer(); Buffer * info = newBuffer(); mPlayer * mp; char * str; uint32_t i; /* generating MES part */ addnStr(msg, infos[INFO_PLAYER_BANKRUPT], 1); i = htonl(sp->pid); addnStr(msg, &i, sizeof(i)); /* generating INFO part */ addnStr(info, answrs[ANSWR_INFO], 1); i = htonl(msg->count); addnStr(info, &i, sizeof(i)); i = msg->count; str = flushBuffer(msg); addnStr(info, str, i); free(str); /* sending info message */ i = info->count; str = flushBuffer(info); /* players in our game */ for (mp = g->players; mp != NULL; mp = mp->next) write(mp->player->fd, str, i); free(str); clearBuffer(msg); free(msg); clearBuffer(info); free(info); } nmes.sndr_t = O_PLAYER; nmes.sndr.player = sp; nmes.rcvr_t = O_GAME; nmes.rcvr.game = NULL; nmes.type = MEST_PLAYER_JOINS_HALL; nmes.len = 0; nmes.data = NULL; sendMessage(&nmes); IntoNil(sp); break; case MEST_PLAYER_WIN: sp = (Player *)(mes->data); info("%s had win in game #%d\n", getNickname(sp), g->gid); { Buffer * msg = newBuffer(); Buffer * info = newBuffer(); mPlayer * mp; char * str; uint32_t i; /* generating MES part */ addnStr(msg, infos[INFO_PLAYER_WIN], 1); i = htonl(sp->pid); addnStr(msg, &i, sizeof(i)); /* generating INFO part */ addnStr(info, answrs[ANSWR_INFO], 1); i = htonl(msg->count); addnStr(info, &i, sizeof(i)); i = msg->count; str = flushBuffer(msg); addnStr(info, str, i); free(str); /* sending info message */ i = info->count; str = flushBuffer(info); /* players in our game */ for (mp = g->players; mp != NULL; mp = mp->next) write(mp->player->fd, str, i); free(str); clearBuffer(msg); free(msg); clearBuffer(info); free(info); } nmes.sndr_t = O_PLAYER; nmes.sndr.player = sp; nmes.rcvr_t = O_GAME; nmes.rcvr.game = NULL; nmes.type = MEST_PLAYER_JOINS_HALL; nmes.len = 0; nmes.data = NULL; sendMessage(&nmes); IntoNil(sp); break; } }