Exemple #1
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);
        }
Exemple #2
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;
     }
 }
Exemple #3
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;
     }
 }
Exemple #4
0
        private void OnEnable()
        {
            if (DataManager.Instance == null)
            {
                return;
            }

            m_equipUnitView.Clear();
            m_equipStatusView.Clear();
            m_equipList.Clear();

            m_equipInfoCurrent.Clear();
            m_equipInfoChange.Clear();

            List <DataUnitParam> party_unit_list = DataManager.Instance.m_dataUnit.list.FindAll(p => 0 < p.position);

            for (int i = 0; i < m_equipUnitIconList.Count; i++)
            {
                if (i < party_unit_list.Count)
                {
                    MasterUnitParam master = DataManager.Instance.m_masterUnit.list
                                             .Find(p => p.unit_id == party_unit_list[i].unit_id);
                    m_equipUnitIconList[i].gameObject.SetActive(true);
                    m_equipUnitIconList[i].Initialize(master);
                    m_equipUnitIconList[i].Select(false);
                }
                else
                {
                    m_equipUnitIconList[i].gameObject.SetActive(false);
                }
            }

            /*
             * m_equipStatusView.Initialize(DataManager.Instance.m_dataUnit.list[0] , m_dummyUnit);
             * m_equipUnitView.Initialize(
             *  DataManager.Instance.m_dataUnit.list[0],
             *  DataManager.Instance.m_masterEquip.list
             *  );
             */
        }
Exemple #5
0
        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 = "";
            }
        }
Exemple #6
0
 public void Select(MasterUnitParam _master)
 {
     Select(m_masterUnitParam == _master);
 }
Exemple #7
0
 public void Initialize(MasterUnitParam _master)
 {
     m_masterUnitParam = _master;
     m_imgIcon.sprite  = _master.so_unit_data.face_icon;
 }
Exemple #8
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);
            });
        }