Esempio n. 1
0
        //-----------------------------------------------------------------------------
        public string evSetState(IEbEvent ev)
        {
            EbEvent1 <_eLevelState> e           = (EbEvent1 <_eLevelState>)ev;
            _eLevelState            level_state = e.param1;

            if (level_state == _eLevelState.Switch)
            {
                return("CRenderLevelStateSwitch");
            }

            return("");
        }
Esempio n. 2
0
        //-------------------------------------------------------------------------
        public void createLevel(_eLevelState level_state, int level_vibid, int cur_map_vibid,
                                int next_map_vibid, float level_run_totalsecond, float level_run_maxsecond, bool level_run_in_formation)
        {
            mLevel = new CRenderLevel(this, mConfigurePath);
            mLevel.create(level_state, level_vibid, cur_map_vibid, next_map_vibid, level_run_totalsecond, level_run_maxsecond, mJsonPacketList, mRouteJsonPacketList);

            if (level_run_in_formation)
            {
                //getListener().onSceneShowMessageBox("请稍等,大鱼正在游来。。。", false, "", 10, (int)_eMessageBoxLayer.SwitchLevel, false, false);
            }

            mLevelRunInFormation = level_run_in_formation;
        }
Esempio n. 3
0
        //---------------------------------------------------------------------
        // 服务端广播关卡更新
        public void s2allcLevelUpdate(_eLevelState level_state, int level_vibid,
                                      int map_vibid, int next_map_vibid, float cur_second, float max_second)
        {
            List <string> vec_param = new List <string>();

            vec_param.Add(((byte)_eProtocolDesktop.s2allcLevelUpdate).ToString());
            vec_param.Add(((byte)level_state).ToString());
            vec_param.Add(level_vibid.ToString());
            vec_param.Add(map_vibid.ToString());
            vec_param.Add(next_map_vibid.ToString());
            vec_param.Add(cur_second.ToString());
            vec_param.Add(max_second.ToString());

            mQueProtocol.Enqueue(vec_param);
        }
Esempio n. 4
0
        //-------------------------------------------------------------------------
        public void setup(_eLevelState level_state, int level_vibid, int cur_map_vibid,
                          int next_map_vibid, float level_run_totalsecond, float level_run_maxsecond)
        {
            mVibLevel         = EbDataMgr.Instance.getData <TbDataLevel>(level_vibid);
            CurMapVibId       = cur_map_vibid;
            NextMapVibId      = next_map_vibid;
            LevelCurRunSecond = level_run_totalsecond;
            LevelMaxRunSecond = level_run_maxsecond;

            if (getLevelState() == _eLevelState.Switch && level_state == _eLevelState.Normal)
            {
                mSpriteLevel.switchBackgroundEarly();
            }

            if (getLevelState() != level_state)
            {
                processEvent("setState", level_state);
            }
        }
Esempio n. 5
0
        //-------------------------------------------------------------------------
        void _s2allcLevelUpdate(List <string> vec_param)
        {
            if (!mScene.isInit())
            {
                return;
            }

            int          index                 = 0;
            _eLevelState level_state           = (_eLevelState)(byte.Parse(vec_param[++index]));
            int          level_vibid           = int.Parse(vec_param[++index]);
            int          cur_map_vibid         = int.Parse(vec_param[++index]);
            int          next_map_vibid        = int.Parse(vec_param[++index]);
            float        level_run_totalsecond = float.Parse(vec_param[++index]);
            float        level_run_maxsecond   = float.Parse(vec_param[++index]);

            CRenderLevel level = mScene.getLevel();

            level.setup(level_state, level_vibid, cur_map_vibid, next_map_vibid, level_run_totalsecond, level_run_maxsecond);
        }
Esempio n. 6
0
        //-------------------------------------------------------------------------
        public void create(_eLevelState level_state, int level_vibid, int cur_map_vibid,
                           int next_map_vibid, float level_run_totalsecond, float level_run_maxsecond,
                           List <JsonPacket> json_packet_list, List <RouteJsonPacket> route_json_packet_list)
        {
            mVibLevel         = EbDataMgr.Instance.getData <TbDataLevel>(level_vibid);
            CurMapVibId       = cur_map_vibid;
            NextMapVibId      = next_map_vibid;
            LevelCurRunSecond = level_run_totalsecond;
            LevelMaxRunSecond = level_run_maxsecond;

            mSpriteLevel = new CSpriteLevel();
            mSpriteLevel.create(mScene);

            addState(new CRenderLevelStateNormal(mScene, this));
            addState(new CRenderLevelStateSwitch(mScene, this));
            setupFsm();

            _initBaseFishLordMgr(json_packet_list, route_json_packet_list);

            if (getLevelState() != level_state)
            {
                processEvent("setState", level_state);
            }
        }
