Esempio n. 1
0
    MapTileInfo CreateMapItem(UIMapItem.ItemType type)
    {
        MapTileInfo info = new MapTileInfo();
        GameObject  obj  = new GameObject("item_" + type.ToString());
        UIMapItem   item = null;

        item = obj.AddComponent <UIMapItem>();

        AddObjToMap(obj);
        info.obj  = obj;
        info.type = type;


        item.type      = type;
        item.iDelegate = this;
        item.info      = info;

        obj.transform.localPosition = new Vector3(0, 0, rootPosZ - 1);
        float w, h;

        w = meshRoad.roadWidth;
        h = meshRoad.roadWidth;
        item.UpdateItem(w, h);
        return(info);
    }
Esempio n. 2
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;
        }
    }
Esempio n. 3
0
 public void OnTileItemTouchUp(UIMapItem item, PointerEventData eventData)
 {
     Debug.Log("GameCodeCar::OnTileItemTouchUp ");
     if (item == uiCar)
     {
         uiCar.OnRun();
     }
 }
Esempio n. 4
0
 private void InitMapItems()
 {
     string[] paths = System.IO.Directory.GetFiles(GetMapDirectory(), "*.map");
     Array.Sort(paths);
     for (int i = 0; i < paths.Length; i++)
     {
         UIMapItem item = Instantiate(mapItem);
         item.Init(paths[i], SetSelectMap);
         item.transform.SetParent(mapScroll.content, false);
     }
 }
Esempio n. 5
0
    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();
    }
Esempio n. 6
0
    void CreateMapItem(MapTileInfo info)
    {
        Vector3 posworld = MapUtils.GetPositionCenter(info.tileX, info.tileY, mapSizeX, mapSizeY, sizeRect);

        posworld.z = rootPosZ - 1;
        float w, h;

        w = meshRoad.roadWidth;
        h = w;
        // Vector2 posworld = mainCam.ScreenToWorldPoint(pos);

        if (info.type == UIMapItem.ItemType.ROAD_TILE)
        {
            meshRoad.AddPoint(posworld);
        }

        if ((info.type == UIMapItem.ItemType.FLAG) || (info.type == UIMapItem.ItemType.TREE) || (info.type == UIMapItem.ItemType.CAR))
        {
            GameObject obj = new GameObject("item_" + info.type.ToString());
            //AppSceneBase.main.AddObjToMainWorld(obj);
            obj.transform.parent        = this.gameObject.transform;
            obj.transform.localScale    = new Vector3(1f, 1f, 1f);
            obj.transform.localPosition = new Vector3(posworld.x, posworld.y, rootPosZ - 1);
            if (info.type == UIMapItem.ItemType.CAR)
            {
                uiCar                   = obj.AddComponent <UICar>();
                uiCar.type              = info.type;
                uiCar.iDelegate         = this;
                uiCar.sizeRect          = sizeRect;
                uiCar.uiCmdBarRun       = uiCmdBarRun;
                uiCar.localPositionInit = obj.transform.localPosition;
                uiCar.SetMapSize(mapSizeX, mapSizeY);
                uiCar.UpdateGuankaItem(itmeInfoGuanka);
                uiCar.UpdateItem(w, h);
            }
            else
            {
                UIMapItem item = obj.AddComponent <UIMapItem>();
                item.type       = info.type;
                item.enableMove = false;
                item.UpdateItem(w, h);
            }

            //
        }
    }
Esempio n. 7
0
 public void OnTileItemTouchMove(UIMapItem item, PointerEventData eventData)
 {
 }