public void Initialize(DataEquipParam _data, MasterEquipParam _master) { Clear(); m_txtEquipName.text = _master != null ? _master.equip_name : "なし"; if (_master == null) { return; } FieldInfo[] infoArr = new StatusParam().GetType().GetFields(); foreach (FieldInfo info in infoArr) { FieldInfo master_info = _master.GetType().GetField(info.Name); if (master_info != null) { int iParam = (int)master_info.GetValue(_master); if (0 != iParam) { string strMessage = ""; if (0 < iParam) { strMessage = $"{info.Name}<color=blue>+{iParam}</color>"; } else if (iParam < 0) { strMessage = $"{info.Name}<color=red>-{iParam}</color>"; } GameObject go = Instantiate(m_prefParamHolder, m_goHolderRoot.transform) as GameObject; go.GetComponent <TextMeshProUGUI>().text = strMessage; go.SetActive(true); m_goParamHolderList.Add(go); } } } }
public void Initialize(DataUnitParam _dataUnit, List <MasterEquipParam> _masterList, List <DataEquipParam> _dataList) { MasterUnitParam masterUnit = DataManager.Instance.m_masterUnit.list.Find(p => p.unit_id == _dataUnit.unit_id); m_imgUnitFront.enabled = true; m_imgUnitFront.sprite = masterUnit.so_unit_data.unit_front; DataEquipParam dataEquip1 = _dataList.Find(p => p.equip_serial == _dataUnit.equip1); DataEquipParam dataEquip2 = _dataList.Find(p => p.equip_serial == _dataUnit.equip2); DataEquipParam dataEquip3 = _dataList.Find(p => p.equip_serial == _dataUnit.equip3); DataEquipParam dataEquip4 = _dataList.Find(p => p.equip_serial == _dataUnit.equip4); DataEquipParam dataEquip5 = _dataList.Find(p => p.equip_serial == _dataUnit.equip5); DataEquipParam dataEquip6 = _dataList.Find(p => p.equip_serial == _dataUnit.equip6); MasterEquipParam masterEquip1 = dataEquip1 == null ? null : _masterList.Find(p => p.equip_id == dataEquip1.equip_id); MasterEquipParam masterEquip2 = dataEquip2 == null ? null : _masterList.Find(p => p.equip_id == dataEquip2.equip_id); MasterEquipParam masterEquip3 = dataEquip3 == null ? null : _masterList.Find(p => p.equip_id == dataEquip3.equip_id); MasterEquipParam masterEquip4 = dataEquip4 == null ? null : _masterList.Find(p => p.equip_id == dataEquip4.equip_id); MasterEquipParam masterEquip5 = dataEquip5 == null ? null : _masterList.Find(p => p.equip_id == dataEquip5.equip_id); MasterEquipParam masterEquip6 = dataEquip6 == null ? null : _masterList.Find(p => p.equip_id == dataEquip6.equip_id); equip1.Initialize(masterEquip1, dataEquip1, 1); equip2.Initialize(masterEquip2, dataEquip2, 2); equip3.Initialize(masterEquip3, dataEquip3, 3); equip4.Initialize(masterEquip4, dataEquip4, 4); equip5.Initialize(masterEquip5, dataEquip5, 5); equip6.Initialize(masterEquip6, dataEquip6, 6); }
public void RefreshAssist(List <MasterEquipParam> _master_list, List <DataEquipParam> _data_list) { int[] equip_arr = new int[] { equip1, equip2, equip3, equip4, equip5, equip6, }; assist_param = new StatusParam(); foreach (int equip_serial in equip_arr) { DataEquipParam data = _data_list.Find(p => p.equip_serial == equip_serial); MasterEquipParam equip = data == null ? null : _master_list.Find(p => p.equip_id == data.equip_id); if (equip != null) { FieldInfo[] infoArr = assist_param.GetType().GetFields(); foreach (FieldInfo info in infoArr) { FieldInfo master_info = equip.GetType().GetField(info.Name); FieldInfo assist_info = assist_param.GetType().GetField(info.Name); int iMasterParam = (int)master_info.GetValue(equip); int iAssistParam = (int)assist_info.GetValue(assist_param); assist_info.SetValue(assist_param, iMasterParam + iAssistParam); } } } }
public int Add(MasterEquipParam _master) { DataEquipParam data = new DataEquipParam(); data.equip_id = _master.equip_id; data.equip_serial = getNewSerial(); data.equip_unit = 0; list.Add(data); return(data.equip_serial); }
public void ShowEquip() { RPGKitUtil.DeleteObjects <EquipBanner>(m_tfRootBanner.gameObject); RPGKitUtil.DeleteObjects <BannerItem>(m_tfRootBanner.gameObject); m_itemBannerList.Clear(); List <DataEquipParam> type_list = DataManager.Instance.m_dataEquip.list; foreach (DataEquipParam data in type_list) { EquipBanner banner = Instantiate(m_prefBannerEquip, m_tfRootBanner).GetComponent <EquipBanner>(); banner.gameObject.SetActive(true); MasterEquipParam master = DataManager.Instance.m_masterEquip.list.Find(p => p.equip_id == data.equip_id); banner.Initialize(master, data); } }
public void Show(List <DataEquipParam> _list, string _strEquipType) { List <DataEquipParam> type_list = _list.FindAll(p => p.equip_type == _strEquipType); foreach (DataEquipParam data in type_list) { EquipBanner banner = Instantiate(m_prefBanner, m_tfBannerRoot).GetComponent <EquipBanner>(); banner.gameObject.SetActive(true); MasterEquipParam master = DataManager.Instance.m_masterEquip.list.Find(p => p.equip_id == data.equip_id); banner.Initialize(master, data); banner.OnclickDataEquip.AddListener((value) => { OnDataEquip.Invoke(value); foreach (EquipBanner b in m_equipBannerList) { b.Select(b.dataEquipParam == value); } }); m_equipBannerList.Add(banner); } }
public void Initialize(MasterEquipParam _equip, DataEquipParam _dataEquip, int _iIndex) { m_masterEquipParam = _equip; m_dataEquipParam = _dataEquip; if (m_goEquipUnitRoot != null) { if (0 < m_dataEquipParam.equip_unit) { m_goEquipUnitRoot.SetActive(true); MasterUnitParam master_unit = DataManager.Instance.m_masterUnit.list.Find(p => p.unit_id == m_dataEquipParam.equip_unit); m_imgEquipUnit.sprite = master_unit.so_unit_data.face_icon; } else { m_goEquipUnitRoot.SetActive(false); } } m_iEquipIndex = _iIndex; if (m_imgIcon != null) { m_imgIcon.sprite = _equip != null ? _equip.so_equip.icon : null; } if (m_txtName != null) { m_txtName.text = _equip != null ? _equip.equip_name : "なし"; } if (m_txtDesc != null) { m_txtDesc.text = ""; } }
public void Initialize(MasterEquipParam _masterEquip, DataEquipParam _dataEquip) { Initialize(_masterEquip, _dataEquip, 0); }
private void Awake() { m_btnRemove.onClick.AddListener(() => { FieldInfo fieldEquipSerial = m_dataUnitSelected.GetType().GetField($"equip{m_iSelectingEquipIndex}"); int equip_serial = (int)fieldEquipSerial.GetValue(m_dataUnitSelected); if (0 < equip_serial) { DataEquipParam data_equip = DataManager.Instance.m_dataEquip.list.Find(p => p.equip_serial == equip_serial); data_equip.equip_unit = 0; foreach (EquipBanner banner in m_equipList.m_equipBannerList) { if (banner.dataEquipParam.equip_serial == equip_serial) { // 少し楽してます banner.m_goEquipUnitRoot.SetActive(false); } } } fieldEquipSerial.SetValue(m_dataUnitSelected, 0); m_equipInfoCurrent.Clear(); ResetStatusView(); }); // 装備するボタン m_btnSet.onClick.AddListener(() => { m_btnSet.interactable = false; FieldInfo fieldEquipSerial = m_dataUnitSelected.GetType().GetField($"equip{m_iSelectingEquipIndex}"); int tempEquipSerial = (int)fieldEquipSerial.GetValue(m_dataUnitSelected); if (0 < tempEquipSerial && m_dataEquipCurrent != null) { foreach (EquipBanner banner in m_equipList.m_equipBannerList) { if (banner.dataEquipParam.equip_serial == m_dataEquipCurrent.equip_serial) { banner.HideIcon(); } } m_dataEquipCurrent.equip_unit = 0; } fieldEquipSerial.SetValue(m_dataUnitSelected, m_dataEquipChange.equip_serial); m_dataEquipCurrent = m_dataEquipChange; m_dataEquipChange = null; m_dataEquipCurrent.equip_unit = m_dataUnitSelected.unit_id; foreach (EquipBanner banner in m_equipList.m_equipBannerList) { if (banner.dataEquipParam.equip_serial == m_dataEquipCurrent.equip_serial) { // 少し楽してます banner.ShowIcon(m_dataUnitSelected); } } MasterEquipParam master_equip = DataManager.Instance.m_masterEquip.list.Find(p => p.equip_id == m_dataEquipCurrent.equip_id); m_equipInfoCurrent.Initialize(m_dataEquipChange, master_equip); m_equipInfoChange.Clear(); ResetStatusView(); }); m_btnReturn.onClick.AddListener(() => UIAssistant.Instance.ShowParentPage()); #region Event Unit Icon foreach (EquipUnitIcon icon in m_equipUnitIconList) { icon.GetComponent <Button>().onClick.AddListener(() => { m_btnRemove.interactable = false; m_btnSet.interactable = false; m_dataUnitSelected = DataManager.Instance.m_dataUnit.list .Find(p => p.unit_id == icon.m_masterUnitParam.unit_id); m_masterUnitSelected = DataManager.Instance.m_masterUnit.list.Find(p => p.unit_id == m_dataUnitSelected.unit_id); ResetStatusView(); m_equipList.Clear(); foreach (EquipUnitIcon in_icon in m_equipUnitIconList) { in_icon.Select(icon.m_masterUnitParam); } m_equipUnitView.Select(0); }); } #endregion #region 装備中のアイコンとか m_equipUnitView.OnClickEquipIndex.AddListener((value) => { m_iSelectingEquipIndex = value; m_btnSet.interactable = false; m_equipUnitView.Select(value); if (0 < value) { FieldInfo fieldEquipType = m_masterUnitSelected.GetType().GetField($"equip_type{value}"); string equip_type = fieldEquipType.GetValue(m_masterUnitSelected).ToString(); FieldInfo fieldEquipSerial = m_dataUnitSelected.GetType().GetField($"equip{value}"); int equip_serial = (int)fieldEquipSerial.GetValue(m_dataUnitSelected); m_dataEquipCurrent = DataManager.Instance.m_dataEquip.list.Find(p => p.equip_serial == equip_serial); MasterEquipParam masterEquipParam = null; if (m_dataEquipCurrent != null) { masterEquipParam = DataManager.Instance.m_masterEquip.list.Find(p => p.equip_id == m_dataEquipCurrent.equip_id); } m_equipInfoCurrent.Initialize(m_dataEquipCurrent, masterEquipParam); m_equipInfoChange.Clear(); ResetStatusView(); m_btnRemove.interactable = m_dataEquipCurrent != null; m_equipList.Clear(); m_equipList.Show(DataManager.Instance.m_dataEquip.list, equip_type); } }); #endregion // 装備するためのリスト m_equipList.OnDataEquip.AddListener((data) => { m_equipInfoChange.Clear(); m_dataEquipChange = data; MasterEquipParam master = null; if (m_dataEquipChange != null) { master = DataManager.Instance.m_masterEquip.list.Find(p => p.equip_id == m_dataEquipChange.equip_id); } // ダミーの装備を変更 FieldInfo equipPosition = m_dummyUnit.GetType().GetField($"equip{m_iSelectingEquipIndex}"); equipPosition.SetValue(m_dummyUnit, data.equip_serial); m_dummyUnit.RefreshAssist(DataManager.Instance.m_masterEquip.list, DataManager.Instance.m_dataEquip.list); m_equipStatusView.Initialize(m_dataUnitSelected, m_dummyUnit); if (data.equip_unit != 0 && data.equip_unit != m_dataUnitSelected.unit_id) { m_btnSet.interactable = false; } else { m_btnSet.interactable = true; } m_equipInfoChange.Initialize(m_dataEquipChange, master); }); }