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;
            }
        }
    }
示例#7
0
    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);
    }
示例#9
0
 public void SelectTurret(TurretSelectButton tsb)
 {
     SelectTurret(tsb.index);
 }