public static bool BtnRefreshOnClick(UILobbyMainWndCtrl __instance) { if (__instance.mRoomListPage != 0 && __instance.mRoomListPage != 1) { return(false); } var lan = __instance.mRoomListPage == 1; var request = SteamServerHandler.currentInternetRequest; if (lan) { request = SteamServerHandler.currentLanRequest; } if (request == HServerListRequest.Invalid || !SteamMatchmakingServers.IsRefreshing(request)) { if (lan) { Traverse.Create(__instance).Field("_serverListLan").GetValue <List <ServerRegistered> >().Clear(); } else { Traverse.Create(__instance).Field("_serverListInter").GetValue <List <ServerRegistered> >().Clear(); } typeof(UILobbyMainWndCtrl).GetMethod("RefreshRoomList", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).Invoke(__instance, new object[] { }); if (request != HServerListRequest.Invalid) { SteamMatchmakingServers.RefreshQuery(request); } else { if (lan) { SteamServerHandler.currentLanRequest = SteamMatchmakingServers.RequestLANServerList(new AppId_t(237870u), new ISteamMatchmakingServerListResponse(SteamServerHandler.ServerResponded, SteamServerHandler.ServerFailedToRespond, SteamServerHandler.RefreshComplete)); } else { 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; } return(false); }
void Awake() { mInstance = this; PlayMusic(); mPlayerPageIndex = 0; mRoomListPage = 0; mRoomList.CheckItem += roomListChickItem; mRoomList.DoubleClickItem += RoomListDoubleClickItem; //e_LobbyUIStart += GameClientLobby.Self.QueryLobbyExp; }
public static bool BtnJoinOnClick(UILobbyMainWndCtrl __instance) { if (__instance.mPlayerInput.text != null) { var nums = __instance.mPlayerInput.text.Split(','); ulong steamid = 0ul; if (int.TryParse(nums[0], out var roleid) && roleid < 13000000 && (nums.Length == 1 || (nums.Length == 2 && ulong.TryParse(nums[1], out steamid)))) { Traverse.Create <GameClientLobby>().Property("role").GetValue <CustomData.RoleInfo>().roleID = roleid; if (nums.Length == 2) { Traverse.Create <GameClientLobby>().Property("role").GetValue <CustomData.RoleInfo>().steamId = steamid; } } } return(true); }
public static bool WorkShopOnClose(UILobbyMainWndCtrl __instance) { var mWorkShopCtrl = Traverse.Create(__instance).Field("mWorkShopCtrl").GetValue <UIWorkShopCtrl>(); if (mWorkShopCtrl != null) { var mLastWnd = Traverse.Create(__instance).Field("mLastWnd").GetValue <UnityEngine.GameObject>(); if (mLastWnd != null && mLastWnd != mWorkShopCtrl.gameObject) { mLastWnd.SetActive(true); } else { __instance.mRoomWnd.SetActive(true); } UnityEngine.GameObject.Destroy(mWorkShopCtrl.gameObject); Traverse.Create(__instance).Field("mWorkShopCtrl").SetValue(null); } return(false); }
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); }
public static bool Update(UILobbyMainWndCtrl __instance) { __instance.GetType().GetMethod("UpdateLobbyLevel", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).Invoke(__instance, new object[] { }); return(false); }