Exemple #1
0
        //-------------------------------------------------------------------------
        public FishParticleMgr(CRenderScene render_scene, CRenderFish fish, int fish_vib_id, ISpriteFish sprite_fish)
        {
            mScene           = render_scene;
            mCRenderFish     = fish;
            mParticlemanager = mScene.getParticlemanager();
            mISpriteFish     = sprite_fish;

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

            //解析鱼带的特效数据并保存下来,等待鱼指定播放特效
            foreach (var it in mFishData.ParticleArray)
            {
                if (null == it.TbDataParticle || it.TbDataParticle.Id <= 0)
                {
                    continue;
                }

                TbDataFish.ParticleProduceTimeEnum time_enum = (TbDataFish.ParticleProduceTimeEnum)it.ParticleProduceTime;
                if (!mDicParticleData.ContainsKey(time_enum))
                {
                    mDicParticleData[time_enum] = new List <TbDataFish.ParticleDataStruct>();
                }
                mDicParticleData[time_enum].Add(it);
            }
        }
Exemple #2
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);
        }
Exemple #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);
        }
    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);
    }
Exemple #5
0
        //-------------------------------------------------------------------------
        public void create(int fish_vib_id, int fish_objid)
        {
            mVibFish   = EbDataMgr.Instance.getData <TbDataFish>(fish_vib_id);
            mFishObjId = fish_objid;

            mISpriteFish = mScene.getSpriteFishFactory().buildSpriteFish(this, fish_vib_id);

            mMassEntity = new MassEntity();
            mMassEntity.setSpeed(mVibFish.getSpeed());

            mISpriteFish.setDirection(0);

            mFishParticleMgr = new FishParticleMgr(mScene, this, fish_vib_id, mISpriteFish);
            mFishParticleMgr.fishBorn();
            mFishParticleMgr.fishMoving();
        }
Exemple #6
0
        //-------------------------------------------------------------------------
        public override void destroy()
        {
            base.destroy();

            mLockFishObjId = -1;

            if (mSpriteFish != null)
            {
                mSpriteFish.destroy();
                mSpriteFish = null;
            }

            if (_isMe())
            {
                mScene.getProtocol().c2sUnlockFish(mScene.getMyPlayerId());
            }
        }
Exemple #7
0
        //-------------------------------------------------------------------------
        public void destroy()
        {
            if (mISpriteFish == null)
            {
                return;
            }
            // 播放鱼销毁后的粒子特效
            if (!mNotNeedDestroyParticle && IsDestroy)
            {
                mFishParticleMgr.fishDestroy(mPlayerId, mVibFish.Id, mTotalScore);
                mFishParticleMgr.fishCoins(mPlayerId);
            }
            mFishParticleMgr.destroy();

            mISpriteFish.destroy();
            mISpriteFish = null;
        }
Exemple #8
0
        //-------------------------------------------------------------------------
        public override void destroy()
        {
            base.destroy();

            mLockFishObjId = -1;

            if (mSpriteFish != null)
            {
                mSpriteFish.destroy();
                mSpriteFish = null;
            }

            if (_isMe())
            {
                mScene.getProtocol().c2sUnlockFish(mScene.getMyPlayerId());
            }
        }
Exemple #9
0
        //-------------------------------------------------------------------------
        public FishParticleMgr(CRenderScene render_scene, CRenderFish fish, int fish_vib_id, ISpriteFish sprite_fish)
        {
            mScene = render_scene;
            mCRenderFish = fish;
            mParticlemanager = mScene.getParticlemanager();
            mISpriteFish = sprite_fish;

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

            //解析鱼带的特效数据并保存下来,等待鱼指定播放特效
            foreach (var it in mFishData.ParticleArray)
            {
                if (null == it.TbDataParticle || it.TbDataParticle.Id <= 0) continue;

                TbDataFish.ParticleProduceTimeEnum time_enum = (TbDataFish.ParticleProduceTimeEnum)it.ParticleProduceTime;
                if (!mDicParticleData.ContainsKey(time_enum))
                {
                    mDicParticleData[time_enum] = new List<TbDataFish.ParticleDataStruct>();
                }
                mDicParticleData[time_enum].Add(it);
            }
        }
Exemple #10
0
        //-------------------------------------------------------------------------
        public void resetLockedFishObjId(int lock_fish_objid)
        {
            if (mSpriteFish != null)
            {
                mSpriteFish.destroy();
                mSpriteFish = null;
            }

            mLockFishObjId = lock_fish_objid;

            CRenderFish fish = mScene.getLevel().findFish(mLockFishObjId);

            if (fish != null && !fish.IsDie)
            {
                int    fish_vib_id = fish.FishVibId;
                string tag         = "CSpriteBuffer" + mTurret.getTurretId().ToString();
                mSpriteFish = mScene.getSpriteFishFactory().buildSpriteFish(null, fish_vib_id);
                mSpriteFish.setTag(tag);
                mSpriteFish.setLayer(mScene.getLayerAlloter().getLayer(_eLevelLayer.BufferLockFish));
                if (EbDataMgr.Instance.getData <TbDataFish>(fish_vib_id).Red == TbDataFish.IsRed.YES)
                {
                    mSpriteFish.setColor(new Color(1, 0, 0));
                }
                else
                {
                    mSpriteFish.setColor(new Color(1, 1, 1));
                }

                mSpriteFish.setScale(EbDataMgr.Instance.getData <TbDataFish>(fish_vib_id).getLockCardFishScale());
                mSpriteFish.setTrigger(true);

                mTurret.displayLinkFish(fish);
            }

            if (_isMe())
            {
                mScene.getProtocol().c2sLockFish(mScene.getMyPlayerId(), lock_fish_objid);
            }
        }
