Пример #1
0
    //-------------------------------------------------------------------------
    void _particleFixedTarget(StillParticle still_particle, TbDataFish.ParticleDataStruct particle_data, uint et_player_rpcid)
    {
        CRenderTurret turret         = mScene.getTurret(et_player_rpcid);
        EbVector3     start_position = EbVector3.Zero;

        if (particle_data.StartPoint.ParticlePointType == TbDataFish.ParticlePointStruct.ParticlePointTypeEnum.Fish)
        {
            start_position = mCRenderFish.Position;
        }
        else if (particle_data.StartPoint.ParticlePointType == TbDataFish.ParticlePointStruct.ParticlePointTypeEnum.Fixed)
        {
            start_position = new EbVector3(particle_data.StartPoint.x, particle_data.StartPoint.y, 0);
        }

        still_particle.setRoute(RouteHelper.buildLineRoute(
                                    start_position, new EbVector3(particle_data.TargetPoint.x, particle_data.TargetPoint.y, 0)), 200);
    }
Пример #2
0
    //-------------------------------------------------------------------------
    void _particleNoneTarget(StillParticle still_particle, TbDataFish.ParticleDataStruct particle_data, uint et_player_rpcid)
    {
        if (particle_data.StartPoint.ParticlePointType == TbDataFish.ParticlePointStruct.ParticlePointTypeEnum.Fish)
        {
            if (particle_data.ParticleProduceTime == TbDataFish.ParticleProduceTimeEnum.FishMoving)
            {
                mListParticle.Add(still_particle);//跟随鱼运动
            }
            else
            {
                still_particle.setPosition(mCRenderFish.Position);
                still_particle.setLooping(false);
            }
        }
        else if (particle_data.StartPoint.ParticlePointType == TbDataFish.ParticlePointStruct.ParticlePointTypeEnum.Fixed)
        {
            still_particle.setPosition(new EbVector3(particle_data.StartPoint.x, particle_data.StartPoint.y, 0));
        }

        _setOffsetLocation(still_particle, particle_data.StartPoint.x, particle_data.StartPoint.y);
    }
Пример #3
0
    //-------------------------------------------------------------------------
    StillParticle _buildParticle(TbDataFish.ParticleDataStruct particle_data, uint et_player_rpcid)
    {
        StillParticle still_particle = mParticlemanager.newParticle(particle_data.TbDataParticle.ParticlePrefabName);

        if (particle_data.TargetPoint.ParticlePointType == TbDataFish.ParticlePointStruct.ParticlePointTypeEnum.None ||
            particle_data.TargetPoint.ParticlePointType == TbDataFish.ParticlePointStruct.ParticlePointTypeEnum.Default)
        {
            _particleNoneTarget(still_particle, particle_data, et_player_rpcid);
        }
        else if (particle_data.TargetPoint.ParticlePointType == TbDataFish.ParticlePointStruct.ParticlePointTypeEnum.Turret)
        {
            _particleTurretTarget(still_particle, particle_data, et_player_rpcid);
        }
        else if (particle_data.TargetPoint.ParticlePointType == TbDataFish.ParticlePointStruct.ParticlePointTypeEnum.Fixed)
        {
            _particleTurretTarget(still_particle, particle_data, et_player_rpcid);
        }

        still_particle.setLayer(mScene.getLayerAlloter().getFishLayer(mFishData.Id));

        return(still_particle);
    }