Exemplo n.º 1
0
    DiParticleEmitter* DiEffectManager::CloneEmitter(DiParticleEmitter* emitter)
    {
        if (!emitter)
        {
            return 0;
        }

        DiParticleEmitter* clonedEmitter = CreateEmitter(emitter->GetEmitterType());
        emitter->CopyTo(clonedEmitter);
        return clonedEmitter;
    }
Exemplo n.º 2
0
void CParticleGroup::Read(CTStream *pIS)
{
	ASSERT(pIS);
	CTStream &is = *pIS;

	is.ExpectID_t("PTGR");
	UBYTE ubVer;
	is >> ubVer;

	if(ubVer == CURRENT_VERSION)
	{
		CTString strTemp;
		is.GetLine_t(strTemp);
		m_strName = strTemp.str_String;
		CTFileName fnTexture;
		is >> fnTexture;
		m_fnTexture = fnTexture.str_String;
		is >> (DWORD&)m_eRenderType;
		is >> (DWORD&)m_eBlendType;
		is >> m_mexWidth;
		is >> m_mexHeight;
		is >> m_iCol;
		is >> m_iRow;
		DWORD dwCount;
		is >> dwCount;
		DWORD dwTemp;
		for(DWORD i=0; i<dwCount; ++i)
		{
			is >> dwTemp;
			m_vectorCommonProcess.push_back( CreateProcess((PARTICLES_COMMON_PROCESS_TYPE)dwTemp) );
			m_vectorCommonProcess[i]->Read(&is);
		}
		BOOL bExist;
		is >> bExist;
		if(bExist)
		{
			is >> dwTemp;
			m_pParticlesEmitter = CreateEmitter((PARTICLES_EMITTER_TYPE)dwTemp);
			m_pParticlesEmitter->Read(&is);
		}
		is >> bExist;
		if(bExist)
		{
			is >> dwTemp;
			m_pParticlesAbsorption = CreateAbsorption((PARTICLES_ABSORPTION_TYPE)dwTemp);
			m_pParticlesAbsorption->Read(&is);
		}
	}
Exemplo n.º 3
0
void ParticleGroup::Init( LPDIRECT3DDEVICE9 pDevice )
{
	m_pDevice = pDevice;
	SetTexture("Flare.tga");
	m_CommonUp.x = 0;
	m_CommonUp.y = 1;
	m_CommonUp.z = 0;
	m_CommonDirection.x = 0;
	m_CommonDirection.y = 0;
	m_CommonDirection.z = -1;
	m_fTexAnimDuration = 5.0f;

	string Type = "点发射器";
	ParticleEmitter *pEmitter = CreateEmitter(Type);
	AddEmitter(pEmitter);
	pEmitter->LoadFromFile(".\\Particle.ini","Fire");
}
Exemplo n.º 4
0
      void Write(int head, int tail, int depth)
      {
         NodePtr root_node = NodePtr( new YAML::Node());

         CreateEmitter(root_node,head,tail,depth);

         for( unsigned int i=0; i<windows_.size(); ++i)
         {
            YAML::Node node;

            node["name"]  = windows_[i].name;
            node["start"] = windows_[i].start;
            node["stop"]  = windows_[i].stop;

            (*root_node)["rx_win"].push_back(node);
         }

         std::ofstream fout( bufferFileName_.c_str());
         fout << *root_node;
         fout.close();

      }