示例#1
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
                );
        }
示例#2
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")}";
        }
示例#3
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);
        }
示例#4
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);
            });
        }