Example #1
0
    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();
    }