Пример #1
0
    /// <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();
    }
Пример #2
0
    static public string GetGamePrefabName(eGameList name)
    {
        int    id         = (int)name;
        string file       = name.ToString();
        string bundleName = file.ToLower();

        return(id.ToString() + "_" + bundleName);
    }
Пример #3
0
    IEnumerator coGameReConnect()
    {
        yield return(new WaitForSeconds(1f));

        // 현재 게임 분석
        eGameList gameKind = UI.I.GetCurrentGameKind();

        UI.Game.AddMessage(GameUI.IDs.InGameHandle, "msg", "reconnect");  // 해당게임에 재접속 해라 명령.
    }
Пример #4
0
    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);
    }
Пример #5
0
    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");
        }
    }
Пример #6
0
    /// <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);
    }
Пример #7
0
    /// <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;
         */
    }
Пример #8
0
 // 게임을 직접 실행한다.
 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);
             }));
         }
     }
 }
Пример #9
0
    static public Sprite GetGameLoadingImage(eGameList name)
    {
        int id = (int)name;

        return(xLIB.BUNDLE.I.LoadAsset <Sprite>("mobile_loading_" + id.ToString()));
    }