private TurretSelectButton CreateSelectButton(Transform parent, int id) { GameObject obj = Instantiate(buttonPrefab, parent); TurretSelectButton tsb = obj.GetComponent <TurretSelectButton>(); tsb.SetID(id); return(tsb); }
private void CancelSelectFromDownButton(TurretSelectButton tsb) { if (tsb.turretID != 0) { for (int i = 0; i < upButtons.Count; i++) { if (upButtons [i].turretID == tsb.turretID) { CancelSelect(upButtons[i]); return; } } } }
private void CreateTurretSelectUI() { //上半部分的按钮:单机选择,再次单击取消选择 upButtons = new List <TurretSelectButton>(); for (int i = 0; i < turretList.Count; i++) { TurretSelectButton tsb = CreateSelectButton(turret_up.transform, turretList[i]); tsb.button.onClick.AddListener( delegate { //Debug.Log("按下"); if (!tsb.selected) { Select(tsb); } else { CancelSelect(tsb); } } ); tsb.SetSelected(false); upButtons.Add(tsb); } //下半部分的按钮 downButtons = new TurretSelectButton[turretCount]; for (int j = 0; j < turretCount; j++) { TurretSelectButton tsb = CreateSelectButton(turret_down.transform, 0); tsb.index = j; tsb.button.interactable = true; tsb.SetSelected(true); tsb.SetID(0); downButtons[j] = tsb; tsb.button.onClick.AddListener( delegate { CancelSelectFromDownButton(tsb); } ); } }
public void SelectTurret(TurretSelectButton tsb) { /* * enemy.SetActive(false); * turret.SetActive(true);*/ if (currentManual != 0) { return; } buttonList_turret[selected_turret].SetSelected(false); tsb.SetSelected(true); selected_turret = tsb.index; ShowTurretInfo(tsb.turretID); }
public GameObject AddTurretButton(int turretID) { GameObject button = Instantiate(buttonPrefab_turret, layout_turret); TurretSelectButton tsb = button.GetComponent <TurretSelectButton>(); tsb.SetID(turretID); tsb.button.onClick.AddListener( delegate { SelectTurret(tsb); } ); tsb.index = buttonList_turret.Count; tsb.SetSelected(selected_turret == tsb.index); buttonList_turret.Add(tsb); return(button); }
private void CancelSelect(TurretSelectButton tsb) { for (int i = 0; i < selected; i++) { if (downButtons [i].turretID == tsb.turretID) { for (int j = i; j < selected - 1; j++) { downButtons[j].SetID(downButtons [j + 1].turretID); } downButtons[selected - 1].SetID(0); tsb.SetSelected(false); //downButtons[i].SetID(0); selectableTurretList.Remove(tsb.turretID); selected--; return; } } }
public void CreateUIObjects() { HorizontalLayoutGroup layout = GetComponent <HorizontalLayoutGroup>(); layout.spacing = turretCount; RectTransform rt = GetComponent <RectTransform>(); rt.sizeDelta = new Vector2((turretCount) * 150 + 100, 150); buttons = new TurretSelectButton[turretCount]; for (int i = 0; i < turretCount; i++) { GameObject newButton = Instantiate(buttonPrefab, this.gameObject.transform); TurretSelectButton tsb = newButton.GetComponent <TurretSelectButton>(); //tsb.image.sprite = images[i]; tsb.SetID(selectableTurrets[i]); tsb.index = i; Text price = newButton.transform.Find("Price").GetComponent <Text>(); Text keycode = newButton.transform.Find("Keycode").GetComponent <Text>(); price.text = ("$" + TurretInfo.GetTurretInfo(tsb.turretID).price [0]); keycode.text = i + 1 + ""; tsb.button.onClick.AddListener( delegate { updateUI.HideTurretInfo(); SelectTurret(tsb); } ); tsb.SetSelected(false); buttons[i] = tsb; } }
private void Select(TurretSelectButton tsb) { //如已经选中,不能再选 for (int i = 0; i < selected; i++) { if (downButtons [i].turretID == tsb.turretID) { return; } } //已经选了最大数量,不能选 if (selected >= turretCount) { return; } //Debug.Log("选中"); //在下方显示图片 downButtons[selected++].SetID(tsb.turretID); selectableTurretList.Add(tsb.turretID); tsb.SetSelected(true); }
public void SelectTurret(TurretSelectButton tsb) { SelectTurret(tsb.index); }