Esempio n. 7
0
        //-------------------------------------------------------------------------
        public void createLevel(_eLevelState level_state, int level_vibid, int cur_map_vibid,
            int next_map_vibid, float level_run_totalsecond, float level_run_maxsecond, bool level_run_in_formation)
        {
            mLevel = new CRenderLevel(this, mConfigurePath);
            mLevel.create(level_state, level_vibid, cur_map_vibid, next_map_vibid, level_run_totalsecond, level_run_maxsecond, mJsonPacketList, mRouteJsonPacketList);

            if (level_run_in_formation)
            {
                //getListener().onSceneShowMessageBox("请稍等,大鱼正在游来。。。", false, "", 10, (int)_eMessageBoxLayer.SwitchLevel, false, false);
            }

            mLevelRunInFormation = level_run_in_formation;
        }
Esempio n. 8
0
        //-------------------------------------------------------------------------
        public void setup(_eLevelState level_state, int level_vibid, int cur_map_vibid,
            int next_map_vibid, float level_run_totalsecond, float level_run_maxsecond)
        {
            mVibLevel = EbDataMgr.Instance.getData<TbDataLevel>(level_vibid);
            CurMapVibId = cur_map_vibid;
            NextMapVibId = next_map_vibid;
            LevelCurRunSecond = level_run_totalsecond;
            LevelMaxRunSecond = level_run_maxsecond;

            if (getLevelState() == _eLevelState.Switch && level_state == _eLevelState.Normal)
            {
                mSpriteLevel.switchBackgroundEarly();
            }

            if (getLevelState() != level_state)
            {
                processEvent("setState", level_state);
            }
        }
Esempio n. 9
0
        //-------------------------------------------------------------------------
        public void create(_eLevelState level_state, int level_vibid, int cur_map_vibid,
            int next_map_vibid, float level_run_totalsecond, float level_run_maxsecond,
            List<JsonPacket> json_packet_list, List<RouteJsonPacket> route_json_packet_list)
        {
            mVibLevel = EbDataMgr.Instance.getData<TbDataLevel>(level_vibid);
            CurMapVibId = cur_map_vibid;
            NextMapVibId = next_map_vibid;
            LevelCurRunSecond = level_run_totalsecond;
            LevelMaxRunSecond = level_run_maxsecond;

            mSpriteLevel = new CSpriteLevel();
            mSpriteLevel.create(mScene);

            addState(new CRenderLevelStateNormal(mScene, this));
            addState(new CRenderLevelStateSwitch(mScene, this));
            setupFsm();

            _initBaseFishLordMgr(json_packet_list, route_json_packet_list);

            if (getLevelState() != level_state)
            {
                processEvent("setState", level_state);
            }
        }
Esempio n. 10
0
        //-------------------------------------------------------------------------
        void _s2cSnapshotScene(List <string> vec_param)
        {
            EbLog.Note("CRenderProtocol._s2cSnapshotScene()");

            mScene.setInit();

            int  index           = 0;
            uint et_player_rpcid = uint.Parse(vec_param[++index]);

            if (et_player_rpcid != mScene.getMyPlayerId())
            {
                return;
            }

            _eLevelState level_state           = (_eLevelState)(short.Parse(vec_param[++index]));
            int          level_vibid           = int.Parse(vec_param[++index]);
            int          cur_map_vibid         = int.Parse(vec_param[++index]);
            int          next_map_vibid        = int.Parse(vec_param[++index]);
            float        level_run_totalsecond = float.Parse(vec_param[++index]);
            float        level_run_maxsecond   = float.Parse(vec_param[++index]);

            bool level_run_in_formation = bool.Parse(vec_param[++index]);

            mScene.destroyLevel();
            mScene.createLevel(level_state, level_vibid, cur_map_vibid, next_map_vibid, level_run_totalsecond, level_run_maxsecond, level_run_in_formation);

            mScene.destroyAllTurret();

            int        rate_list_count = int.Parse(vec_param[++index]);
            List <int> list_rate       = new List <int>(rate_list_count);

            for (int i = 0; i < rate_list_count; ++i)
            {
                list_rate.Add(int.Parse(vec_param[++index]));
            }

            mScene.setRateList(list_rate);

            int turret_count = int.Parse(vec_param[++index]);

            List <CRenderTurret> turret_list = new List <CRenderTurret>();

            for (int i = 0; i < turret_count; ++i)
            {
                _tScenePlayer scene_player;
                scene_player.et_player_rpcid = uint.Parse(vec_param[++index]);
                scene_player.nickname        = (string)vec_param[++index];
                int player_gold = int.Parse(vec_param[++index]);
                scene_player.is_bot = false;
                scene_player.rate   = float.Parse(vec_param[++index]);
                int   turret_id        = int.Parse(vec_param[++index]);
                bool  buffer_power     = bool.Parse(vec_param[++index]);
                bool  buffer_freeze    = bool.Parse(vec_param[++index]);
                bool  buffer_longpress = bool.Parse(vec_param[++index]);
                bool  buffer_rapid     = bool.Parse(vec_param[++index]);
                float turret_angle     = float.Parse(vec_param[++index]);
                int   turret_rate      = int.Parse(vec_param[++index]);
                TbDataTurret.TurretType turret_type = (TbDataTurret.TurretType)(byte.Parse(vec_param[++index]));
                int locked_fish_objid = int.Parse(vec_param[++index]);

                CRenderTurret turret = mScene.createTurret(turret_id, ref scene_player, player_gold, buffer_power, buffer_freeze, buffer_longpress,
                                                           buffer_rapid, turret_rate, turret_angle, locked_fish_objid, turret_type);

                turret_list.Add(turret);

                if (mScene.getMyPlayerId() == scene_player.et_player_rpcid)
                {
                    mScene.setMyTurret(turret);
                }
            }

            // 通知场景初始化完成
            mScene.getListener().onSceneSnapshot();

            foreach (var turret in turret_list)
            {
                turret.displayScore();
            }
        }
