//----------------------------------------------------------------------------- public string evSetState(IEbEvent ev) { EbEvent1 <_eLevelState> e = (EbEvent1 <_eLevelState>)ev; _eLevelState level_state = e.param1; if (level_state == _eLevelState.Switch) { return("CRenderLevelStateSwitch"); } return(""); }
//------------------------------------------------------------------------- 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; }
//--------------------------------------------------------------------- // 服务端广播关卡更新 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); }
//------------------------------------------------------------------------- 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); } }
//------------------------------------------------------------------------- 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); }
//------------------------------------------------------------------------- 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); } }
//------------------------------------------------------------------------- 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); } }
//------------------------------------------------------------------------- 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); } }
//------------------------------------------------------------------------- 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(); } }
//切り替え終了 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; }
// 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); }
//難易度切り替え状態へ 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; }
//--------------------------------------------------------------------- // 服务端广播关卡更新 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); }