Пример #1
0
 public void Initialize(DataUnitParam _unit, MasterUnitParam _master = null)
 {
     m_dataUnit = _unit;
     if (_master == null)
     {
         m_masterUnitParam = DataManager.Instance.m_masterUnit.list.Find(p => p.unit_id == _unit.unit_id);
     }
     else
     {
         m_masterUnitParam = _master;
     }
     if (m_btn == null)
     {
         m_btn = GetComponent <Button>();
     }
     m_btn.onClick.AddListener(() =>
     {
         m_onDataUnitParam.Invoke(m_dataUnit);
     });
     m_txtName.text = m_masterUnitParam.unit_name;
     RefreshParam();
     if (m_imgIcon != null)
     {
         m_imgIcon.sprite = m_masterUnitParam.so_unit_data.unit_left;
     }
 }
Пример #2
0
        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);
        }
Пример #3
0
 public void SelectCardUnit(DataUnitParam _dataUnitParam)
 {
     foreach (CardUnit card in m_cardUnitList)
     {
         card.SelectCard(card.IsUnit(_dataUnitParam));
     }
 }
Пример #4
0
        public void Diff(DataUnitParam _unit, DataUnitParam _change)
        {
            int iHP      = _change.GetStatus("hp") - _unit.GetStatus("hp");
            int iTP      = _change.GetStatus("tp") - _unit.GetStatus("tp");
            int iAttack  = _change.GetStatus("attack") - _unit.GetStatus("attack");
            int iDefense = _change.GetStatus("defense") - _unit.GetStatus("defense");
            int iSpeed   = _change.GetStatus("speed") - _unit.GetStatus("speed");
            int iMind    = _change.GetStatus("mind") - _unit.GetStatus("mind");
            int iWisdom  = _change.GetStatus("wisdom") - _unit.GetStatus("wisdom");

            int[] param_diff_arr = new int[]
            {
                iHP,
                iTP,
                iAttack,
                iDefense,
                iSpeed,
                iMind,
                iWisdom
            };
            int[] param_after_arr = new int[]
            {
                _change.GetStatus("hp"),
                _change.GetStatus("tp"),
                _change.GetStatus("attack"),
                _change.GetStatus("defense"),
                _change.GetStatus("speed"),
                _change.GetStatus("mind"),
                _change.GetStatus("wisdom")
            };

            TextMeshProUGUI[] tmp_arr = new TextMeshProUGUI[]
            {
                m_txtsetNext.m_txtHP,
                m_txtsetNext.m_txtTP,
                m_txtsetNext.m_txtAttack,
                m_txtsetNext.m_txtDefense,
                m_txtsetNext.m_txtSpeed,
                m_txtsetNext.m_txtMind,
                m_txtsetNext.m_txtWisdom,
            };
            for (int i = 0; i < param_diff_arr.Length; i++)
            {
                if (0 < param_diff_arr[i])
                {
                    tmp_arr[i].text = $"<color=blue>{param_after_arr[i]}(+{param_diff_arr[i].ToString()})</color>";
                    //tmp_arr[i].color = Color.blue;
                }
                else if (param_diff_arr[i] < 0)
                {
                    tmp_arr[i].text = $"<color=red>{param_after_arr[i]}({param_diff_arr[i].ToString()})</color>";
                }
                else
                {
                    tmp_arr[i].text = "";
                }
            }
        }
Пример #5
0
 public void ShowIcon(DataUnitParam _unit)
 {
     if (m_goEquipUnitRoot != null)
     {
         m_goEquipUnitRoot.SetActive(true);
         MasterUnitParam master_unit = DataManager.Instance.m_masterUnit.list.Find(p => p.unit_id == _unit.unit_id);
         m_imgEquipUnit.sprite = master_unit.so_unit_data.face_icon;
     }
 }
Пример #6
0
 public void AllCopy(DataUnitParam _unit)
 {
     Copy(_unit);
     equip1       = _unit.equip1;
     equip2       = _unit.equip2;
     equip3       = _unit.equip3;
     equip4       = _unit.equip4;
     equip5       = _unit.equip5;
     equip6       = _unit.equip6;
     assist_param = new StatusParam();
     assist_param.Copy(_unit.assist_param);
 }
Пример #7
0
        public void ResetStatusView()
        {
            m_dummyUnit = new DataUnitParam();
            m_dataUnitSelected.RefreshAssist(DataManager.Instance.m_masterEquip.list, DataManager.Instance.m_dataEquip.list);
            m_dummyUnit.AllCopy(m_dataUnitSelected);

            m_equipStatusView.Initialize(m_dataUnitSelected, m_dummyUnit);
            m_equipUnitView.Initialize(
                m_dataUnitSelected,
                DataManager.Instance.m_masterEquip.list,
                DataManager.Instance.m_dataEquip.list
                );
        }
Пример #8
0
        private void Show(DataUnitParam _unit)
        {
            m_goRoot.SetActive(true);

            _unit.RefreshAssist(DataManager.Instance.m_masterEquip.list, DataManager.Instance.m_dataEquip.list);

            m_txtLevel.text   = $"Level:{_unit.level}";
            m_txtHP.text      = $"HP:{_unit.hp_current}/{_unit.hp}";
            m_txtTP.text      = $"TP:{_unit.tp_current}/{_unit.tp}";
            m_txtAttack.text  = $"{_unit.GetStatus("attack")}";
            m_txtDefence.text = $"{_unit.GetStatus("defense")}";
            m_txtSpeed.text   = $"{_unit.GetStatus("speed")}";
            m_txtMind.text    = $"{_unit.GetStatus("mind")}";
            m_txtWisdom.text  = $"{_unit.GetStatus("wisdom")}";
        }
Пример #9
0
        public void Initialize(DataUnitParam _unit, DataUnitParam _change)
        {
            _unit.RefreshAssist(DataManager.Instance.m_masterEquip.list, DataManager.Instance.m_dataEquip.list);
            _change.RefreshAssist(DataManager.Instance.m_masterEquip.list, DataManager.Instance.m_dataEquip.list);

            m_txtsetPrev.SetComponent(transform.Find("paramRoot"), "params/txtPrev");
            m_txtsetNext.SetComponent(transform.Find("paramRoot"), "params/txtNext");

            m_txtsetPrev.m_txtHP.text      = _unit.GetStatus("hp").ToString();
            m_txtsetPrev.m_txtTP.text      = _unit.GetStatus("tp").ToString();
            m_txtsetPrev.m_txtAttack.text  = _unit.GetStatus("attack").ToString();
            m_txtsetPrev.m_txtDefense.text = _unit.GetStatus("defense").ToString();
            m_txtsetPrev.m_txtSpeed.text   = _unit.GetStatus("speed").ToString();
            m_txtsetPrev.m_txtMind.text    = _unit.GetStatus("mind").ToString();
            m_txtsetPrev.m_txtWisdom.text  = _unit.GetStatus("wisdom").ToString();

            Diff(_unit, _change);
        }
Пример #10
0
 public bool IsUnit(DataUnitParam _unitParam)
 {
     return(m_dataUnit == _unitParam);
 }
Пример #11
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);
            });
        }
Пример #12
0
 private void SelectCardUnit(DataUnitParam _selectUnit)
 {
     m_selectingUnitParam = _selectUnit;
     m_fieldMenu.SelectCardUnit(m_selectingUnitParam);
     m_btnUse.interactable = true;
 }
Пример #13
0
 private void Show(DataUnitParam _data)
 {
     Show(_data.unit_id);
 }