GameObject createLayerUI(MapLayers.MapLayer item, int count) { GameObject layerUI = Instantiate(LayerUIPrefab) as GameObject; layerUI.transform.parent = ScrollViewContent.transform; layerUI.transform.localPosition = layerUIPos - new Vector3(0, count * layerUIHeight, 0); GameObject layerBtn = layerUI.transform.Find("LayerNameButton").gameObject; layerBtn.GetComponent <Button>().onClick.AddListener(() => onLayerBtnClicked(layerBtn, item)); layerBtn.GetComponentInChildren <Text>().text = item.LayerName; layerUI.transform.Find("LayerNameButton/Text").GetComponent <Text>().text = item.LayerName; GameObject visBtn = layerUI.transform.Find("VisibleButton").gameObject; changeVisibleTexture(visBtn.GetComponent <Image>(), item.IsVisible); visBtn.GetComponent <Button>().onClick.AddListener(() => onVisibleBtnClicked(visBtn, item)); GameObject modifyBtn = layerUI.transform.Find("ModifyButton").gameObject; if (item.LayerName == MapSetting.MAP_OBJECT_DEFAULT_LAYER_NAME) { modifyBtn.SetActive(false); } else { modifyBtn.GetComponent <Button>().onClick.AddListener(() => onModifyBtnClicked(layerBtn, item)); } return(layerUI); }
public void OnRenameLayer(InputField inputField) { string oldLayerName = modifyLayer.LayerName; string newLayerName = inputField.text; if (!string.IsNullOrEmpty(newLayerName)) { mapLayers.RenameLayer(modifyLayer.LayerName, newLayerName); MapLayers.MapLayer newLayer = mapLayers.GetMapLayer(newLayerName); if (newLayer != null) { //rename layer successfully string btnText = newLayerName; if (selectLayers == oldLayerName) { selectLayers = newLayerName; btnText = "[" + modifyLayer.LayerName + "]"; } modifyLayerBtnText.text = btnText; } } OnCloseModifyPanelBtnClicked(); }
void onModifyBtnClicked(GameObject btnGo, MapLayers.MapLayer layer) { GetComponent <MapUIController>().OnUIEditing(); modifyLayer = layer; modifyLayerBtnText = btnGo.GetComponentInChildren <Text>(); Debug.Log(btnGo + " " + modifyLayerBtnText); ModifyLayerPanel.SetActive(true); }
void onVisibleBtnClicked(GameObject btnGo, MapLayers.MapLayer layer) { bool curVisible = layer.IsVisible; bool newVisible = !curVisible; changeVisibleTexture(btnGo.GetComponent <Image>(), newVisible); mapLayers.VisibleLayer(layer.LayerName, newVisible); }
void onLayerBtnClicked(GameObject btnGo, MapLayers.MapLayer layer) { if (selectLayerBtnText != null) { string s = selectLayerBtnText.text; s = s.Trim(new char[] { '[', ']' });; selectLayerBtnText.text = s; } Text textUI = btnGo.GetComponentInChildren <Text>(); textUI.text = "[" + layer.LayerName + "]"; selectLayerBtnText = textUI; selectLayers = layer.LayerName; }
void UpdateUI() { for (int i = ScrollViewContent.transform.childCount - 1; i >= 0; i--) { Destroy(ScrollViewContent.transform.GetChild(i).gameObject); } int count = 0; IEnumerator layersItr = mapLayers.GetLayerIterator(); while (layersItr.MoveNext()) { MapLayers.MapLayer item = layersItr.Current as MapLayers.MapLayer; GameObject layerUI = createLayerUI(item, count); if (count == 0) { selectLayers = item.LayerName; onLayerBtnClicked(layerUI.transform.Find("LayerNameButton").gameObject, item); } count++; } }