Пример #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);
        }