示例#1
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
        }
示例#2
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
        }
示例#3
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));
                    }
                }
            }
        }
示例#4
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));
                    }
                }
            }
        }
示例#5
0
 //-------------------------------------------------------------------------
 public virtual void destroy()
 {
     if (mSprite != null)
     {
         mScene.getRenderObjectPool().freeStillSprite(mSprite);
         mSprite = null;
     }
 }
示例#6
0
 //-------------------------------------------------------------------------
 public void destroy()
 {
     foreach (var it in mStillSpriteList)
     {
         mScene.getRenderObjectPool().freeStillSprite(it.mStillSprite);
         it.mStillSprite = null;
     }
     mStillSpriteList.Clear();
 }
示例#7
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);
        }
示例#8
0
        void newRectangleSprite()
        {
            StillSprite sprite = mScene.getRenderObjectPool().newStillSprite();

            sprite.playAnimation("locking_line_rectangle");
            sprite.setColor(mCRenderTurret.getTurretColor());
            sprite.setScale(0.5f);
            sprite.setLayer(mLayer);
            mRectangle.Add(sprite);

#if UNITY_EDITOR
            sprite.gameObject.name = "TkSpriteLinkLocked_locking_line_rectangle";
#endif
        }
示例#9
0
        //-------------------------------------------------------------------------
        public void destroy()
        {
            endGlow();

            mScene.getRenderObjectPool().freeStillSprite(mTurretBaseSprite);
            mScene.getRenderObjectPool().freeStillSprite(mTurretTopSprite);
            mScene.getRenderObjectPool().freeStillSprite(mTurretBlazeSprite);
            mScene.getRenderObjectPool().freeStillSprite(mTurretBarrelSprite);

            mTurretBaseSprite   = null;
            mTurretTopSprite    = null;
            mTurretBlazeSprite  = null;
            mTurretBarrelSprite = null;
        }
示例#10
0
        void _newChip()
        {
            StillSprite still_sprite = mScene.getRenderObjectPool().newStillSprite();

            still_sprite.playAnimation("chip");
            still_sprite.setScale(mScene.getRenderConfigure().ChipSacle);
            still_sprite.setLayer(mHeapLayer);
            mStackChips.Add(still_sprite);


#if UNITY_EDITOR
            still_sprite.gameObject.name = "TkSpriteChips_chip";
#endif

            _updateChipsView(mHeapScruct.Position, mHeapScruct.UpAngle);
        }
示例#11
0
        //-------------------------------------------------------------------------
        public void destroy()
        {
            if (mDestroy)
            {
                return;
            }
            mDestroy = true;
            foreach (var it in mFishs)
            {
                mScene.getRenderObjectPool().freeFishStillSprite(it.mFishStillSprite);
                it.mFishStillSprite = null;
            }
            mFishs.Clear();

            mScene.getRenderObjectPool().freeFishStillSprite(mCycle);
        }
示例#12
0
        //-------------------------------------------------------------------------
        public LevelBackgroundMgr(CRenderScene scene, CSpriteBackgroundLoader loader)
        {
            mScene = scene;
            mBackgroundLoader = loader;

            mSpeed = 960f / mMaxTime;

            mWaveStillSprite = mScene.getRenderObjectPool().newStillSprite();
            mWaveStillSprite.playAnimation("WaterWave");
            mWaveStillSprite.setActive(false);
            mWaveStillSprite.setScale(700f / 550f);

            #if UNITY_EDITOR
            mWaveStillSprite.gameObject.name = "TkSpriteWaterWave";
            #endif
        }
示例#13
0
        //-------------------------------------------------------------------------
        public LevelBackgroundMgr(CRenderScene scene, CSpriteBackgroundLoader loader)
        {
            mScene            = scene;
            mBackgroundLoader = loader;

            mSpeed = 960f / mMaxTime;

            mWaveStillSprite = mScene.getRenderObjectPool().newStillSprite();
            mWaveStillSprite.playAnimation("WaterWave");
            mWaveStillSprite.setActive(false);
            mWaveStillSprite.setScale(700f / 550f);

#if UNITY_EDITOR
            mWaveStillSprite.gameObject.name = "TkSpriteWaterWave";
#endif
        }
示例#14
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
        }
示例#15
0
        //-------------------------------------------------------------------------
        public void create(CRenderScene scene, CRenderBullet render_bullet, string animation_name, TbDataParticle hit_particle)
        {
            mScene = scene;
            mBullet = render_bullet;
            mHitParticle = hit_particle;

            mStillSprite = mScene.getRenderObjectPool().newStillSprite();
            mStillSprite.setTrigger(true);
            mStillSprite.playAnimation(animation_name);
            mStillSprite.onTriggerEnter += OnTriggerEnter;

            #if UNITY_EDITOR
            mStillSprite.gameObject.name = "TkSpriteBullet_" + animation_name;
            #endif

            mBoxY = mStillSprite.getBoxColliderSize().y;
        }
示例#16
0
        //-------------------------------------------------------------------------
        public void create(CRenderScene scene, CRenderBullet render_bullet, string animation_name, TbDataParticle hit_particle)
        {
            mScene       = scene;
            mBullet      = render_bullet;
            mHitParticle = hit_particle;

            mStillSprite = mScene.getRenderObjectPool().newStillSprite();
            mStillSprite.setTrigger(true);
            mStillSprite.playAnimation(animation_name);
            mStillSprite.onTriggerEnter += OnTriggerEnter;

#if UNITY_EDITOR
            mStillSprite.gameObject.name = "TkSpriteBullet_" + animation_name;
#endif

            mBoxY = mStillSprite.getBoxColliderSize().y;
        }
示例#17
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
        }
示例#18
0
        //---------------------------------------------------------------------
        public void destroy()
        {
            if (mDestroy)
            {
                return;
            }
            mDestroy = true;

            foreach (var it in mFishs)
            {
                mScene.getRenderObjectPool().freeFishStillSprite(it);
            }
            mFishs.Clear();

            if (mRedBottom != null)
            {
                mRedBottom.destroy();
            }
        }
示例#19
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
        }
示例#20
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
        }
示例#21
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);
            }
        }
示例#22
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);
            }
        }
示例#23
0
 //-------------------------------------------------------------------------
 public void destroy()
 {
     mStillSprite.onTriggerEnter -= OnTriggerEnter;
     mScene.getRenderObjectPool().freeStillSprite(mStillSprite);
 }
示例#24
0
 StillSprite newStillSprite()
 {
     return(mScene.getRenderObjectPool().newStillSprite());
 }
示例#25
0
 //-------------------------------------------------------------------------
 public void destroy()
 {
     mCSpriteNumber.destroy();
     mScene.getRenderObjectPool().freeStillSprite(mNumberBackgroundCSprite);
 }
示例#26
0
 //-------------------------------------------------------------------------
 public void release()
 {
     mSpriteNumber.destroy();
     mScene.getRenderObjectPool().freeStillSprite(mBackground);
 }