public void Show()
 {
     gameObject.SetActive(true);
     equipSlot.ShowEqipSlot(character);
     equipSlot.Select();
     equipParameter.ShowParameter(character);
 }
Exemple #2
0
    public void ShowWeaponList(CharacterData character)
    {
        //クリック 武器を装備 パラメータを更新 スロットを更新 リストアイテムを更新(E)
        //ホバー  説明を表示 パラメータを変更
        //外す   武器を外す パラメータを更新 スロットを更新 リストアイテムを更新(E)
        MenuWindow.instance.focusWindow = this;
        MenuWindow.instance.menuGuide.Show("どの武器を装備しますか");
        ClearEquipList();
        List <Weapon> weapons = InventorySystem.GetEquipments().Where(x => x is Weapon).Select(x => x as Weapon).ToList();

        if (weapons.Count == 0)
        {
            return;
        }
        foreach (var weapon in weapons)
        {
            SelectableButton _selectableButton = Instantiate(selectableButton, list.transform);
            TextMeshProUGUI  buttonText        = _selectableButton.GetComponentInChildren <TextMeshProUGUI>();
            buttonText.text = weapon.name;
            _selectableButton.onClick.AddListener(() =>
            {
                character.equip.weapon = weapon;
                equipSlot.ShowEqipSlot(character);
                equipParameter.ShowParameter(character);
                buttonText.text = "E " + weapon.name;
            });

            _selectableButton.onHover = (() =>
            {
                equipParameter.ShowParameter(character, weapon);
                description.text = weapon.description;
            });
            //_selectableButton.transform.SetParent(list.transform);
            selectableButtons.Add(_selectableButton);
        }
        selectableButtons[0].Select();
    }