IEffectPainter *CParticleJetEffectCreator::CreatePainter (CCreatePainterCtx &Ctx) // CreatePainter // // Creates a new painter { // If we have a singleton, return that if (m_pSingleton) return m_pSingleton; // Otherwise we need to create a painter with the actual // parameters. IEffectPainter *pPainter = new CParticleJetEffectPainter(Ctx, this); // Initialize the painter parameters pPainter->SetParam(Ctx, EMIT_RATE_ATTRIB, m_EmitRate); pPainter->SetParam(Ctx, FIXED_POS_ATTRIB, m_FixedPos); pPainter->SetParam(Ctx, PARTICLE_LIFETIME_ATTRIB, m_ParticleLifetime); pPainter->SetParam(Ctx, LIFETIME_ATTRIB, m_Lifetime); pPainter->SetParam(Ctx, XFORM_ROTATION_ATTRIB, m_XformRotation); pPainter->SetParam(Ctx, XFORM_TIME_ATTRIB, m_XformTime); if (!m_FixedPos.EvalBool(Ctx) || m_EmitSpeed.GetType() != CEffectParamDesc::typeNull) pPainter->SetParam(Ctx, EMIT_SPEED_ATTRIB, m_EmitSpeed); if (m_SpreadAngle.GetType() != CEffectParamDesc::typeNull) pPainter->SetParam(Ctx, SPREAD_ANGLE_ATTRIB, m_SpreadAngle); else pPainter->SetParam(Ctx, TANGENT_SPEED_ATTRIB, m_TangentSpeed); // Initialize via GetParameters, if necessary InitPainterParameters(Ctx, pPainter); // If we are a singleton, then we only need to create this once. if (GetInstance() == instGame) { pPainter->SetSingleton(true); m_pSingleton = pPainter; } return pPainter; }
IEffectPainter *CRayEffectCreator::CreatePainter (CCreatePainterCtx &Ctx) // CreatePainter // // Creates a new painter { // If we have a singleton, return that if (m_pSingleton) return m_pSingleton; // Otherwise we need to create a painter with the actual // parameters. IEffectPainter *pPainter = new CRayEffectPainter(this); // Initialize the painter parameters pPainter->SetParam(Ctx, ANIMATE_OPACITY_ATTRIB, m_AnimateOpacity); pPainter->SetParam(Ctx, LENGTH_ATTRIB, m_Length); pPainter->SetParam(Ctx, WIDTH_ATTRIB, m_Width); pPainter->SetParam(Ctx, SHAPE_ATTRIB, m_Shape); pPainter->SetParam(Ctx, STYLE_ATTRIB, m_Style); pPainter->SetParam(Ctx, INTENSITY_ATTRIB, m_Intensity); pPainter->SetParam(Ctx, PRIMARY_COLOR_ATTRIB, m_PrimaryColor); pPainter->SetParam(Ctx, SECONDARY_COLOR_ATTRIB, m_SecondaryColor); pPainter->SetParam(Ctx, LIFETIME_ATTRIB, m_Lifetime); pPainter->SetParam(Ctx, XFORM_ROTATION_ATTRIB, m_XformRotation); // Initialize via GetParameters, if necessary InitPainterParameters(Ctx, pPainter); // If we are a singleton, then we only need to create this once. if (GetInstance() == instGame) { pPainter->SetSingleton(true); m_pSingleton = pPainter; } return pPainter; }
IEffectPainter *COrbEffectCreator::CreatePainter (CCreatePainterCtx &Ctx) // CreatePainter // // Creates a new painter { // If we have a singleton, return that if (m_pSingleton) return m_pSingleton; // Otherwise we need to create a painter with the actual // parameters. IEffectPainter *pPainter = new COrbEffectPainter(this); // Initialize the painter parameters pPainter->SetParam(Ctx, ANIMATE_ATTRIB, m_Animate); pPainter->SetParam(Ctx, RADIUS_ATTRIB, m_Radius); pPainter->SetParam(Ctx, STYLE_ATTRIB, m_Style); pPainter->SetParam(Ctx, INTENSITY_ATTRIB, m_Intensity); pPainter->SetParam(Ctx, PRIMARY_COLOR_ATTRIB, m_PrimaryColor); pPainter->SetParam(Ctx, SECONDARY_COLOR_ATTRIB, m_SecondaryColor); pPainter->SetParam(Ctx, LIFETIME_ATTRIB, m_Lifetime); // Initialize via GetParameters, if necessary InitPainterParameters(Ctx, pPainter); // If we are a singleton, then we only need to create this once. if (GetInstance() == instGame) { pPainter->SetSingleton(true); m_pSingleton = pPainter; } return pPainter; }