Exemple #11
0
 //-------------------------------------------------------------------------
 public void setISpriteFishNull()
 {
     mISpriteFish = null;
 }
Exemple #12
0
 //-------------------------------------------------------------------------
 public void init(ISpriteFish sprite_fish, CRenderScene scene)
 {
     base.init(scene);
     mISpriteFish = sprite_fish;
 }
Exemple #13
0
        //-------------------------------------------------------------------------
        public void destroy()
        {
            if (mISpriteFish == null) return;
            // 播放鱼销毁后的粒子特效
            if (!mNotNeedDestroyParticle && IsDestroy)
            {
                mFishParticleMgr.fishDestroy(mPlayerId, mVibFish.Id, mTotalScore);
                mFishParticleMgr.fishCoins(mPlayerId);
            }
            mFishParticleMgr.destroy();

            mISpriteFish.destroy();
            mISpriteFish = null;
        }
Exemple #14
0
 //-------------------------------------------------------------------------
 public void init(ISpriteFish sprite_fish, CRenderScene scene)
 {
     base.init(scene);
     mISpriteFish = sprite_fish;
 }
Exemple #15
0
 //-------------------------------------------------------------------------
 public void setISpriteFishNull()
 {
     mISpriteFish = null;
 }
Exemple #16
0
        //-------------------------------------------------------------------------
        public void resetLockedFishObjId(int lock_fish_objid)
        {
            if (mSpriteFish != null)
            {
                mSpriteFish.destroy();
                mSpriteFish = null;
            }

            mLockFishObjId = lock_fish_objid;

            CRenderFish fish = mScene.getLevel().findFish(mLockFishObjId);
            if (fish != null && !fish.IsDie)
            {
                int fish_vib_id = fish.FishVibId;
                string tag = "CSpriteBuffer" + mTurret.getTurretId().ToString();
                mSpriteFish = mScene.getSpriteFishFactory().buildSpriteFish(null, fish_vib_id);
                mSpriteFish.setTag(tag);
                mSpriteFish.setLayer(mScene.getLayerAlloter().getLayer(_eLevelLayer.BufferLockFish));
                if (EbDataMgr.Instance.getData<TbDataFish>(fish_vib_id).Red == TbDataFish.IsRed.YES)
                {
                    mSpriteFish.setColor(new Color(1, 0, 0));
                }
                else
                {
                    mSpriteFish.setColor(new Color(1, 1, 1));
                }

                mSpriteFish.setScale(EbDataMgr.Instance.getData<TbDataFish>(fish_vib_id).getLockCardFishScale());
                mSpriteFish.setTrigger(true);

                mTurret.displayLinkFish(fish);
            }

            if (_isMe())
            {
                mScene.getProtocol().c2sLockFish(mScene.getMyPlayerId(), lock_fish_objid);
            }
        }
Exemple #17
0
 void initFish(string animation, EbVector3 offset, float angle_speed, float layer_offset, ISpriteFish sprite_fish)
 {
     SpriteAndOffset sprite_offset =
         new SpriteAndOffset(mScene.getRenderObjectPool().newFishStillSprite(),
                 EbVector3.Zero, angle_speed, layer_offset);
     sprite_offset.mFishStillSprite.init(sprite_fish, mScene);
     sprite_offset.mFishStillSprite.playAnimation(animation);
     mSprite.Add(sprite_offset);
 }
    void initFish(string animation, EbVector3 offset, float angle_speed, float layer_offset, ISpriteFish sprite_fish)
    {
        SpriteAndOffset sprite_offset =
            new SpriteAndOffset(mScene.getRenderObjectPool().newFishStillSprite(),
                                EbVector3.Zero, angle_speed, layer_offset);

        sprite_offset.mFishStillSprite.init(sprite_fish, mScene);
        sprite_offset.mFishStillSprite.playAnimation(animation);
        mSprite.Add(sprite_offset);
    }
Exemple #19
0
        //-------------------------------------------------------------------------
        public void create(int fish_vib_id, int fish_objid)
        {
            mVibFish = EbDataMgr.Instance.getData<TbDataFish>(fish_vib_id);
            mFishObjId = fish_objid;

            mISpriteFish = mScene.getSpriteFishFactory().buildSpriteFish(this, fish_vib_id);

            mMassEntity = new MassEntity();
            mMassEntity.setSpeed(mVibFish.getSpeed());

            mISpriteFish.setDirection(0);

            mFishParticleMgr = new FishParticleMgr(mScene, this, fish_vib_id, mISpriteFish);
            mFishParticleMgr.fishBorn();
            mFishParticleMgr.fishMoving();
        }