public void OnTileItemTouchUp(UIMapItem item, PointerEventData eventData) { if (tileInfoNow == null) { // return; } int x = MapUtils.GetXOfPositionCenter(item.transform.localPosition, mapSizeX, mapSizeY, sizeRect); int y = MapUtils.GetYOfPositionCenter(item.transform.localPosition, mapSizeX, mapSizeY, sizeRect); item.info.tileX = x; item.info.tileY = y; Vector3 pos = MapUtils.GetPositionCenter(x, y, mapSizeX, mapSizeY, sizeRect); pos.z = rootPosZ - 1; item.gameObject.transform.localPosition = pos; Vector2 pos_screen = mainCam.WorldToScreenPoint(pos); //item.info.pos = pos_screen;//(-2.4, -1.0) Debug.Log("OnTileItemTouchUp x=" + x + " y=" + y + " pos=" + pos); if (item.type == UIMapItem.ItemType.ROAD_TILE) { item.info.id = MapTileInfo.ID_PREFIX_ROAD + indexRoadTile.ToString(); indexRoadTile++; meshRoad.AddPoint(pos); meshRoad.Draw(); GameObject obj = item.gameObject; DestroyImmediate(obj); obj = null; } }
public void ParseMapInfo(CodeCarItemInfo info) { itmeInfoGuanka = info; string fileName = Common.GAME_RES_DIR + "/guanka/place" + GameManager.placeLevel + "/guanka_" + GameManager.gameLevel + ".json"; //FILE_PATH string json = FileUtil.ReadStringAsset(fileName);//((TextAsset)Resources.Load(fileName, typeof(TextAsset))).text; // Debug.Log("json::"+json); JsonData root = JsonMapper.ToObject(json); string strPlace = (string)root["place"]; mapSizeX = Common.String2Int((string)root["mapSizeX"]); mapSizeY = Common.String2Int((string)root["mapSizeY"]); ResizeMainRect(); JsonData items = root["item"]; info.listTile = new List <MapTileInfo>(); bool iscreate_car = false; for (int i = 0; i < items.Count; i++) { JsonData item = items[i]; MapTileInfo infotile = new MapTileInfo(); string type = (string)item["itemtype"]; //ROAD_TILE // string strpos =//(573.0, 200.0) infotile.type = UIMapItem.String2Type(type); infotile.id = GetIdJson(item, "id"); infotile.idLeft = GetIdJson(item, "idLeft"); infotile.idRight = GetIdJson(item, "idRight"); infotile.idTop = GetIdJson(item, "idTop"); infotile.idBottom = GetIdJson(item, "idBottom"); infotile.tileX = (int)item["tileX"]; infotile.tileY = (int)item["tileY"]; info.listTile.Add(infotile); CreateMapItem(infotile); if ((!iscreate_car) && (infotile.type == UIMapItem.ItemType.ROAD_TILE)) { // Vector2 posworld = mainCam.ScreenToWorldPoint(infotile.pos); //car MapTileInfo infocar = new MapTileInfo(); infocar.type = UIMapItem.ItemType.CAR; infocar.tileX = infotile.tileX; infocar.tileY = infotile.tileY; // infocar.pos = infotile.pos; CreateMapItem(infocar); iscreate_car = true; } } meshRoad.Draw(); }