Exemplo n.º 1
0
BOOL CTrkObjList::OnNewObj(LONG ObjClassId,POINT Point,UINT Flags,CWnd* pWnd,
                           double Zoom,int UpdateMode)
{

   BOOL Created = FALSE;

   UnselectAll(pWnd,Zoom,UpdateMode);

   CTrk* pTrk = SetupNewObjTrk(ObjClassId);

   if (pTrk != NULL)
      Created = pTrk->TrackRubberBand(Point,Flags,pWnd,Zoom);

   if (Created)
   {

      CTrkObj* pObj = CreateObj(ObjClassId,pTrk,pWnd);

      if (pObj != NULL)
      {
         Add(pObj);
         Select(pObj,pWnd,Zoom,UpdateMode);
      }

   }

   delete pTrk;

   return(Created);

}
Exemplo n.º 2
0
int _tmain(int argc, _TCHAR* argv[])
{
	cConcrete *pObj = new cConcrete();

	cSub1 *pObj;
	if( CreateObj( cConcrete::kClassId, cSub1::kIID, (void**)&pObj ) )
	{
		// yay
	}

	std::cout<< "v1=" << ((cSub1*)pObj)->Get() << std::endl;
	((cSub1*)pObj)->mIsTrue = true;
	std::cout<< "v1=" << ((cSub1*)pObj)->Get() << std::endl;
	std::cout<< "v2=" << ((cSub2*)pObj)->mIsTrue << std::endl;

	// http://thedocs.com/13435asdf
	//tAutoPtr<cSub1> pSub1;
	cSub1 *pSub1;
	//if( pObj->QI( cSub1::kIID, pSub1.AsPPV() ) )
	if( pObj->QI( cSub1::kIID, (void**)&pSub1 ) )
	{
		pSub1->Test();

		cSub2 *pSub2;
		if( pSub1->QI( cSub2::kIID, (void**)&pSub2 ) )
		{
			pSub2->Test();
		}
	}


	//std::cout<< "-------"<< std::endl;

	//std::cout<< "sub1"<< std::endl;
	//cSub1 *pSub1 = static_cast<cSub1 *>(pObj);
	//std::cout<< "v=" << pSub1->mIsTrue << std::endl;
	//pSub1->Test();

	//std::cout<< "sub2"<< std::endl;
	//cSub2 *pSub2 = static_cast<cSub2 *>(pObj);
	//std::cout<< "v=" << pSub2->mIsTrue << std::endl;
	//pSub2->Test();

	//std::cout<< "sub2 -> base2"<< std::endl;
	//cBase *pBase2 = static_cast<cBase *>(pSub2);
	//std::cout<< "v=" << pBase2->mIsTrue << std::endl;
	//pBase2->Test();

	//std::cout<< "base2 -> sub1"<< std::endl;
	//cSub1 *pBase2_Sub1 = static_cast<cSub1 *>(pBase2);
	//std::cout<< "v=" << pBase2_Sub1->mIsTrue << std::endl;
	//pBase2_Sub1->Test();

	delete pObj;
	return 0;
}
Exemplo n.º 3
0
OpencvWidget::OpencvWidget(QWidget *parent)
	: QWidget(parent)
{
	MatRows = 200;
	MatCols = 300;

	CreateObj();
	setUI();

	QObject::connect( funs[0], SIGNAL(triggered()), this, SLOT(createCameraThread()) );
	QObject::connect( funs[1], SIGNAL(triggered()), this, SLOT(createOptFlowThread()) );
	QObject::connect( funs[2], SIGNAL(triggered()), this, SLOT(createFeatureMatchThread()) );
	QObject::connect( funs[3], SIGNAL(triggered()), this, SLOT(createContourThread()) );
	QObject::connect( funs[4], SIGNAL(triggered()), this, SLOT(createRGBLineChart()) );
	QObject::connect( funs[5], SIGNAL(triggered()), this, SLOT(createBackProjection()) );

	this->setWindowTitle("My_project");
    this->resize(800, 600);
	this->show();
}
Exemplo n.º 4
0
void CQuiz::SetNPC()
{
	CMover* pMover	= (CMover*)CreateObj( D3DDEVICE, OT_MOVER, m_sNPC.dwNPCId );
	if( !pMover )
	{
		Error( "CQuiz::SetNPC() - pMover is NULL - %d, %s", m_sNPC.dwNPCId, m_sNPC.strCharKey.c_str() );
		return;
	}
	lstrcpy( pMover->m_szCharacterKey, m_sNPC.strCharKey.c_str() );
	pMover->InitNPCProperty();
	pMover->InitCharacter( pMover->GetCharacter() );
	pMover->SetPos( m_sNPC.vPos );
	pMover->InitMotion( MTI_STAND );
	pMover->UpdateLocalMatrix();
	pMover->AddItToGlobalId();
	m_sNPC.idNpc = pMover->GetId();
	CWorld* pWorld	= g_WorldMng.GetWorld( WI_WORLD_MADRIGAL );
	if( pWorld )
		pWorld->ADDOBJ( pMover, FALSE, nDefaultLayer );
}
Exemplo n.º 5
0
vCommonCtrl* CreateExpBox(vUser* pUser)
{
	vCommonCtrl* pCtrl = (vCommonCtrl*)CreateObj(OT_CTRL, CI_EXPBOX);
	if( !pCtrl )
		return nullptr;


	float fRate = 0.1f, fDecExp = 0.0f;
	bool  bPxpClear = false, bLvDown = false;
	int   nLevel	= pUser->GetLevel();
	pUser->GetDieDecExp( nLevel, fRate, fDecExp, bPxpClear, bLvDown );

	if( fDecExp )
		pUser->GetDieDecExpRate( fDecExp, 0, FALSE );


	if( pUser->IsSMMode( SM_REVIVAL ) )
		fDecExp = 0.0f;

	if( pUser->GetExp1() == 0 )
		fDecExp = 0.0f;	

	if( pUser->m_bLastPK || pUser->m_bGuildCombat || pUser->m_bLastDuelParty )
		fDecExp = 0.0f;			

	if( fDecExp == 0.0f )
		return NULL;

	pCtrl->m_CtrlElem.m_dwSet = UA_PLAYER_ID;
	pCtrl->m_idExpPlayer = pUser->GetId();
	pCtrl->m_nExpBox  = (__int64)((float)g_prj.m_pExpCharacter[pUser->GetLevel()+1].nExp1 * fDecExp);
	pCtrl->m_dwDelete = GetTickCount() + MIN( 30 );

	pCtrl->SetPos( pUser->GetPos() );

	
	pUser->AddDefinedText(TID_GAME_EXPBOX_INFO_MSG, "" );
	pUser->AddChatText(   TID_GAME_EXPBOX_INFO_MSG, "");
	
	return pCtrl;
}
Exemplo n.º 6
0
	Bool HsGame::PostProtocol(SID iSid, Protocol* pProto)
	{
		XID sXid;
		ProtoType iType = pProto->GetType();
		if (iType == ProtocolId::LOGIN_GAME)
		{
			UString sName = ((LoginGame*)pProto)->m_sName;

			HawkStringUtil::Trim<UString>(sName);
			UInt32 iPlayerId = HawkStringUtil::HashString<UString>(sName);

			SafeObj user_obj(XID(HSO_PLAYER, iPlayerId));
			if(!user_obj.IsObjValid())
				CreateObj(XID(HSO_PLAYER, iPlayerId));

			sXid = XID(HSO_PLAYER, iPlayerId);
		}
		else
		{
			sXid = GetXidBySid(iSid);
		}

		return HawkAppFrame::PostProtocol(sXid, iSid, pProto);
	}
