예제 #1
0
파일: jrserver.cpp 프로젝트: FyhSky/bomi
JrServer::~JrServer()
{
    _Info("Closing server.");
    setInterface(nullptr);
    auto devices = d->clients.keys();
    for (auto dev : devices) {
        dev->close();
        removeClient(dev);
    }
    delete d->transport;
    delete d;
}
예제 #2
0
void BZSpriteStarHolder::onUpdate()
{
	BZSpriteCommon::onUpdate();

	switch (_getState())
	{
	case ESHS_Blank:
		break;
	case ESHS_Filling:
		{
			int n = 0;
			CASprite* psprsRemoved[256];
			CAObject* pobj;
			CCARRAY_FOREACH(_pieces, pobj)
			{
				CASprite* pspr = (CASprite*)pobj;
				float p0 = pspr->getAnimationPercent(this->layer()->getTimeNow());
				float p = p0 + 0.1f;
				if (p > 1.0f) p = 1.0f;

				CCPoint pos;
				CCPoint posBegin = pspr->getPos();
				CCPoint posTo = getPos();
				pos.x = posBegin.x + (posTo.x - posBegin.x) * p;
				pos.y = posBegin.y + (posTo.y - posBegin.y) * p;

				_Info("star (%.2f) (%.2f,%.2f) (%.2f,%.2f) (%.2f,%.2f)", p0, pos.x, pos.y, posBegin.x, posBegin.y, posTo.x, posTo.y);

				pspr->setPos(pos);
				if (pspr->isAnimationDone())
				{
					pspr->setPos(posTo);
					pspr->killMyself();
					psprsRemoved[n++] = pspr;

					this->setState("on");
					_setState(ESHS_Filled);
				}
			}
			while (n > 0)
			{
				CASprite* pspr = psprsRemoved[n - 1];
				_pieces->removeObject(pspr);
				n--;
			}
		}
		break;
	case ESHS_Filled:
		break;
	}
예제 #3
0
파일: SceneMgr.cpp 프로젝트: lorichen/xgame
bool SceneMgr::addEntity(const xs::Point& ptTile, EntityView* pEntity)
{
	if (pEntity == 0)
		return 0;

	Tile& tile = getTile(ptTile);
	if (!tile.isValid())
	{
		xs::Point pt;
		m_SceneCo.tile2Pixel(ptTile, pt);
		int nGridX = pt.x >> SHIFT_WIDTH;
		int nGridY = pt.y >> SHIFT_HEIGHT;
		_Info("addEntity:fail"<<_fi("0x%08x", (ulong)pEntity)<<endl);
		return false;
	}
예제 #4
0
VideoFrameShader::VideoFrameShader()
    : m_vbo(QOpenGLBuffer::VertexBuffer)
{
    auto ctx = QOpenGLContext::currentContext();
    m_dma = ctx->hasExtension("GL_APPLE_client_storage")
            && ctx->hasExtension("GL_APPLE_texture_range");
    if (m_dma)
        _Info("Direct memoery access(DMA) is available.");
    m_target = m_dma ? OGL::TargetRectangle : OGL::Target2D;
    m_binding = OGL::bindingTarget(m_target);

    m_lutInt[0].create();
    m_lutInt[1].create();
    m_vbo.create();
    m_vbo.setUsagePattern(QOpenGLBuffer::StaticDraw);
}
//---------------------------------------------------------
CDLG_Parameters::CDLG_Parameters(CSG_Parameters *pParameters, const wxString &Caption, const wxString &Info)
	: CDLG_Base(-1, Caption)
{
	if( Caption.IsEmpty() )
	{
		if( pParameters && !pParameters->Get_Name().is_Empty() )
		{
			SetTitle(pParameters->Get_Name().c_str());
		}
		else
		{
			SetTitle(_TL("Parameters"));
		}
	}

	m_pControl		= new CParameters_Control(this, true);

	m_pParameters	= pParameters;

	g_pActive->Get_Parameters()->Update_Parameters(m_pParameters, true);

	m_pControl->Set_Parameters(m_pParameters);

	Add_Button(ID_BTN_LOAD);
	Add_Button(ID_BTN_SAVE);
	Add_Button(ID_BTN_DEFAULTS);

	if( Info.IsEmpty() )
	{
		m_pInfo_Button	= NULL;
		m_pInfo			= NULL;
	}
	else
	{
		Add_Button(0);

		wxString	_Info(Info); _Info.Replace("\n", "<br>");

		m_pInfo_Button	= Add_Button(ID_BTN_DESCRIPTION);
		m_pInfo			= new CActive_Description(this);
		m_pInfo->SetPage(_Info);

		Show_Info(m_bInfo);
	}

	Set_Positions();
}
예제 #6
0
void BZSpriteStarHolder::addStar(const string& name, const CCPoint& pos)
{
	_Assert(ESHS_Blank == _item_state);

	CAStageLayer* pl = this->layer();
	CASprite* pspr = CAWorld::sharedWorld()->createSprite(pl, name.c_str());
	pspr->setVertexZ(this->getVertexZ() + 10.0f);
	pspr->setPos(pos);
	pspr->setState("fly");
	pl->addSprite(pspr);
	_pieces->addObject(pspr);

	CCPoint pp = pspr->getPos();
	_Info("star pos (%.2f,%.2f), inpos (%.2f,%.2f)", pp.x, pp.y, pos.x, pos.y);

	_setState(ESHS_Filling);
}