示例#1
0
 //-------------------------------------------------------------------------
 public virtual void setPosition(EbVector3 position, float angle)
 {
     if (mSprite != null)
     {
         mSprite.setPosition(position);
         mSprite.setLayer(mScene.getLayerAlloter().getLayer(_eLevelLayer.Buffer));
         mSprite.setDirection(angle);
     }
 }
示例#2
0
        public void create(CRenderScene scene, ISpriteFish sprite_fish, TbDataFish vib_fish_data)
        {
            mScene      = scene;
            mFixedScale = (float)vib_fish_data.CycleHeight / (float)vib_fish_data.CyclePixelHeight;

            initFish("red_fish_bottom_bottom", EbVector3.Zero, 130, mScene.getLayerAlloter().EachFishGap / 10f * 3, sprite_fish);
            //initFish("red_fish_bottom_middle", EbVector3.Zero, -130, mScene.getLayerAlloter().EachFishGap / 10f * 2, sprite_fish);
            initFish("red_fish_bottom_sign2", EbVector3.Zero, 0, mScene.getLayerAlloter().EachFishGap / 10f, sprite_fish);

            setScale(mFixedScale);
        }
示例#3
0
        public void create(CRenderScene scene, ISpriteFish sprite_fish, TbDataFish vib_fish_data)
        {
            mScene = scene;
            mFixedScale = (float)vib_fish_data.CycleHeight / (float)vib_fish_data.CyclePixelHeight;

            initFish("red_fish_bottom_bottom", EbVector3.Zero, 130, mScene.getLayerAlloter().EachFishGap / 10f * 3, sprite_fish);
            //initFish("red_fish_bottom_middle", EbVector3.Zero, -130, mScene.getLayerAlloter().EachFishGap / 10f * 2, sprite_fish);
            initFish("red_fish_bottom_sign2", EbVector3.Zero, 0, mScene.getLayerAlloter().EachFishGap / 10f, sprite_fish);

            setScale(mFixedScale);
        }
示例#4
0
 //-------------------------------------------------------------------------
 void _initRippleBackground()
 {
     mRippleBackgroundStillSprite = _loadRippleStillSprite();
     mRippleBackgroundStillSprite.setPosition(new EbVector3(-mScene.getSceneLength() / 2, -mScene.getSceneWidth() / 2, 0));
     mRippleBackgroundStillSprite.setLayer(mScene.getLayerAlloter().getLayer(_eLevelLayer.Wave));
     mRippleBackgroundStillSprite.setActive(false);
 }
示例#5
0
        //-------------------------------------------------------------------------
        public void create(CRenderScene scene, TbDataFish vib_fish_data)
        {
            mScene = scene;
            mVibFishData = vib_fish_data;
            mFishCycleGap = mScene.getLayerAlloter().EachFishGap / 10f;

            if (mVibFishData.Type == TbDataFish.FishType.Custom)
            {
                mCycle = mScene.getRenderObjectPool().newFishStillSprite();
                mCycle.init(this, scene);
                mCycle.playAnimation(mVibFishData.FishCompose.BackGroundAniName);
                mCycle.setScale((float)mVibFishData.FishCompose.BackGroundAnimationScale / 100.0f);
                foreach (var it in mVibFishData.FishCompose.FishComposes)
                {
                    if (null != it && it.Id > 0)
                    {
                        TbDataFish fish_data = EbDataMgr.Instance.getData<TbDataFish>(it.FishVibId);
                        FishStillSprite fish_sprite = mScene.getRenderObjectPool().newFishStillSprite();

                        fish_sprite.init(this, scene);
                        fish_sprite.playAnimation(fish_data.FishAnimMove);
                        fish_sprite.setScale(mFixFishScale * (float)fish_data.FishHeight / (float)fish_data.FishPixelHeight);

                        mFishs.Add(new FishSpriteAndOffset(
                            fish_sprite,
                            new EbVector3(it.OffsetX, it.OffsetY, 0),
                            fish_data.FishAnimDie));
                    }
                }
            }
        }
