Exemple #1
0
VariantVector ParticleEmitter::GetParticleBillboardsAttr() const
{
    VariantVector ret;
    if (!serializeParticles_)
    {
        ret.push_back((int)billboards_.size());
        return ret;
    }

    ret.reserve(billboards_.size() * 7 + 1);
    ret.push_back((int)billboards_.size());

    for (auto i = billboards_.begin(); i != billboards_.end(); ++i)
    {
        ret.push_back(i->position_);
        ret.push_back(i->size_);
        ret.push_back(Vector4(i->uv_.min_.x_, i->uv_.min_.y_, i->uv_.max_.x_, i->uv_.max_.y_));
        ret.push_back(i->color_);
        ret.push_back(i->rotation_);
        ret.push_back(i->direction_);
        ret.push_back(i->enabled_);
    }

    return ret;
}
Exemple #2
0
VariantVector AnimationController::GetAnimationsAttr() const
{
    VariantVector ret;
    ret.reserve(animations_.size() * 5);
    for (auto i = animations_.begin(); i != animations_.end(); ++i)
    {
        ret.push_back(i->name_);
        ret.push_back(i->speed_);
        ret.push_back(i->targetWeight_);
        ret.push_back(i->fadeTime_);
        ret.push_back(i->autoFadeTime_);
    }
    return ret;
}
Exemple #3
0
VariantVector AnimationController::GetNodeAnimationStatesAttr() const
{
    VariantVector ret;
    ret.reserve(nodeAnimationStates_.size() * 3 + 1);
    ret.push_back((int)nodeAnimationStates_.size());
    for (auto i = nodeAnimationStates_.begin(); i != nodeAnimationStates_.end(); ++i)
    {
        AnimationState* state = *i;
        Animation* animation = state->GetAnimation();
        ret.push_back(GetResourceRef(animation, Animation::GetTypeStatic()));
        ret.push_back(state->IsLooped());
        ret.push_back(state->GetTime());
    }
    return ret;
}
Exemple #4
0
VariantVector ParticleEmitter::GetParticlesAttr() const
{
    VariantVector ret;
    if (!serializeParticles_)
    {
        ret.push_back((int)particles_.size());
        return ret;
    }

    ret.reserve(particles_.size() * 8 + 1);
    ret.push_back((int)particles_.size());
    for (auto i = particles_.begin(); i != particles_.end(); ++i)
    {
        ret.push_back(i->velocity_);
        ret.push_back(i->size_);
        ret.push_back(i->timer_);
        ret.push_back(i->timeToLive_);
        ret.push_back(i->scale_);
        ret.push_back(i->rotationSpeed_);
        ret.push_back(i->colorIndex_);
        ret.push_back(i->texIndex_);
    }
    return ret;
}