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); } }
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); }
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); }