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; } }
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); } // } }