Esempio n. 1
0
    /// <summary>
    /// アイテム説明のセット
    /// </summary>
    void SetItemDescription()
    {
        for (int i = (int)LocalizeScriptableObject.LocalizeText.NoItemDescription; i < (int)LocalizeScriptableObject.LocalizeText.EnumLength; i++)
        {
            //NOTE:配列が1から始まる(上記の最初の???の分)のに対し、アイテム説明は0から始まらないので、その差分を引いた
            int itemNum = i - (int)LocalizeScriptableObject.LocalizeText.NoItemDescription;
            itemDescription.SetItemDescription(itemNum, localizeText[i]);
        }

        //ローカライズした瞬間だけアイテムボタンを押さなくてもローカライズさせる
        itemDescription.OnClickDescription(itemDescription.GetSelectingNum());
    }
Esempio n. 2
0
    List <GameObject> buttons = new List <GameObject>(); //作ったボタンのリスト

    /// <summary>
    /// 開始処理
    /// </summary>
    void Start()
    {
        //アイテムボタンをを複製して、スクロールビューオブジェクトの子にする。
        for (int i = 0; i < ItemManager.ItemNum; i++)
        {
            //AddListener はアクションを渡す必要があるので、ラムダ式で簡単な無名関数を作って渡すようにする
            int index = i;

            GameObject duplicateButton = Instantiate(originalButton);
            duplicateButton.GetComponent <Button>().onClick.AddListener(() => itemDescription.OnClickDescription(index));
            duplicateButton.transform.parent     = scrollViewContent.transform;
            duplicateButton.transform.localScale = new Vector3(1, 1, 1);
            buttons.Add(duplicateButton);
        }

        //スプライトアトラスの名前習得
        for (int j = 0; j < atlasKey.Length; j++)
        {
            atlasKey[j] = GetAtlasKey(j);
        }

        //ボタンが生成されているなら
        if (buttons.Count == ItemManager.ItemNum)
        {
            //ボタンのアイテムゲット
            for (int i = 0; i < ItemManager.ItemNum; i++)
            {
                Image      buttonImage = buttons[i].transform.FindChild("ItemImage").GetComponent <Image>(); //各アイテムボタンのイメージ
                GameObject newItemText = buttons[i].transform.FindChild("NewImage").gameObject;              //New!!というテキスト

                //ゲットしているなら実態、していないならシルエットのみ
                if (itemManager.GetIsHasItem(i))
                {
                    buttonImage.sprite = existenceSpriteAtlas.GetSprite(atlasKey[i]);

                    //テキスト表示
                    if (itemManager.GetIsNewText(i))
                    {
                        newItemText.SetActive(true);
                    }
                }
                else
                {
                    buttonImage.sprite = existenceSpriteAtlas.GetSprite(atlasKey[i]);
                    buttonImage.color  = Color.black;
                }
            }
        }
    }