private IEnumerator buy() { m_goList.SetActive(true); m_goDetail.SetActive(false); m_goPrompt.SetActive(false); for (int i = 0; i < m_shopItemButtonArr.Length; i++) { if (i < m_itemLineup.Length) { m_shopItemButtonArr[i].gameObject.SetActive(true); int item_id = m_itemLineup[i].item_id; m_shopItemButtonArr[i].m_txtName.text = m_itemLineup[i].name; m_shopItemButtonArr[i].m_txtPrice.text = m_itemLineup[i].price.ToString(); m_shopItemButtonArr[i].m_btn.onClick.AddListener(() => { MasterItemParam master = DataManager.Instance.master_item.list.Find(p => p.item_id == item_id); show_detail(master); show_buy_prompt(master); }); } else { m_shopItemButtonArr[i].gameObject.SetActive(false); } } yield return(null); }
private IEnumerator sell(List <DataItemParam> _list) { m_goList.SetActive(true); m_goDetail.SetActive(false); m_goPrompt.SetActive(false); for (int i = 0; i < m_shopItemButtonArr.Length; i++) { if (i < _list.Count) { m_shopItemButtonArr[i].gameObject.SetActive(true); int item_id = _list[i].item_id; DataItemParam data = _list[i]; MasterItemParam master = DataManager.Instance.master_item.list.Find(p => p.item_id == item_id); m_shopItemButtonArr[i].m_txtName.text = master.name; m_shopItemButtonArr[i].m_txtPrice.text = master.price.ToString(); m_shopItemButtonArr[i].m_btn.onClick.AddListener(() => { show_detail(master); show_sell_prompt(master, data); }); } else { m_shopItemButtonArr[i].gameObject.SetActive(false); } } yield return(null); }
private void show_buy_prompt(MasterItemParam _master) { m_goPrompt.SetActive(true); m_btnPromptYes.onClick.RemoveAllListeners(); m_btnPromptYes.onClick.AddListener(() => { m_goPrompt.SetActive(false); //DataManager.Instance.gold -= _master.price; if (_master.category == "equip") { DataItemParam new_item = new DataItemParam(); new_item.item_id = _master.item_id; DataManager.Instance.data_item_equip.AddItem(new_item); } else { DataItemParam new_item = new DataItemParam(); new_item.item_id = _master.item_id; DataManager.Instance.data_item_consume.AddItem(new_item); } DataManager.Instance.gold -= _master.price; m_txtGold.text = string.Format("{0}g", DataManager.Instance.gold); }); if (_master.price <= DataManager.Instance.gold) { m_txtPrompt.text = string.Format("{0}で購入しますか", _master.price); m_btnPromptYes.interactable = true; m_btnPromptNo.interactable = true; } else { m_txtPrompt.text = string.Format("<color=red>ゴールドが不足しています</color>"); m_btnPromptYes.interactable = false; m_btnPromptNo.interactable = true; } //DataManager.Instance.gold -= _master.price; bool bHasLimit; if (_master.category == "equip") { bHasLimit = DataManager.Instance.data_item_equip.list.Count < item_limit; if (bHasLimit == false) { m_txtPrompt.text = string.Format("<color=red>装備が持ちきれません</color>"); } } else { bHasLimit = DataManager.Instance.data_item_consume.list.Count < item_limit; if (bHasLimit == false) { m_txtPrompt.text = string.Format("<color=red>アイテムが持ちきれません</color>"); } } m_btnPromptYes.interactable = bHasLimit; }
private void show_sell_prompt(MasterItemParam _master, DataItemParam _data) { m_goPrompt.SetActive(true); m_btnPromptYes.onClick.RemoveAllListeners(); m_btnPromptYes.onClick.AddListener(() => { m_goPrompt.SetActive(false); //DataManager.Instance.gold -= _master.price; if (_master.category == "equip") { DataManager.Instance.data_item_equip.list.Remove(_data); } else { DataManager.Instance.data_item_consume.list.Remove(_data); } DataManager.Instance.gold += _master.sell_price; m_txtGold.text = string.Format("{0}g", DataManager.Instance.gold); }); m_txtPrompt.text = string.Format("{0}で売却しますか", _master.sell_price); m_btnPromptYes.interactable = true; m_btnPromptNo.interactable = true; }
private void OnEnable() { if (m_iSelectingItemSerial.Value == 0) { return; } m_dataItemParam = DataManager.Instance.m_dataItem.list.Find(p => p.item_serial == m_iSelectingItemSerial.Value); m_masterItemParam = DataManager.Instance.m_masterItem.list.Find(p => p.item_id == m_dataItemParam.item_id); m_headerBanner.Initialize(m_dataItemParam); m_btnUse.gameObject.SetActive(m_masterItemParam.field); m_txtDescription.text = m_masterItemParam.description; // 味方全体の場合はいきなり使うボタンが押せる if (m_masterItemParam.item_target == "friendall") { m_btnUse.interactable = true; } else if (m_masterItemParam.item_target == "friendone") { m_btnUse.interactable = false; m_fieldMenu.OnDataUnitParam.AddListener(SelectCardUnit); } else { Debug.LogError($"okashi_item_target:{m_masterItemParam.item_target}"); } }
public void Initialize(DataItemParam _param) { m_dataItemParam = _param; MasterItemParam master = DataManager.Instance.m_masterItem.list .Find((p => p.item_id == _param.item_id)); Initialize(master); }
public void AddItem(MasterItemParam _master) { DataItemParam item = new DataItemParam(); item.item_id = _master.item_id; item.item_serial = GetNewSerial(); list.Add(item); }
public void Initialize(MasterItemParam _master) { m_masterItemParam = _master; m_txtItemName.text = _master.item_name; if (_master.so_item != null) { m_imgIcon.sprite = _master.so_item.icon; } }
public MasterItemParam GetItem() { MasterItemParam master = DataManager.Instance.m_masterItem.list .Find(p => p.item_id == item_id); if (master != null) { DataManager.Instance.m_dataItem.AddItem(master); } return(master); }
public void Begin(int[] _lineup, Action _onFinished) { open(); int lineup_num = 0; foreach (int item_id in _lineup) { if (item_id != 0) { lineup_num += 1; } } m_itemLineup = new MasterItemParam[lineup_num]; for (int i = 0; i < lineup_num; i++) { MasterItemParam master = DataManager.Instance.master_item.list.Find(p => p.item_id == _lineup[i]); //Debug.Log(master); //Debug.Log(master.name); m_itemLineup[i] = master; } m_btnBuy.onClick.RemoveAllListeners(); m_btnSellItem.onClick.RemoveAllListeners(); m_btnSellEquip.onClick.RemoveAllListeners(); m_btnBuy.onClick.AddListener(() => { StartCoroutine(buy()); }); m_btnSellItem.onClick.AddListener(() => { StartCoroutine(sell(DataManager.Instance.data_item_consume.list)); }); m_btnSellEquip.onClick.AddListener(() => { StartCoroutine(sell(DataManager.Instance.data_item_equip.list)); }); m_btnExit.onClick.RemoveAllListeners(); m_btnExit.onClick.AddListener(() => { close(); _onFinished.Invoke(); }); }
private void clear_items() { if (item_list != null) { foreach (MenuItemsButton btn in item_list) { Destroy(btn.gameObject); } item_list.Clear(); } item_list = new List <MenuItemsButton>(); for (int i = 0; i < 10; i++) { GameObject inst = Instantiate( m_prefItemButton, m_rootItemList.transform); inst.SetActive(true); MenuItemsButton script = inst.GetComponent <MenuItemsButton>(); if (i < DataManager.Instance.data_item_consume.list.Count) { DataItemParam data = DataManager.Instance.data_item_consume.list[i]; MasterItemParam master = DataManager.Instance.master_item.list.Find(p => p.item_id == DataManager.Instance.data_item_consume.list[i].item_id); script.m_txtName.text = master.name; script.m_btn.onClick.AddListener(() => { m_iSelectedItemSerial = data.item_serial; OnUpdate = select_chara; es.SetSelectedGameObject(null); m_btnDiscard.interactable = true; foreach (CharaSlot cs in chara_slot_list) { cs.m_btn.interactable = true; } }); } else { script.m_txtName.text = ""; } item_list.Add(script); } }
public void top(bool _bInit) { if (_bInit) { m_btnUse.interactable = false; m_btnDiscard.interactable = false; m_btnUse.onClick.AddListener(() => { DataItemParam data_item = DataManager.Instance.data_item_consume.list.Find(p => p.item_serial == m_iSelectedItemSerial); MasterItemParam master_item = DataManager.Instance.master_item.list.Find(p => p.item_id == data_item.item_id); Debug.Log(string.Format("{0}を使った", master_item.name)); DataManager.Instance.data_item_consume.list.Remove(data_item); clear_items(); clear_charaslot(); }); m_btnDiscard.onClick.AddListener(() => { Debug.Log(m_iSelectedItemSerial); DataItemParam data_item = DataManager.Instance.data_item_consume.list.Find(p => p.item_serial == m_iSelectedItemSerial); MasterItemParam master_item = DataManager.Instance.master_item.list.Find(p => p.item_id == data_item.item_id); Debug.Log(string.Format("{0}を捨てた", master_item.name)); DataManager.Instance.data_item_consume.list.Remove(data_item); clear_items(); clear_charaslot(); }); m_prefItemButton.SetActive(false); clear_items(); // CharaSlot m_prefCharaSlot.SetActive(false); clear_charaslot(); } }
private void show_detail(MasterItemParam _master) { m_goDetail.SetActive(true); m_shopItemDetail.m_txtName.text = _master.name; m_shopItemDetail.m_txtDescription.text = _master.description; }