Example #1
0
        public void load(BinaryReader _br, byte _ver, Func <string, entity_data> _get_ent, data_sets_manager.EScreenDataType _scr_type)
        {
            m_marks = _br.ReadUInt16();

            m_scr_ind = _br.ReadByte();

            int ents_cnt = _br.ReadInt32();

            entity_instance ent_inst;

            for (int ent_n = 0; ent_n < ents_cnt; ent_n++)
            {
                ent_inst = new entity_instance();
                ent_inst.load(_br, _ver, _get_ent, _scr_type);

                m_ents.Add(ent_inst);
            }
        }
Example #2
0
        public bool get_entity_by_uid(int _uid, ref int _scr_ind, ref entity_instance _ent)
        {
            bool res = false;

            entity_instance ent         = null;
            int             ent_scr_ind = 0;
            int             scr_ind     = 0;

            m_layout.ForEach(delegate(List <layout_screen_data> _list)
            {
                _list.ForEach(delegate(layout_screen_data _scr_data)
                {
                    _scr_data.m_ents.ForEach(delegate(entity_instance _ent_inst)
                    {
                        if (_ent_inst.uid == _uid)
                        {
                            ent         = _ent_inst;
                            ent_scr_ind = scr_ind;

                            res = true;

                            return;
                        }
                    });

                    if (res)
                    {
                        return;
                    }

                    ++scr_ind;
                });

                if (res)
                {
                    return;
                }
            });

            _ent     = ent;
            _scr_ind = ent_scr_ind;

            return(res);
        }
Example #3
0
        public mpd_inst_entity layout_get_inst_entity(int _layout_ind, int _scr_pos_x, int _scr_pos_y, int _ent_ind)
        {
            layout_screen_data data = get_layout_screen_data(_layout_ind, _scr_pos_x, _scr_pos_y);

            if (data != null && _ent_ind >= 0 && _ent_ind < data.m_ents.Count)
            {
                entity_instance ent = data.m_ents[_ent_ind];

                mpd_inst_entity inst_ent = new mpd_inst_entity();

                inst_ent.uid          = ent.uid;
                inst_ent.base_ent_uid = ent.base_entity.uid;
                inst_ent.target_uid   = ent.target_uid;
                inst_ent.x            = ent.x;
                inst_ent.y            = ent.y;
                inst_ent.properties   = ent.properties;

                return(inst_ent);
            }

            return(null);
        }