public LinkLockedFishFeature(CRenderScene scene, CRenderTurret turret) { mCRenderTurret = turret; mScene = scene; mLayer = mScene.getLayerAlloter().getLayer(_eLevelLayer.LinkLockedFish); mArrow = mScene.getRenderObjectPool().newStillSprite(); mArrow.setScale(0.5f); mArrow.playAnimation("locking_line_array"); mArrow.setColor(mCRenderTurret.getTurretColor()); mArrow.setLayer(mLayer); mNumber = mScene.getRenderObjectPool().newStillSprite(); mNumber.setScale(1f); mNumber.playAnimation("locking_line_target_" + mCRenderTurret.getTurretId()); mNumber.setColor(mCRenderTurret.getTurretColor()); mNumber.setLayer(mLayer); setActive(false); #if UNITY_EDITOR mArrow.gameObject.name = "TkSpriteLinkLocked_locking_line_array"; mNumber.gameObject.name = "TkSpriteLinkLocked_locking_line_target_" + mCRenderTurret.getTurretId(); #endif }
//------------------------------------------------------------------------- public void create(CRenderScene scene, CRenderTurret render_turret) { mScene = scene; mCRenderTurret = render_turret; int turret_id = render_turret.getTurretId(); CTurretHelper turret_helper = mScene.getTurretHelper(); float base_angle = turret_helper.getBaseAngleByTurretId(turret_id); mCSpriteCounter = new CSpriteCounter(mScene, turret_helper.getPositionByOffset(turret_id, mScene.getRenderConfigure().ChipsOffset), turret_helper.getBaseAngleByTurretId(turret_id)); mScoreTurnplate = new CSpriteScoreTurnplate(mScene, turret_helper.getPositionByOffset(turret_id, mScene.getRenderConfigure().TurretTurnplateOffset), base_angle); //mCSpriteScore = new CSpriteScore(mScene, turret_helper.getPositionByOffset(turret_id, mScene.getRenderConfigure().ChipsOffset), 0, turret_id); if (turret_id == 0 || turret_id == 1) { EbVector3 offset = mScene.getRenderConfigure().TurretPanelScoreOffset; offset.x += mScene.getRenderConfigure().UpTurretPanelScoreOffset; //mCSpriteScore.setDigitPosition(turret_helper.getPositionByOffset(turret_id, offset), 0); } else { //mCSpriteScore.setDigitPosition(turret_helper.getPositionByOffset(turret_id, mScene.getRenderConfigure().TurretPanelScoreOffset), base_angle); } //mCSpriteScore.setBgPosition(turret_helper.getPositionByOffset(turret_id, mScene.getRenderConfigure().TurretPanelScoreBgOffset), base_angle); }
//------------------------------------------------------------------------- public void create(CRenderScene scene, CRenderTurret render_turret) { mScene = scene; mRenderTurret = render_turret; mRenderTurret.getTurretId(); _initTurretBase(); _initTurretTop(); _initTurretBarrel(); _initTurretBlaze(); _setTrigger(true); mTkMaterial = GameObject.Instantiate(Resources.Load(mTkMaterialName)) as UnityEngine.Material; mGlowMaterial = GameObject.Instantiate(Resources.Load(mGlowMaterialName)) as UnityEngine.Material; #if UNITY_EDITOR mTurretBaseSprite.gameObject.name = "TkSpriteTurret"; mTurretTopSprite.gameObject.name = "TkSpriteTurret"; mTurretBlazeSprite.gameObject.name = "TkSpriteTurret"; mTurretBarrelSprite.gameObject.name = "TkSpriteTurret"; #endif if (mRenderTurret.isMyTurret()) { startGlow(5f); } }
//------------------------------------------------------------------------- // 手势触摸到炮台对应的物件 void _onFingerTouchTurret(int turret_id) { if (mMyTurret != null && mMyTurret.getTurretId() == turret_id) { //mMyTurret.requestSwitchTurretRate(); } }
//------------------------------------------------------------------------- void _initTurretUnit(ref StillSprite still_sprite, string animation_name, float scale, _eLevelLayer layer) { still_sprite = mScene.getRenderObjectPool().newStillSprite(); still_sprite.playAnimation(animation_name); still_sprite.setScale(scale); still_sprite.setLayer(mScene.getLayerAlloter().getLayer(layer)); still_sprite.setPosition(mRenderTurret.getTurretPos()); still_sprite.setDirection(mScene.getTurretHelper().getBaseAngleByTurretId(mRenderTurret.getTurretId())); still_sprite.setTag("CSpriteTurret" + mRenderTurret.getTurretId()); }
//------------------------------------------------------------------------- public CRenderBuffer(CRenderScene scene, CRenderTurret turret, string name, List<object> param, string animation_name) { mScene = scene; mTurret = turret; mName = name; mParam = param; mAnimationName = animation_name; _initCSprite(mName, "CSpriteBuffer" + mTurret.getTurretId().ToString()); }
//------------------------------------------------------------------------- public CRenderBuffer(CRenderScene scene, CRenderTurret turret, string name, List <object> param, string animation_name) { mScene = scene; mTurret = turret; mName = name; mParam = param; mAnimationName = animation_name; _initCSprite(mName, "CSpriteBuffer" + mTurret.getTurretId().ToString()); }
//------------------------------------------------------------------------- public void create(uint et_player_rpcid, int bullet_objid, int bullet_vibid, float bullet_speed, int locked_fish_obj_id, EbVector3 turret_pos, float turret_angle, TbDataParticle hit_particle) { // vib mPlayerId = et_player_rpcid; mVibBullet = EbDataMgr.Instance.getData <TbDataBullet>(bullet_vibid); mPos = turret_pos; mfAngle = turret_angle; mBulletObjId = bullet_objid; mLockedFishObjid = locked_fish_obj_id; //mfBulletSpeed = mVibBullet.Speed; mfBulletSpeed = bullet_speed; // sprite bullet CRenderTurret turret = mScene.getTurret(mPlayerId); int turret_id = turret.getTurretId(); string bullet_anim = mVibBullet.Bullet0Animation; if (turret.isPower()) { bullet_anim = mVibBullet.ColorBulletAnimation; } else { switch (turret_id) { case 1: bullet_anim = mVibBullet.Bullet1Animation; break; case 2: bullet_anim = mVibBullet.Bullet2Animation; break; case 3: bullet_anim = mVibBullet.Bullet3Animation; break; case 4: bullet_anim = mVibBullet.Bullet4Animation; break; case 5: bullet_anim = mVibBullet.Bullet5Animation; break; case 6: bullet_anim = mVibBullet.Bullet6Animation; break; } } mBulletAnim = bullet_anim; mSpriteBullet = new CSpriteBullet(); mSpriteBullet.create(mScene, this, mBulletAnim, hit_particle); mSpriteBullet.setTrigger(true, 200); mSpriteBullet.setPosition(mPos); mSpriteBullet.setDirection(mfAngle); mSpriteBullet.setLayer(mScene.getLayerAlloter().getLayer(_eLevelLayer.Bullet)); mSpriteBullet.setScale((float)mVibBullet.BulletHeight / (float)mVibBullet.BulletPixelHeight); mScene.getLevel().addBullet(this); }