void CFireParticleSystem::Initialize(OpenGLES::OpenGLESContext *_gl, GLuint *_textureImageID, Env * _env, int _point_number)
{
	gl = _gl;
	textureImageID = _textureImageID;
	env = _env;
	point_number = _point_number;
	
	fire_particles = new CFireParticle[point_number]();
	particle_x = new int[point_number];
	particle_y = new int[point_number];
	last_particle_initialized = 0;
	
	totalTime = 0.0f;
	signal = 1;
	change_cycle = RANDOM_FLOAT * 0.5f;
	
	m_fMinDieAge = 1.5f;
	m_fMaxDieAge = 0.5f;
	SetCreationDieColor(Vector3D(0.9f,0.8f,0.3f),Vector3D(0.9f,0.9f,0.4f),Vector3D(0.8f,0.724f,0.16f),Vector3D(0.81f,0.725f,0.17f));
	SetAlphaValues(1.0f,1.0f,0.0f,0.0f);
	SetSpinSpeed(-0.82*GLT_PI,0.82*GLT_PI);
	
#define SIZE_ONE 0.5f
	
	SetSizeValues(SIZE_ONE,2*SIZE_ONE,SIZE_ONE,2*SIZE_ONE);
	SetAcceleration(Vector3D(0.0f,-10.0f,0.0f),1.3f,0.4f);
	m_fMaxEmitSpeed = 40.0f;
	m_fMinEmitSpeed = 10.0f;
	SetEmissionDirection(Vector3D(0.0f,0.0f,0.0f),Vector3D(0.0f,0.0f,0.0f));
	SetEmitter(Vector3D(0.0f,0.0f,0.0f), Vector3D(0.2f,0.2f,0.0f));
}
예제 #2
0
파일: XKeyEmitter.cpp 프로젝트: xahgo/tama
void XKeyEmitter::Execute( XSprObj *pSprObj, float fOverSec )
{
	// spLayer를 인수로 받아쓰면 될거 같은데...
	auto pLayer = SafeCast<XLayerParticle*>( pSprObj->GetLayer(GetLayerType(), GetnLayer()) );
	if( XASSERT( pLayer ) ) {
		pLayer->SetEmitter( m_Emit );
	}
}
예제 #3
0
Allure::Allure(Character* effector, Character* tgt)
{
	SetEffector(effector);

	this->tgt = tgt;
	duration = 2.5f;

	SetEmitter(GameplayState::GetInstance()->CreateEmitter("allure"));
}
예제 #4
0
Burning::Burning(Character* effector)
{
	affectors.emplace(StatType::defense, 0.75f);
	SetEffector(effector);

	duration = 6.f;
	SetEmitter(GameplayState::GetInstance()->CreateEmitter("fire"));

}
예제 #5
0
Transfusion::Transfusion(Character* effector)
{
	SetEffector(effector);


	duration = 10.0f;

	//eventual particles
	SetEmitter(GameplayState::GetInstance()->CreateEmitter("transfusion"));
}
예제 #6
0
Burning::~Burning(void)
{

	SetEffector(nullptr);
	SetEmitter(nullptr);
}