Exemplo n.º 1
0
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);
	}
Exemplo n.º 3
0
// 注册所有工厂
void FactoryMgr::_registerFactory()
{
	// 加法工厂
	IFactory *pOperFactory = new AddFactory();
	addFactory(pOperFactory);
	// 减法工厂
	pOperFactory = new SubFactory();
	addFactory(pOperFactory);
	// 乘法工厂
	pOperFactory = new MulFactory();
	addFactory(pOperFactory);
	// 除法工厂
	pOperFactory = new DivFactory();
	addFactory(pOperFactory);
}
Exemplo n.º 4
0
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();
}
Exemplo n.º 5
0
	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() );
	}
Exemplo n.º 6
0
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());
}
Exemplo n.º 7
0
//----------------------------------------------------------------------------//
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);
    }
}
Exemplo n.º 10
0
////////////////////////////////////////////////////////////////////////////////
// 정의된 모든 컨디션팩토리들을 여기에 추가한다.
////////////////////////////////////////////////////////////////////////////////
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
}
Exemplo n.º 11
0
//////////////////////////////////////////////////////////////////////
//
// ���ǵ� ���� ��Ŷ���丮���� ���⿡ �߰��Ѵ�.
//
//////////////////////////////////////////////////////////////////////
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
}
Exemplo n.º 12
0
	void ElementDB< Agents::AgentGeneratorFactory, Agents::AgentGenerator >::addBuiltins() {
		addFactory( new Agents::ExplicitGeneratorFactory() );
		addFactory( new Agents::RectGridGeneratorFactory() );
		addFactory( new Agents::HexLatticeGeneratorFactory() );
	}
Exemplo n.º 13
0
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()));
}
Exemplo n.º 14
0
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());
}
Exemplo n.º 15
0
	GpuProgramCoreManager::GpuProgramCoreManager()
	{
		mNullFactory = bs_new<NullProgramFactory>();
		addFactory(mNullFactory);
	}
Exemplo n.º 16
0
	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()));
}
Exemplo n.º 18
0
void ElementDB<Agents::StateSelectorFactory, Agents::StateSelector>::addBuiltins() {
  addFactory(new Agents::ConstStateSelectorFactory());
}
Exemplo n.º 19
0
	void ElementDB< BFSM::VelModFactory, BFSM::VelModifier >::addBuiltins() {
		addFactory(new BFSM::ScaleVMFactory());
	}
Exemplo n.º 20
0
    //-----------------------------------------------------------------------
    SceneManagerEnumerator::SceneManagerEnumerator()
		: mInstanceCreateCount(0), mCurrentRenderSystem(0)
    {
        addFactory(&mDefaultFactory);

    }
Exemplo n.º 21
0
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;
	}
}