示例#6
0
        //-------------------------------------------------------------------------
        //根据vib数据创建鱼的代码全部放在这里,ISpriteFish的实现类不在需要知道TbDataFish的任何事情?//
        public ISpriteFish buildSpriteFish(CRenderFish render_fish, int fish_vib_id)
        {
            TbDataFish  fish_data   = EbDataMgr.Instance.getData <TbDataFish>(fish_vib_id);
            ISpriteFish sprite_fish = null;

            if (fish_data.Type == TbDataFish.FishType.Custom)
            {
                sprite_fish = new CSpriteCustomGroup();
            }
            else if (fish_data.Type == TbDataFish.FishType.EvenFour)
            {
                sprite_fish = new CSpriteEvenFourFish();
            }
            else if (fish_data.Type == TbDataFish.FishType.EvenFive)
            {
                sprite_fish = new CSpriteEvenFiveFish();
            }
            else
            {
                sprite_fish = new CSpriteFishGroup((int)fish_data.Type);
            }

            sprite_fish.create(mScene, fish_data);
            sprite_fish.setRenderFish(render_fish);
            sprite_fish.setTag("CSpriteFish");
            sprite_fish.setTrigger(true);
            sprite_fish.setLayer(mScene.getLayerAlloter().getFishLayer(fish_vib_id));

#if UNITY_EDITOR
            //ViDebuger.Warning("TkFish_vib_id_ " + fish_vib_id);
            sprite_fish.setGameobjectName("TkFish_vib_id_" + fish_vib_id);
#endif

            return(sprite_fish);
        }
示例#7
0
        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
        }
示例#8
0
        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
        }
示例#9
0
        //-------------------------------------------------------------------------
        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);
                }
            }
        }
示例#10
0
        //-------------------------------------------------------------------------
        public void create(CRenderScene scene, TbDataFish vib_fish_data)
        {
            mScene        = scene;
            mVibFishData  = vib_fish_data;
            mFishCycleGap = mScene.getLayerAlloter().EachFishGap / 10f;

            if (mVibFishData.Type == TbDataFish.FishType.Custom)
            {
                mCycle = mScene.getRenderObjectPool().newFishStillSprite();
                mCycle.init(this, scene);
                mCycle.playAnimation(mVibFishData.FishCompose.BackGroundAniName);
                mCycle.setScale((float)mVibFishData.FishCompose.BackGroundAnimationScale / 100.0f);
                foreach (var it in mVibFishData.FishCompose.FishComposes)
                {
                    if (null != it && it.Id > 0)
                    {
                        TbDataFish      fish_data   = EbDataMgr.Instance.getData <TbDataFish>(it.FishVibId);
                        FishStillSprite fish_sprite = mScene.getRenderObjectPool().newFishStillSprite();

                        fish_sprite.init(this, scene);
                        fish_sprite.playAnimation(fish_data.FishAnimMove);
                        fish_sprite.setScale(mFixFishScale * (float)fish_data.FishHeight / (float)fish_data.FishPixelHeight);

                        mFishs.Add(new FishSpriteAndOffset(
                                       fish_sprite,
                                       new EbVector3(it.OffsetX, it.OffsetY, 0),
                                       fish_data.FishAnimDie));
                    }
                }
            }
        }
示例#11
0
 //-------------------------------------------------------------------------
 public CSpriteScoreTurnplate(CRenderScene scene, EbVector3 position, float up_angle)
 {
     mScene = scene;
     mPosition = position;
     mAngle = up_angle;
     mSpriteNumber = new CSpriteNumber(mScene, new CScoreDigitFactory(mScene));
     mSpriteNumber.setLayer(mScene.getLayerAlloter().getLayer(_eLevelLayer.TurretScore));
 }
示例#12
0
 //-------------------------------------------------------------------------
 public CSpriteScoreTurnplate(CRenderScene scene, EbVector3 position, float up_angle)
 {
     mScene        = scene;
     mPosition     = position;
     mAngle        = up_angle;
     mSpriteNumber = new CSpriteNumber(mScene, new CScoreDigitFactory(mScene));
     mSpriteNumber.setLayer(mScene.getLayerAlloter().getLayer(_eLevelLayer.TurretScore));
 }
