コード例 #1
0
        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);
                    }
                }
            }
        }
コード例 #2
0
        public int GetStatus(string _strKey)
        {
            int       iRet        = 0;
            FieldInfo unit_info   = this.GetType().GetField(_strKey);
            FieldInfo assist_info = assist_param.GetType().GetField(_strKey);

            if (unit_info == null)
            {
                return(iRet);
            }
            //Debug.Log((int)unit_info.GetValue(this));
            //Debug.Log((int)assist_info.GetValue(assist_param));

            iRet = (int)unit_info.GetValue(this) + (int)assist_info.GetValue(assist_param);
            return(iRet);
        }