Esempio n. 11
0
    //切り替え終了
    public IEnumerator FieldChangeEnd(FieldPop fpMethod)
    {
        if (animationObject)
            Destroy(animationObject);

        audioSource.Play();

        levelChange.levelPanel.PanelSlide();

        animationObject = Instantiate(animationPrefab);
        animationObject.transform.rotation = Quaternion.identity;
        animationObject.transform.SetParent(Camera.main.transform);
        levelState = _eLevelState.CHANGE;
        lyingAngle = 0;

        //各オブジェクトの表示復帰
           GameScene gameScene = transform.root.gameObject.GetComponent<AppliController>().GetCurrentScene().GetComponent<GameScene>();

        yield return new WaitForSeconds(changePopTime);
        fChangeScript.Delete();
        gameScene.gameUI.ojityanAnimator.gameObject.SetActive(true);

        yield return new WaitForSeconds(changeEndTime);
        //アニメーションを消去
        Destroy(animationObject);
        animationObject = null;
        if (NextLevel != -1)
        {
            gameController.nodeController.currentLevel = NextLevel;
            //gameScene.directionalLight.color = levelTableScript.GetFieldLevel(nextLevel).lightColor;
        }
        else
        {
            //gameScene.directionalLight.color = levelTableScript.GetFieldLevel(gameController.nodeController.currentLevel).lightColor;
        //            print("レベル変更なし");
        }
        LevelState = _eLevelState.STAND;
    }
Esempio n. 12
0
    // Use this for initialization
    void Start()
    {
        appController = transform.root.gameObject.GetComponent<AppliController>();
        GameScene gameScene = appController.GetCurrentScene().GetComponent<GameScene>();
        gameController = gameScene.gameController;
        nextLevel = -1;

        audioSource = GetComponent<AudioSource>();

        levelState = _eLevelState.STAND;

        levelTableScript = gameScene.levelTables;

        levelChangePrefab = Resources.Load<GameObject>(levelChangePath);
        animationPrefab = Resources.Load<GameObject>(animationPath);

        gOption = gameScene.gameUI.gamePause;
         //       gameScene.gameUI.gameInfoCanvas.GetComponentInChildren<fieldImage>().gameObject.GetComponent<Button>().onClick.AddListener(TouchChange);
    }
Esempio n. 13
0
    //難易度切り替え状態へ
    public IEnumerator FieldChangeStart(FieldPop fpMethod)
    {
        GameScene gameScene = transform.root.gameObject.GetComponent<AppliController>().GetCurrentScene().GetComponent<GameScene>();
        //アニメーターを生成
        levelState = _eLevelState.CHANGE;
        if (animationObject)
            Destroy(animationObject);
        animationObject = Instantiate(animationPrefab);
        animationObject.transform.SetParent(Camera.main.transform);

        //時間を止める
        gameScene.gameUI.gameInfoCanvas.limitTime.eventRatio = 0;

        audioSource.Play();

        //手前にあるオブジェクトを非表示
        gameScene.gameUI.ojityanAnimator.gameObject.SetActive(false);
        gameScene.gameUI.gamePause.optionButton.SetActive(false);

        yield return new WaitForSeconds(changePopTime);
        fpMethod();

        yield return new WaitForSeconds(changeEndTime);
        //アニメーションを消去
        Destroy(animationObject);
        animationObject = null;
        levelState = _eLevelState.LIE;
    }
Esempio n. 14
0
        //---------------------------------------------------------------------
        // 服务端广播关卡更新
        public void s2allcLevelUpdate(_eLevelState level_state, int level_vibid,
            int map_vibid, int next_map_vibid, float cur_second, float max_second)
        {
            List<string> vec_param = new List<string>();
            vec_param.Add(((byte)_eProtocolDesktop.s2allcLevelUpdate).ToString());
            vec_param.Add(((byte)level_state).ToString());
            vec_param.Add(level_vibid.ToString());
            vec_param.Add(map_vibid.ToString());
            vec_param.Add(next_map_vibid.ToString());
            vec_param.Add(cur_second.ToString());
            vec_param.Add(max_second.ToString());

            mQueProtocol.Enqueue(vec_param);
        }