Пример #1
0
        public static bool Start(UILobbyMainWndCtrl __instance)
        {
            PeSteamFriendMgr.Instance.Init(__instance.mTopLeftAuthor.transform, __instance.mUICenter.transform, __instance.mUICamera);

            if (GameClientLobby.Self == null)
            {
                return(false);
            }

            Traverse.Create(__instance).Field("mRoleInfo").SetValue(GameClientLobby.role);

            __instance.GetType().GetMethod("SetRoleInfo", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).Invoke(__instance, new object[] { });

            var mRecentRoom_M = new RecentRoomDataManager(Traverse.Create(__instance).Field("mRoleInfo").Field("name").GetValue <string>());

            Traverse.Create(__instance).Field("mRecentRoom_M").SetValue(mRecentRoom_M);
            mRecentRoom_M.LoadFromFile();

            __instance.StartCoroutine((IEnumerator)__instance.GetType().GetMethod("UpdatePlayerInfo", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).Invoke(__instance, new object[] { }));
            __instance.StartCoroutine((IEnumerator)__instance.GetType().GetMethod("UpdateRoomInfo", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).Invoke(__instance, new object[] { }));

            SteamServerHandler.currentLanRequest =
                SteamMatchmakingServers.RequestLANServerList(new AppId_t(237870u),
                                                             new ISteamMatchmakingServerListResponse(SteamServerHandler.ServerResponded, SteamServerHandler.ServerFailedToRespond, SteamServerHandler.RefreshComplete));
            SteamServerHandler.currentInternetRequest =
                SteamMatchmakingServers.RequestInternetServerList(new AppId_t(237870u), new MatchMakingKeyValuePair_t[] { new MatchMakingKeyValuePair_t()
                                                                                                                          {
                                                                                                                              m_szKey = "gametagsand", m_szValue = "public"
                                                                                                                          } }, 1,
                                                                  new ISteamMatchmakingServerListResponse(SteamServerHandler.ServerResponded, SteamServerHandler.ServerFailedToRespond, SteamServerHandler.RefreshComplete));
            SteamServerHandler.lastUpdate = true;


            __instance.GetType().GetMethod("InitRoomListSort", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).Invoke(__instance, new object[] { });


            return(false);
        }
Пример #2
0
    //    void OnEnable()
    //	{
    //		GameClientNetwork.HostListReceivedEvent += OnHostListReceived;
    //	}
    //
    //	void OnDisable()
    //	{
    //		GameClientNetwork.HostListReceivedEvent -= OnHostListReceived;
    //		CancelInvoke("RequestHostList");
    //	}

    // Use this for initialization
    void Start()
    {
#if MAINMENU_ISO
        BtnWorkShopsOnClick();
        if (mTopLeftAuthor != null)
        {
            mTopLeftAuthor.transform.parent.gameObject.SetActive(false);
        }
        if (mButtomAuthor != null)
        {
            mButtomAuthor.SetActive(false);
        }
        return;
#endif
        PeSteamFriendMgr.Instance.Init(mTopLeftAuthor.transform, mUICenter.transform, mUICamera);

        if (GameClientLobby.Self == null)
        {
            return;
        }
        mRoleInfo = GameClientLobby.role;
        SetRoleInfo();

        mRecentRoom_M = new RecentRoomDataManager(mRoleInfo.name);
        mRecentRoom_M.LoadFromFile();

        StartCoroutine(UpdatePlayerInfo());
        StartCoroutine(UpdateRoomInfo());

        InitRoomListSort();

        if (e_LobbyUIStart != null)
        {
            e_LobbyUIStart();
        }
    }