示例#13
0
        //-------------------------------------------------------------------------
        public void fishDestroy(uint et_player_rpcid, int fish_vib_id, int total_score)
        {
            List <StillParticle> particle_list = _loopBuildParticle(TbDataFish.ParticleProduceTimeEnum.FishDestroy, et_player_rpcid);

            foreach (var it in particle_list)
            {
                it.setLayer(mScene.getLayerAlloter().getLayer(_eLevelLayer.Particle));
            }

            TbDataFish fish_data = EbDataMgr.Instance.getData <TbDataFish>(fish_vib_id);

            if (fish_data.FishDisplayScoreType == TbDataFish._eDisplayScoreType.Turnplate ||
                fish_data.FishDisplayScoreType == TbDataFish._eDisplayScoreType.ChipsAndTurnplate)
            {
                mScene.addParticleTurnplateCaller(new ParticleTurnplateCaller(mScene, et_player_rpcid, fish_vib_id, total_score, particle_list));
            }
        }
示例#14
0
 //-------------------------------------------------------------------------
 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());
 }
示例#15
0
        //-------------------------------------------------------------------------
        public CSpriteBgNumber(CRenderScene scene, BgColorEnum color, int number)
        {
            mScene = scene;
            float number_layer = mScene.getLayerAlloter().getLayer(_eLevelLayer.TurretScore);

            mCSpriteNumber = new CSpriteNumber(mScene, new CPanelDigitFactory(mScene));
            mCSpriteNumber.create(number, EbVector3.Zero, 0, CSpriteNumber._eNumberSize.Small2);
            mCSpriteNumber.setLayer(number_layer);

            mNumberBackgroundCSprite = mScene.getRenderObjectPool().newStillSprite();

            mNumberBackgroundCSprite.setLayer(number_layer + mScene.getLayerAlloter().EachFishGap / 100f);
            mNumberBackgroundCSprite.setScale(0.65f * number.ToString().Length, 0.8f);

            mNumberBackgroundCSprite.playAnimation(getAnimationNameByColor(color));

#if UNITY_EDITOR
            mNumberBackgroundCSprite.gameObject.name = "TkSpriteChips_" + getAnimationNameByColor(color);
#endif
        }
示例#16
0
        //-------------------------------------------------------------------------
        CSpriteFishDieScore(CRenderScene render_scene, EbVector3 pos, int score, float delay_time)
        {
            mCSpriteNumber = new CSpriteNumber(render_scene, new CScoreDigitFactory(render_scene));
            mCSpriteNumber.create(score, pos, 0, getByScore(score));
            mCSpriteNumber.setLayer(render_scene.getLayerAlloter().getLayer(_eLevelLayer.FishScore));
            mFunDelayTime      = delay_time;
            mIsNeedAutoDestroy = true;

            _initRoute(pos, 0);
            mNumber = score;
        }
示例#17
0
        //-------------------------------------------------------------------------
        public CSpriteBgNumber(CRenderScene scene, BgColorEnum color, int number)
        {
            mScene = scene;
            float number_layer = mScene.getLayerAlloter().getLayer(_eLevelLayer.TurretScore);

            mCSpriteNumber = new CSpriteNumber(mScene, new CPanelDigitFactory(mScene));
            mCSpriteNumber.create(number, EbVector3.Zero, 0, CSpriteNumber._eNumberSize.Small2);
            mCSpriteNumber.setLayer(number_layer);

            mNumberBackgroundCSprite = mScene.getRenderObjectPool().newStillSprite();

            mNumberBackgroundCSprite.setLayer(number_layer + mScene.getLayerAlloter().EachFishGap / 100f);
            mNumberBackgroundCSprite.setScale(0.65f * number.ToString().Length, 0.8f);

            mNumberBackgroundCSprite.playAnimation(getAnimationNameByColor(color));

            #if UNITY_EDITOR
            mNumberBackgroundCSprite.gameObject.name = "TkSpriteChips_" + getAnimationNameByColor(color);
            #endif
        }
示例#18
0
        //-------------------------------------------------------------------------
        CSpriteFishDieScore(CRenderScene render_scene, EbVector3 pos, int score, float delay_time)
        {
            mCSpriteNumber = new CSpriteNumber(render_scene, new CScoreDigitFactory(render_scene));
            mCSpriteNumber.create(score, pos, 0, getByScore(score));
            mCSpriteNumber.setLayer(render_scene.getLayerAlloter().getLayer(_eLevelLayer.FishScore));
            mFunDelayTime = delay_time;
            mIsNeedAutoDestroy = true;

            _initRoute(pos, 0);
            mNumber = score;
        }