Exemplo n.º 7
0
void CCreateMonster::CreateMonster( CUser* pUser, DWORD dwObjId, D3DXVECTOR3 vPos )
{
	if( (int)( m_mapCreateMonsterInfo.size() ) >= m_nMaxCreateNum )
	{
		pUser->AddDefinedText( TID_GAME_CREATEMON_LIMIT );
		return;
	}
	
	CItemElem* pItemElem = pUser->m_Inventory.GetAtId( dwObjId );
	if( !IsUsableItem( pItemElem ) )
		return;

	CREATE_MONSTER_PROP* pCreateMonsterProp = GetCreateMonsterProp( pItemElem );
	if( !pCreateMonsterProp )
		return;

	DWORD dwMonsterId = pCreateMonsterProp->GetRandomMonsterId();
	if( dwMonsterId == NULL_ID )
		return;

	CWorld* pWorld = pUser->GetWorld();
	MoverProp* pMoverProp = prj.GetMoverProp( dwMonsterId );

	if( pWorld && pMoverProp && pMoverProp->dwID != 0 )
	{
		D3DXVECTOR3 vDist2 = pUser->GetPos() - vPos;
		float fDist = D3DXVec3Length( &vDist2 );			// 두좌표간의 거리
		if( 15.f < fDist )
		{
			pUser->AddDefinedText( TID_GAME_CREATEMON_F_15 );
			return;
		}

		int nAttr = pWorld->GetHeightAttribute( vPos.x, vPos.z );		// 이동할 위치의 속성 읽음.
		if( nAttr == HATTR_NOWALK || nAttr == HATTR_NOMOVE )		// 못 움직이는 곳이면 Pass
		{
			pUser->AddDefinedText( TID_GAME_CREATEMON_F_AREA );
			return;
		}
		if( pUser->IsRegionAttr( RA_SAFETY ))		// 안전지역이면 Pass
		{
			pUser->AddDefinedText( TID_GAME_CREATEMON_F_AREA );
			return;
		}
		if( pWorld->GetID() != WI_WORLD_MADRIGAL )
		{
			pUser->AddDefinedText( TID_GAME_CREATEMON_F_AREA );
			return;
		}

		CObj* pObj	= CreateObj( D3DDEVICE, OT_MOVER, pMoverProp->dwID );
		if( NULL == pObj )	return;	// ASSERT( pObj );
		pObj->SetPos( vPos );
		pObj->InitMotion( MTI_STAND );
		pObj->UpdateLocalMatrix();
		((CMover*)pObj)->m_bActiveAttack = FALSE;
		((CMover*)pObj)->AddItToGlobalId();
		pWorld->ADDOBJ( pObj, FALSE, pUser->GetLayer() );
		
		LogItemInfo aLogItem;
		aLogItem.Action = "i";
		aLogItem.SendName = pUser->GetName();
		char szTemp[128] = {0,};
		sprintf( szTemp, "M_C_%s", pMoverProp->szName ); 
		memset( szTemp+31, 0, sizeof(szTemp)-31 );

		aLogItem.RecvName = szTemp;
		aLogItem.Gold = aLogItem.Gold2 = pUser->GetGold();
		aLogItem.Gold_1 = ((CMover*)pObj)->GetId();
		aLogItem.WorldId = pUser->GetWorld()->GetID();
		g_DPSrvr.OnLogItem( aLogItem, pItemElem, 1 );

		pUser->AddDefinedText( TID_GAME_CREATEMON_S, "\"%s\"", pMoverProp->szName );
		pUser->RemoveItem( (BYTE)( dwObjId ), (short)( 1 ) );
		
		CREATE_MONSTER_INFO createMonsterInfo;
		createMonsterInfo.chState = 'N';
		createMonsterInfo.dwOwnerId = pUser->m_idPlayer;
		createMonsterInfo.dwEndTick = pCreateMonsterProp->dwKeepTime + GetTickCount();
		m_mapCreateMonsterInfo.insert( make_pair( ((CMover*)pObj)->GetId(), createMonsterInfo ) );
	}
}
Exemplo n.º 8
0
void YKReader::ReadData( const YK_TYPE& type )
{
	WRDataInfo& dataInfo = m_pDS->GetDataInfo();
	dataInfo.type = type;
	m_pCallBack->SetCurCallBack(type);
	if (!IsEnableSync())
	{
		m_pDS->Clear();
		if (!m_pCallBack->ProBeforeProData(dataInfo, this) ||
			!BeforeProData(dataInfo))
			return;
	}

	if (!IsEnableSync() && dataInfo.type != type)
	{
		m_pCallBack->SetCurCallBack(dataInfo.type);
		if (!m_pCallBack->ProBeforeProData(dataInfo, this))
			return;
	}

	if (dataInfo.type == TblTableState)
	{
		ReadTblModel(dataInfo);
		return;
	}else if(viewWnd_def == dataInfo.type)
	{
		ReadViewStates(dataInfo);
		return;
	}
	else if(dataInfo.type == TblCustomRule)
	{
		ReadTableTypeValue(dataInfo);
		return;
	}

	if (dataInfo.type == TblSpec)
	{
		int num = 0;
	}
	while (m_pDS->Step())
	{
		//BOOST_ASSERT(m_pDS->ValidData());
		if(!m_pDS->ValidData())	continue;
		YKObjectSPtr obj = CreateObj(dataInfo);
		if (!obj.ValidObj())
			continue;
		
		if (!IsEnableSync())
		{
			if (!m_pCallBack->ProBeforeObject(obj, dataInfo, this) ||
				!BeforeObject(obj, dataInfo))
			{
				continue;
			}
		}

		const std::size_t len = dataInfo.m_vecFields.size();
		dataInfo.bInvalidObj = false;
		for (std::size_t i = 0; i < len; ++i)
		{
 			YK_UINT field = dataInfo.m_vecFields[i];
			dataInfo.curField = field;
			YKString val = std::move(m_pDS->GetData(i));
			val.Replace(dataInfo.replaceField, dataInfo.sepField);
			val.Replace(dataInfo.replaceObject, dataInfo.sepObject);
			if (IsEnableSync() || (m_pCallBack->ProProField(obj, dataInfo, val, this) &&
				ProField(obj, dataInfo, val) && field != DATESAVE_SPEC_COL && field != DATESAVE_SPEC_DATA_COL && field != DATESAVE_SPEC_RANGE_COL))
			{
				m_dataWriter.Write(dataInfo.type, obj, field, val);
			}
			if (dataInfo.bInvalidObj)
				break;
		}

		if (!IsEnableSync() && !dataInfo.bInvalidObj)
		{
			if (m_pCallBack->ProAfterObject(obj, dataInfo, this))
				AfterObject(obj, dataInfo);
		}

		if (!IsEnableSync())
		{
			if (dataInfo.bInvalidObj)
				FreeObject(obj, dataInfo);
			else
				obj->GetFlag().m_bTempRead = false;
		}
	}

	if (!IsEnableSync())
	{
		if (m_pCallBack->ProAfterProData(dataInfo, this))
			AfterProData(dataInfo);
	}
}