예제 #1
0
        //-------------------------------------------------------------------------
        public void create(int turret_id, ref _tScenePlayer scene_player, int player_gold,
                           bool buffer_power, bool buffer_freeze, bool buffer_longpress, bool buffer_rapid, int turret_rate, float turret_angle, int locked_fish_objid
                           , TbDataTurret.TurretType turret_type)
        {
            mTurretId    = turret_id;
            mPlayer      = scene_player;
            mTurretAngle = turret_angle;

            mTurretType      = turret_type;
            mTurretDataTable = new TurretDataTable();

            _setTurretRate(turret_rate);

            CTurretHelper turret_helper = mScene.getTurretHelper();

            mTurretPos = turret_helper.getPositionByOffset(turret_id,
                                                           mScene.getRenderConfigure().TurretOffset);
            mBaseAngle   = turret_helper.getBaseAngleByTurretId(turret_id);
            mTurretColor = turret_helper.getBaseColorByTurretId(turret_id).convert();

            float scene_length = mScene.getSceneLength();
            float scene_width  = mScene.getSceneWidth();

            mCSpriteTurretShow = new CSpriteTurretShow();
            mCSpriteTurretShow.create(mScene, this);

            _displayTurretRate();

            mRenderBufferMgr = new CRenderBufferMgr(mScene, this,
                                                    turret_helper.getPositionByOffset(turret_id, mScene.getRenderConfigure().TurretBufferOffset), mBaseAngle);
            setLockFishByFishObjId(locked_fish_objid);

            if (buffer_power)
            {
                List <object> param_list = new List <object>();
                mRenderBufferMgr.addBuffer("BufPower", param_list);
            }

            if (buffer_freeze)
            {
                List <object> param_list = new List <object>();
                mRenderBufferMgr.addBuffer("BufFreeze", param_list);
            }

            if (buffer_longpress)
            {
                List <object> param_list = new List <object>();
                mRenderBufferMgr.addBuffer("BufLongpress", param_list);
            }

            if (buffer_rapid)
            {
                List <object> param_list = new List <object>();
                mRenderBufferMgr.addBuffer("BufRapid", param_list);
            }

            mScene.getListener().onSceneTurretCreated(mTurretId);
        }
예제 #2
0
        //-------------------------------------------------------------------------
        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);
        }
예제 #3
0
        //-------------------------------------------------------------------------
        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);
        }
예제 #4
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());
 }