示例#19
0
        //-------------------------------------------------------------------------
        void _newShockBackground(string background_name)
        {
            mShockBackgroundStillSprite = mBackgroundLoader.newBackgroundStillSprite(background_name, mScene);
            mShockBackgroundStillSprite.setPosition(EbVector3.Zero);
            mShockBackgroundStillSprite.setLayer(mScene.getLayerAlloter().getLayer(_eLevelLayer.ShockBackground));
            mShockBackgroundStillSprite.setActive(false);

#if UNITY_EDITOR
            mShockBackgroundStillSprite.gameObject.name = "TkBackground";
#endif
        }
示例#20
0
            //-------------------------------------------------------------------------
            public void load(string prefab_name, _eLevelLayer layer)
            {
                mBgSprite = mBackgroundLoader.newBackgroundStillSprite(prefab_name, mScene);
                mBgSprite.setPosition(EbVector3.Zero);
                mBgSprite.setDirection(0);
                mBgSprite.setLayer(mScene.getLayerAlloter().getLayer(layer));
                mBgClippedSprite = mBgSprite.gameObject.GetComponent <tk2dClippedSprite>();

#if UNITY_EDITOR
                mBgSprite.gameObject.name = "TkBackground";
#endif
            }
示例#21
0
        //-------------------------------------------------------------------------
        public CSpriteHeap(CRenderScene scene, int number_of_chip, int score, EbVector3 position, float up_angle, CSpriteBgNumber.BgColorEnum color)
        {
            mScene = scene;

            mHeapScruct.NumberOfChip = number_of_chip;
            mHeapScruct.Position = position;
            mHeapScruct.UpAngle = up_angle;
            mHeapScruct.Alpha = 1f;
            mCSpriteBgNumber = new CSpriteBgNumber(mScene, color, score);

            mHeapLayer = mScene.getLayerAlloter().getLayer(_eLevelLayer.TurretChips);

            mHeapState = _eHeapState.Adding;
        }
示例#22
0
        //-------------------------------------------------------------------------
        public CSpriteHeap(CRenderScene scene, int number_of_chip, int score, EbVector3 position, float up_angle, CSpriteBgNumber.BgColorEnum color)
        {
            mScene = scene;

            mHeapScruct.NumberOfChip = number_of_chip;
            mHeapScruct.Position     = position;
            mHeapScruct.UpAngle      = up_angle;
            mHeapScruct.Alpha        = 1f;
            mCSpriteBgNumber         = new CSpriteBgNumber(mScene, color, score);

            mHeapLayer = mScene.getLayerAlloter().getLayer(_eLevelLayer.TurretChips);

            mHeapState = _eHeapState.Adding;
        }
示例#23
0
        //-------------------------------------------------------------------------
        public CSpriteScore(CRenderScene scene, EbVector3 position, float angle, int turret_no)
        {
            mScene = scene;

            mSpriteNumber = new CSpriteNumber(mScene, new CPanelDigitFactory(mScene));
            mSpriteNumber.create(0, position, angle, CSpriteNumber._eNumberSize.Small1, CSpriteNumber._eNumberAlign.Right);
            mSpriteNumber.setLayer(mScene.getLayerAlloter().getLayer(_eLevelLayer.TurretScore));
            mBackground = mScene.getRenderObjectPool().newStillSprite();
            mBackground.playAnimation("score_panel_" + turret_no);
            mBackground.setScale(1, 1f);

            setScore(0);

            #if UNITY_EDITOR
            mBackground.gameObject.name = "TkSpriteSpriteScore_score_panel_" + turret_no;
            #endif
        }
示例#24
0
        //-------------------------------------------------------------------------
        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();
        }
