Example #1
0
    protected void UpdateScrollView()
    {
        if (scroll == null)
        {
            return;
        }

        if (buttons.Count > 0)
        {
            MagiakerButton button    = buttons[buttons.Count - 1];
            Vector2        buttonPos = GetButtonPos(buttons.Count - 1);
            buttonPos.y -= buttons[0].rect.sizeDelta.y / 2;
            scroll.content.sizeDelta = new Vector2(scroll.content.sizeDelta.x, -buttonPos.y < defaultHeight ? defaultHeight : -buttonPos.y);
            //Vector2 defPos = new Vector2(pos.x, scroll.content.sizeDelta.y / 2 - button.rect.sizeDelta.y / 2 - 165f);
            //Vector2 defPos = new Vector2(pos.x, pos.y);
            for (int i = 0; i < buttons.Count; i++)
            {
                //buttons[i].transform.localPosition = defPos + GetButtonPos(i) - pos;
                //buttons[i].rect.anchoredPosition = pos;
                buttons[i].rect.localPosition = GetButtonPos(i);
            }
        }
        else
        {
            scroll.content.sizeDelta = new Vector2(scroll.content.sizeDelta.x, defaultHeight);
        }
    }
Example #2
0
    /// <summary>
    /// ボタンの生成 *後から生成する用
    /// </summary>
    /// <returns></returns>
    protected MagiakerButton AddButton(List <string> strings, List <Sprite> sprites)
    {
        MagiakerButton button = Instantiate(baseButton).Init(strings, sprites);

        button.transform.SetParent(parent);
        button.transform.localScale    = Vector2.one;//親が小さければボタンも小さくする
        button.transform.localPosition = GetButtonPos(buttons.Count);
        buttons.Add(button);
        return(button);
    }
Example #3
0
 private void AddButton()
 {
     //ボタンが足りなければ追加する
     while (buttons.Count < selectMagick.Bullets.Count)
     {
         int            num    = buttons.Count;
         MagiakerButton button = AddButton(new List <string>(), new List <Sprite>());
         button.button.onClick.AddListener(() => OnClick(num));
     }
 }
Example #4
0
    private Text text;//ビルド後のデータで、このTextを消去するとスクロールバー内が表示されない場合あり。

    protected override void Update()
    {
        base.Update();
        if (selectMagick != MagickMakeManager.Instance.magick)
        {
            SelectMagicDate(MagickMakeManager.Instance.magick);
        }

        //弾道が追加・削除されていたら更新する
        if (IsButtonUpdate())
        {
            AddButton();
            for (int i = 0; i < buttons.Count; i++)
            {
                if (i < selectMagick.Bullets.Count)
                {
                    if (buttons[i].texts[0].text != selectMagick.Bullets[i].bullet.name)
                    {
                        buttons[i].texts[0].text = selectMagick.Bullets[i].bullet.GetBulletName();
                    }
                }
                else
                {
                    //ボタンの数が多ければ、必要無い分は削除する
                    MagiakerButton button = buttons[i--];
                    buttons.Remove(button);
                    Destroy(button.gameObject);
                }
            }
            bulletsCount = selectMagick.Bullets.Count;
        }
        else if (selectMagick == null)
        {
            MagiakerButton button;
            //魔法が存在しないなら全てのボタンを消去する
            while (buttons.Count > 0)
            {
                button = buttons[0];
                buttons.Remove(button);
                Destroy(button.gameObject);
            }
        }

        text.text = "aaa";//buttons[0].transform.localPosition.ToString();
    }
Example #5
0
    /// <summary>
    /// ボタンリストの生成
    /// </summary>
    /// <param name="stirngs"></param>
    /// <param name="sprites"></param>
    protected virtual void MakeButtons(List <List <string> > strings, List <List <Sprite> > sprites)
    {
        //大きいリストをループ数の基準にする
        int           Length = strings.Count < sprites.Count ? sprites.Count : strings.Count;
        List <string> str;
        List <Sprite> spr;

        for (int i = 0; i < Length; i++)
        {
            str = i < strings.Count ? strings[i] : null;
            spr = i < sprites.Count ? sprites[i] : null;
            MagiakerButton b = MakeButton(str, spr);
            buttons.Add(b);

            b.transform.SetParent(parent);
            b.transform.localScale    = baseButton.transform.localScale;         //新しい親の大きさに合わせてサイズ調整
            b.transform.localPosition = GetButtonPos(i);
        }
    }