public static void UpdateBuildingInfo(string _strBlockName, string _strNodeGUID, string _strJsData, Action <string> sCb, Action <string> fCb, SingleTargetType _sType = SingleTargetType.Building) { var jclass = new SimpleJSON.JSONClass(); jclass["block_name"] = _strBlockName; jclass["build_guid"] = _strNodeGUID; jclass["info"] = _strJsData; string strJson = jclass.ToString(); string strPort = "building_infos/upsert"; Debug.LogWarning("更新,发送的Js:\n" + _strJsData); Debug.LogWarning(string.Format("更新:地块ID:{0}\n建筑gID:{1}", _strBlockName, _strNodeGUID)); WWWManager.Instance.Post(strPort, strJson, resp => { if (!HasRespError(resp)) { sCb(resp.ToString()); } else { Debug.LogError(string.Format("更新建筑基础信息:{0},失败:{1}", _strNodeGUID, resp.WwwText)); fCb(resp.WwwText); } }); }
/// <summary> /// 获取地块单粒度列表 /// </summary> /// <param name="_strBlockName"></param> /// <param name="callback"></param> /// <param name="_fCb"></param> public static void GetBlockSingleTargetList(string _strBlockName, Action <string> callback, Action <string> _fCb, SingleTargetType _sType = SingleTargetType.Building) { string strPort = "Error"; string strParamKey = "block_name"; switch (_sType) { case SingleTargetType.Building: strPort = "buildings/in_block"; break; case SingleTargetType.Component: strPort = "block_components/in_block"; break; case SingleTargetType.Maps: strPort = "sub_blocks/in_block"; break; case SingleTargetType.Shop: strPort = "shop_signs/in_block"; break; case SingleTargetType.BuildingInfo: strPort = "building_infos/in_block"; break; case SingleTargetType.StreetInfo: strPort = "streets/in_city"; strParamKey = "city_name"; break; default: return; } WWWManager.Instance.Get(strPort, new NameValueCollection() { { strParamKey, _strBlockName } }, resp => { if (resp.Error != HttpResp.ErrorType.None) { Debug.LogWarning("加载出来的BuildingConfig:" + resp.WwwText); _fCb(resp.WwwText); } else { callback(resp.WwwText); } }); }
/// <summary> /// 单粒度删除:_bType: 1-组件 2-建筑 3-九宫格 /// </summary> /// <param name="_strCityName"></param> /// <param name="_strGUID"></param> /// <param name="sCb"></param> /// <param name="fCb"></param> /// <param name="_bType"></param> public static void DeleteSingleTargetByJson(string _strCityName, string _strGUID, Action sCb, Action <string> fCb, SingleTargetType _sType = SingleTargetType.Building, bool _bClearStreetID = false) { var jclass = new SimpleJSON.JSONClass(); jclass["block_name"] = _strCityName; jclass["guid"] = _strGUID; string strJson = jclass.ToString(); string strPort = "Error"; switch (_sType) { case SingleTargetType.Building: strPort = "buildings/delete"; break; case SingleTargetType.Component: strPort = "block_components/delete"; break; case SingleTargetType.Maps: strPort = "sub_blocks/delete"; break; case SingleTargetType.Shop: strPort = "shop_signs/delete"; break; case SingleTargetType.BuildingInfo: strPort = "building_infos/delete"; break; case SingleTargetType.StreetInfo: strPort = "streets/delete"; jclass = new SimpleJSON.JSONClass(); jclass["city_name"] = _strCityName; jclass["guid"] = _strGUID; jclass["unbind_building"] = _bClearStreetID ? "true" : "false"; strJson = jclass.ToString(); break; default: return; } WWWManager.Instance.Post(strPort, strJson, resp => { if (!HasRespError(resp)) { sCb(); } else { Debug.LogWarning(string.Format("删除:{0},失败:{1}", strPort, resp.Error)); fCb(resp.WwwText); } }); }
/// <summary> /// 单粒度更新 /// </summary> /// <param name="_strCityName"></param> /// <param name="_strJsData"></param> /// <param name="sCb"></param> /// <param name="fCb"></param> public static void UpdateSingleTargetByJson(string _strCityName, string _strJsData, Action <string> sCb, Action <string> fCb, SingleTargetType _sType = SingleTargetType.Building) { var jclass = new SimpleJSON.JSONClass(); jclass["block_name"] = _strCityName; jclass["info"] = _strJsData; string strJson = jclass.ToString(); string strPort = "Error"; switch (_sType) { case SingleTargetType.Building: strPort = "buildings/upsert"; break; case SingleTargetType.Component: strPort = "block_components/upsert"; break; case SingleTargetType.Maps: strPort = "sub_blocks/upsert"; break; case SingleTargetType.Shop: strPort = "shop_signs/upsert"; break; case SingleTargetType.BuildingInfo: strPort = "building_infos/upsert"; break; case SingleTargetType.StreetInfo: strPort = "streets/upsert"; jclass = new SimpleJSON.JSONClass(); jclass["city_name"] = _strCityName; jclass["info"] = _strJsData; strJson = jclass.ToString(); break; default: return; } Debug.LogWarning("更新,发送的Js:\n" + _strJsData); WWWManager.Instance.Post(strPort, strJson, resp => { if (!HasRespError(resp)) { sCb(resp.ToString()); } else { Debug.LogError(string.Format("更新:{0},失败:{1}", _strCityName, resp.ToString())); fCb(resp.WwwText); } }); }