//------------------------------------------------------------------------- void _loadSeaStar(int map_id) { TbDataMap data = EbDataMgr.Instance.getData <TbDataMap>(map_id); foreach (var it in data.SeaStarParticle) { try { if (it.TbDataParticle == null || it.TbDataParticle.Id == 0) { continue; } StillParticle still_particle = mScene.getParticlemanager().newParticle(it.TbDataParticle.ParticlePrefabName); still_particle.setPosition(new EbVector3(it.PositionX, it.PositionY, 0)); still_particle.setLayer(mScene.getLayerAlloter().getLayer(_eLevelLayer.StarFish)); mSeaStar.Add(still_particle); #if UNITY_EDITOR still_particle.gameObject.name = "TkSpriteSeaStar_" + it.TbDataParticle.ParticlePrefabName; #endif } catch (Exception e) { Debug.LogWarning(e); } } }
//------------------------------------------------------------------------- void _newParticle(EbVector3 position, int fish_vib_id) { if (mParticleMax < 0) { return; } --mParticleMax; mStillParticle = mScene.getParticlemanager().newParticle(mEffectAOEData.ParticleName.ParticlePrefabName); mStillParticle.setPosition(position); mStillParticle.setLayer(mScene.getLayerAlloter().getFishLayer(fish_vib_id)); }
//------------------------------------------------------------------------- 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); }
//------------------------------------------------------------------------- public void display(int score, TbDataParticle particle_data) { if (score <= 0) { return; } mSpriteNumber.create(score, 100, mPosition, mAngle + mCurrentAngle); mStillParticle = mScene.getParticlemanager().newParticle(particle_data.ParticlePrefabName); mStillParticle.setPosition(mPosition); mStillParticle.setLooping(false); mStillParticle.setLayer(mScene.getLayerAlloter().getLayer(_eLevelLayer.TurretScoreBg)); mIsDisplay = true; initRotate(); }
//------------------------------------------------------------------------- void _hitFish(CRenderFish render_fish) { if (render_fish == null || render_fish.IsDie) { return; } uint et_player_rpcid = mBullet.getPlayerId(); if (mBullet.getScene().getMyPlayerId() == et_player_rpcid) { mBullet.getScene().getProtocol().c2sFishHit(et_player_rpcid, mBullet.getBulletObjId(), render_fish.FishObjId); } mBullet.signDestroy(); mIsSignDestroy = true; CRenderTurret turret = mBullet.getScene().getTurret(et_player_rpcid); if (turret == null) { return; } TbDataTurret vib_turret = turret.getVibTurret(); Dictionary <string, object> map_param = new Dictionary <string, object>(); map_param.Add("SourcePosition", getHitPosition(render_fish.Position, mBullet.getPosition())); map_param["NetColor"] = mBullet.getScene().getTurret(et_player_rpcid).getTurretColor(); map_param["PlayerId"] = et_player_rpcid; map_param["BulletHitFish"] = render_fish; TbDataBullet buttlt_data = mBullet.getBulletData(); mBullet.getScene().addEffect(buttlt_data.EffectCompose.Id, map_param, EffectTypeEnum.Client); if (!string.IsNullOrEmpty(mHitParticle.ParticlePrefabName)) { StillParticle particle = mScene.getParticlemanager().newParticle(mHitParticle.ParticlePrefabName); particle.setPosition(getHitPosition(render_fish.Position, mBullet.getPosition())); particle.setLayer(mScene.getLayerAlloter().getLayer(_eLevelLayer.FishHitParticle)); } }
//------------------------------------------------------------------------- public void update(float elapsed_tm) { mStillParticle.setPosition(mLockFish.Position); }