/// <summary> /// 로비에서 게임화면으로 전환 /// </summary> /// <param name="eGameName">Name of the e game.</param> public void LobbyToGame(eGameList eGameName) { SOUND.I.PlayStop(DEF.SND.lobby_bgm); loadGame = eGameName; Main.I.CurrentView = eView.Game; string prefabGameName = DEF.GetGamePrefabName(loadGame); GameObject obj = BUNDLE.I.LoadAsset <GameObject>(prefabGameName); if (obj) { GameObject go = GameObject.Instantiate(obj); go.name = prefabGameName; go.transform.SetParent(this.gameObject.transform); SOUND.I.LoadAssetBundleAudioClipsPackage(DEF.GetGameBundleName(loadGame)); GameMain = go.gameObject.GetComponent <InGame>(); GameMain.gameId = eGameName; GameMain.Init(); Main.I.AppsFlyerEvent(AFInAppEvents.GAME, AFInAppEvents.GAME_SELECT, eGameName.ToString()); } if (Lobby.I != null) { Lobby.I.LobbyToGame(); } Coins.LobbyToGame(); Game.LobbyToGame(); BroadCast.LobbyToGame(); }
static public string GetGamePrefabName(eGameList name) { int id = (int)name; string file = name.ToString(); string bundleName = file.ToLower(); return(id.ToString() + "_" + bundleName); }
IEnumerator coGameReConnect() { yield return(new WaitForSeconds(1f)); // 현재 게임 분석 eGameList gameKind = UI.I.GetCurrentGameKind(); UI.Game.AddMessage(GameUI.IDs.InGameHandle, "msg", "reconnect"); // 해당게임에 재접속 해라 명령. }
static public string GetGameBundleName(eGameList name) { int id = (int)name; string file = name.ToString(); string bundleName = file.ToLower(); string extends = ""; if (xLIB.CONFIG.IsRunningAndroid()) { extends = ".ad"; } else if (xLIB.CONFIG.IsRunningiOS()) { extends = ".ios"; } return(id.ToString() + "_" + bundleName + extends); }
protected override void OnEnable() { base.OnEnable(); if (m_args == null) { return; } _imgFadeInOut.color = Color.black; _imgFadeInOut.gameObject.SetActive(true); _ProgressBar.gameObject.SetActive(true); _ProgressBar.Reset(); if ((SCENEIDs)m_args[0] == SCENEIDs.LobbyToGame) { _ProgressBar.SetFillAmount(0.03f); _ProgressBar.AutoAddGague(10f, null); PK.GamesInfo.REData info = USER.I.GetGameListInfo((int)m_args[1]); _GameKind = (eGameList)m_args[1]; _bundleName = DEF.GetGameBundleName(_GameKind); // gamecommon 번들에 넣어둔 이미지 로딩 Sprite spr = DEF.GetGameLoadingImage(_GameKind); if (spr != null) { _imgTitle.texture = spr.texture; _imgFadeInOut.DOFade(0, 0.3f).OnComplete(OnFadeComplete); } else // 혹시나 로딩 실패하면 기존 웹다운방식 { DB.I.WebDownloadImage(info.loading_image, (x) => { _imgTitle.texture = x; _imgFadeInOut.DOFade(0, 0.3f).OnComplete(OnFadeComplete); }); } } else { Close("cancel"); } }
/// <summary> /// 게임화면에서 로비화면으로 전환 /// </summary> public void GameToLobby() { if (!SOUND.I.IsPlay(DEF.SND.lobby_bgm)) { SOUND.I.Play(DEF.SND.lobby_bgm, true); } Main.I.CurrentView = eView.Lobby; if (GameMain != null) { SOUND.I.RemoveClipPackage(DEF.GetGameBundleName(loadGame)); BUNDLE.I.UnLoadBundle(DEF.GetGameBundleName(loadGame), true); Destroy(GameMain.gameObject); GameMain = null; loadGame = eGameList.none; } if (Lobby.I != null) { Lobby.I.GameToLobby(); } Coins.GameToLobby(); Game.GameToLobby(); Tournaments.GameToLobby(); BroadCast.GameToLobby(); Resources.UnloadUnusedAssets(); System.GC.Collect(); NET.I.SendReqLobbyUserInfo((id, msg) => { USER.I.SetPKUserInfo(msg); USER.I.UpdateAllUserInfo(); Main.I.AppsFlyerEvent(AFInAppEvents.GAME, AFInAppEvents.GAME_EXIT, "true"); }, null); }
/// <summary> /// 설치가 가능한 게임 리스트 /// </summary> static public bool IsUseGameID(eGameList id) { PK.GamesInfo.REData data = USER.I.GetGameListInfo((int)id); if (data != null) { return(true); } return(false); /* * switch (id) * { * case eGameList.emeraldSevens: * case eGameList.HighDiamonds: * case eGameList.HotLotto: * case eGameList.flyingPiggy: * case eGameList.DoubleLuck: * case eGameList.DoubleJackpot7s: * return true; * } * return false; */ }
// 게임을 직접 실행한다. public void RunNewsGame(eGameList gameId) { UI.SetWaitLoading(true); if (DEF.IsUseGameID(gameId)) { runGameId = (int)gameId; string bundleName = DEF.GetGameBundleName(gameId); AssetBundle bundle = xLIB.BUNDLE.I.GetBundle(bundleName); if (bundle != null) { SCENE.I.AddMessage(SCENEIDs.LobbyToGame, "game", runGameId); } else if (xLIB.BUNDLE.I.IsLocalFileCached(bundleName)) { SCENE.I.AddMessage(SCENEIDs.LobbyToGame, "game", runGameId); } else { StartCoroutine(xLIB.BUNDLE.I.DownloadUpdateFromServer(bundleName, null, () => { SCENE.I.AddMessage(SCENEIDs.LobbyToGame, "game", runGameId); })); } } }
static public Sprite GetGameLoadingImage(eGameList name) { int id = (int)name; return(xLIB.BUNDLE.I.LoadAsset <Sprite>("mobile_loading_" + id.ToString())); }