public void Login(string code, NetworkTool.RequestCallback callback) { StartCoroutine(NetworkTool.GetRequest($"/login_code/{code}", (result => { user = JsonConvert.DeserializeObject <GameUserInfoDTO>(result); loginSucceedEvent.Send(); // Debug.Log(user); isInitMapInfos = false; // 让地图信息也初始化 callback(result); }))); }
/// <summary> /// 通过地图 Id 取得地图数据 /// </summary> /// <param name="mapId"></param> /// <param name="callback"></param> private void GetMap(string mapId, NetworkTool.RequestCallback callback) { // 先检查缓存里面有没有 if (mapCache.TryGetValue(mapId, out var value)) { callback(value); return; } StartCoroutine(NetworkTool.GetRequest($"/get_map/{mapId}", result => { // 先添加到缓存里面 mapCache.Add(mapId, result); callback(result); })); }
/// <summary> /// 用于初始化地图信息 /// </summary> /// <param name="callback"></param> public void InitMapInfoList(NetworkTool.RequestCallback callback) { if (isInitMapInfos) { callback(""); return; } StartCoroutine(NetworkTool.GetRequest("/get_map_infos", result => { // 先清空 mapInfos.Clear(); var array = JArray.Parse(result); foreach (var item in array) { mapInfos.Add(JsonConvert.DeserializeObject <GameMapInfoDTO>(item.ToString())); } callback(result); isInitMapInfos = true; })); }