示例#25
0
        //-------------------------------------------------------------------------
        public CSpriteScore(CRenderScene scene, EbVector3 position, float angle, int turret_no)
        {
            mScene = scene;

            mSpriteNumber = new CSpriteNumber(mScene, new CPanelDigitFactory(mScene));
            mSpriteNumber.create(0, position, angle, CSpriteNumber._eNumberSize.Small1, CSpriteNumber._eNumberAlign.Right);
            mSpriteNumber.setLayer(mScene.getLayerAlloter().getLayer(_eLevelLayer.TurretScore));
            mBackground = mScene.getRenderObjectPool().newStillSprite();
            mBackground.playAnimation("score_panel_" + turret_no);
            mBackground.setScale(1, 1f);

            setScore(0);

#if UNITY_EDITOR
            mBackground.gameObject.name = "TkSpriteSpriteScore_score_panel_" + turret_no;
#endif
        }
示例#26
0
        //-------------------------------------------------------------------------
        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));
            }
        }
示例#27
0
        //---------------------------------------------------------------------
        public void create(CRenderScene scene, TbDataFish vib_fish_data)
        {
            mScene = scene;
            mVibFishData = vib_fish_data;
            mFishCycleGap = mScene.getLayerAlloter().EachFishGap / 10f;

            bool has_cycle = !string.IsNullOrEmpty(mVibFishData.CycleAnimationName);

            for (int i = 0; i < mFishNumber; i++)
            {
                mFishs.Add(mScene.getRenderObjectPool().newFishStillSprite());
                if (has_cycle)
                {
                    mRedBottom = new CSpriteRedBottom();
                    mRedBottom.create(mScene, this, mVibFishData);
                }
            }

            foreach (var it in mFishs)
            {
                it.init(this, scene);
            }

            float fish_scale = ((float)mVibFishData.FishHeight / (float)mVibFishData.FishPixelHeight);

            foreach (var it in mFishs)
            {
                it.setScale(0.7f * fish_scale);
            }

            playAnimation(mVibFishData.FishAnimMove);

            if (mVibFishData.Red == TbDataFish.IsRed.YES)
            {
                mInitColor = new Color(1, 0, 0);
                resetColor(1);
            }
        }
示例#28
0
        //---------------------------------------------------------------------
        public void create(CRenderScene scene, TbDataFish vib_fish_data)
        {
            mScene        = scene;
            mVibFishData  = vib_fish_data;
            mFishCycleGap = mScene.getLayerAlloter().EachFishGap / 10f;

            bool has_cycle = !string.IsNullOrEmpty(mVibFishData.CycleAnimationName);

            for (int i = 0; i < mFishNumber; i++)
            {
                mFishs.Add(mScene.getRenderObjectPool().newFishStillSprite());
                if (has_cycle)
                {
                    mRedBottom = new CSpriteRedBottom();
                    mRedBottom.create(mScene, this, mVibFishData);
                }
            }

            foreach (var it in mFishs)
            {
                it.init(this, scene);
            }

            float fish_scale = ((float)mVibFishData.FishHeight / (float)mVibFishData.FishPixelHeight);

            foreach (var it in mFishs)
            {
                it.setScale(0.7f * fish_scale);
            }

            playAnimation(mVibFishData.FishAnimMove);

            if (mVibFishData.Red == TbDataFish.IsRed.YES)
            {
                mInitColor = new Color(1, 0, 0);
                resetColor(1);
            }
        }
示例#29
0
 //-------------------------------------------------------------------------
 public virtual void create(CRenderScene scene, TbDataFish vib_fish_data)
 {
     mScene = scene;
     mVibFishData = vib_fish_data;
     mFishCycleGap = mScene.getLayerAlloter().EachFishGap / 10f;
 }
示例#30
0
 //-------------------------------------------------------------------------
 public void setBgPosition(EbVector3 position, float up_angle)
 {
     mBackground.setPosition(position);
     mBackground.setLayer(mScene.getLayerAlloter().getLayer(_eLevelLayer.TurretScoreBg));
     mBackground.setDirection(up_angle);
 }
示例#31
0
        //-------------------------------------------------------------------------
        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);
        }
示例#32
0
 //-------------------------------------------------------------------------
 public virtual void create(CRenderScene scene, TbDataFish vib_fish_data)
 {
     mScene        = scene;
     mVibFishData  = vib_fish_data;
     mFishCycleGap = mScene.getLayerAlloter().EachFishGap / 10f;
 }