//------------------------------------------------------------------------- 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); }
//------------------------------------------------------------------------- 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); }
//------------------------------------------------------------------------- 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); }