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); }
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 OnTileItemTouchUp(UIMapItem item, PointerEventData eventData) { Debug.Log("GameCodeCar::OnTileItemTouchUp "); if (item == uiCar) { uiCar.OnRun(); } }
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); } }
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(); }
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); } // } }
public void OnTileItemTouchMove(UIMapItem item, PointerEventData eventData) { }