Пример #1
0
        public int layout_width(int _layout_ind)
        {
            if (_layout_ind >= 0 && _layout_ind < m_data_mngr.layouts_data_cnt)
            {
                return(m_data_mngr.get_layout_data(_layout_ind).get_width());
            }

            return(-1);
        }
Пример #2
0
        bool check_layouts_screen(int _scr_n, tiles_data _data)
        {
            int layout_n;
            int tiles_data_n;
            int scr_n;
            int curr_common_scr_ind;

            bool res = false;

            layout_data ldata = null;

            int layouts_cnt = m_data_sets.layouts_data_cnt;

            int bank_id = Convert.ToInt32(_data.name);

            // calc common screen index
            int common_scr_ind = _scr_n;

            for (tiles_data_n = 0; tiles_data_n < bank_id; tiles_data_n++)
            {
                common_scr_ind += m_data_sets.get_tiles_data(tiles_data_n).screen_data_cnt();
            }

            // check duplicate(s)
            for (scr_n = 0; scr_n < _scr_n; scr_n++)
            {
                if (_data.get_screen_data(scr_n).equal(_data.get_screen_data(_scr_n)) == true)
                {
                    curr_common_scr_ind = scr_n;

                    for (tiles_data_n = 0; tiles_data_n < bank_id; tiles_data_n++)
                    {
                        curr_common_scr_ind += m_data_sets.get_tiles_data(tiles_data_n).screen_data_cnt();
                    }

                    // remove duplicate(s)
                    for (layout_n = 0; layout_n < layouts_cnt; layout_n++)
                    {
                        ldata = m_data_sets.get_layout_data(layout_n);

                        ldata.get_raw_data().ForEach(delegate(List <layout_screen_data> _list)
                        {
                            _list.ForEach(delegate(layout_screen_data _scr_data)
                            {
                                if (_scr_data.m_scr_ind == common_scr_ind)
                                {
                                    _scr_data.m_scr_ind = curr_common_scr_ind;
                                }
                            });
                        });
                    }
                }
            }

            for (layout_n = 0; layout_n < layouts_cnt; layout_n++)
            {
                ldata = m_data_sets.get_layout_data(layout_n);

                ldata.get_raw_data().ForEach(delegate(List <layout_screen_data> _list)
                {
                    _list.ForEach(delegate(layout_screen_data _scr_data)
                    {
                        if (_scr_data.m_scr_ind == common_scr_ind)
                        {
                            res = true;

                            return;
                        }
                    });

                    if (res)
                    {
                        return;
                    }
                });
            }

            return(res);
        }