Thunderbo1t Posted April 20, 2013 Share Posted April 20, 2013 Возможно ли сделать чтобы столбец с иконками взводов был не только в полных ушах, но также и в средних и в коротких ? Кажется понял что нужно тобы добавить столбец взвода в medium-уши, в Short не совсем понятно что править. Смотрим код PlayersPanel.as. Было: function XVMAdjustPanelSize() { //Logger.add("PlayersPanel.XVMAdjustPanelSize()"); var namesWidthDefault = 46; var namesWidth = namesWidthDefault; var vehiclesWidthDefault = 65; var vehiclesWidth = vehiclesWidthDefault; var widthDelta = 0; var squadSize = 0; switch (m_state) { case "medium": namesWidth = Math.max(XVMGetMaximumFieldWidth(m_names), Config.s_config.playersPanel.medium.width); widthDelta = namesWidthDefault - namesWidth; break; case "medium2": vehiclesWidth = Config.s_config.playersPanel.medium2.width; widthDelta = vehiclesWidthDefault - vehiclesWidth; break; case "large": namesWidthDefault = 296; namesWidth = Math.max(XVMGetMaximumFieldWidth(m_names), Config.s_config.playersPanel.large.width); vehiclesWidth = XVMGetMaximumFieldWidth(m_vehicles); squadSize = Config.s_config.playersPanel.removeSquadIcon ? 0 : SQUAD_SIZE; widthDelta = namesWidthDefault - namesWidth + vehiclesWidthDefault - vehiclesWidth - squadSize + SQUAD_SIZE; break; default: m_list._x = players_bg._x = (m_type == "left") ? STATES[m_state].bg_x : players_bg._width - STATES[m_state].bg_x; return; } m_names._width = namesWidth; m_vehicles._width = vehiclesWidth; if (m_names && m_names._visible) leadingNames = 29 - XVMGetMaximumFieldHeight(m_names); if (m_vehicles && m_vehicles._visible) leadingVehicles = 29 - XVMGetMaximumFieldHeight(m_vehicles); if (m_type == "left") { m_names._x = squadSize; m_frags._x = m_names._x + m_names._width; m_vehicles._x = m_frags._x + m_frags._width; m_list._x = players_bg._x = STATES[m_state].bg_x - widthDelta; if (squadSize > 0) m_list.updateSquadIconPosition(-m_list._x); } else { m_names._x = players_bg._width - m_names._width - squadSize; m_frags._x = m_names._x - m_frags._width; m_vehicles._x = m_frags._x - m_vehicles._width; m_list._x = players_bg._x = players_bg._width - STATES[m_state].bg_x + widthDelta; if (squadSize > 0) m_list.updateSquadIconPosition(-440 + m_names._width + m_frags._width + m_vehicles._width + squadSize); } } Стало: function XVMAdjustPanelSize() { //Logger.add("PlayersPanel.XVMAdjustPanelSize()"); var namesWidthDefault = 46; var namesWidth = namesWidthDefault; var vehiclesWidthDefault = 65; var vehiclesWidth = vehiclesWidthDefault; var widthDelta = 0; var squadSize = 0; switch (m_state) { case "medium": namesWidth = Math.max(XVMGetMaximumFieldWidth(m_names), Config.s_config.playersPanel.medium.width); squadSize = Config.s_config.playersPanel.alwaysShowSquadIcon ? SQUAD_SIZE : 0; //Добавка widthDelta = namesWidthDefault - namesWidth + SQUAD_SIZE; //Не уверен как правильнее будет "+ SQUAD_SIZE" или "+ squadSize" break; case "medium2": vehiclesWidth = Config.s_config.playersPanel.medium2.width; squadSize = Config.s_config.playersPanel.alwaysShowSquadIcon ? SQUAD_SIZE : 0; //Добавка widthDelta = vehiclesWidthDefault - vehiclesWidth + SQUAD_SIZE; //Не уверен как правильнее будет "+ SQUAD_SIZE" или "+ squadSize" break; case "large": namesWidthDefault = 296; namesWidth = Math.max(XVMGetMaximumFieldWidth(m_names), Config.s_config.playersPanel.large.width); vehiclesWidth = XVMGetMaximumFieldWidth(m_vehicles); squadSize = Config.s_config.playersPanel.removeSquadIcon ? 0 : SQUAD_SIZE; widthDelta = namesWidthDefault - namesWidth + vehiclesWidthDefault - vehiclesWidth - squadSize + SQUAD_SIZE; //Не уверен что тут правильно "+ SQUAD_SIZE" а не "+ squadSize" break; default: m_list._x = players_bg._x = (m_type == "left") ? STATES[m_state].bg_x : players_bg._width - STATES[m_state].bg_x; return; } m_names._width = namesWidth; m_vehicles._width = vehiclesWidth; if (m_names && m_names._visible) leadingNames = 29 - XVMGetMaximumFieldHeight(m_names); if (m_vehicles && m_vehicles._visible) leadingVehicles = 29 - XVMGetMaximumFieldHeight(m_vehicles); if (m_type == "left") { m_names._x = squadSize; m_frags._x = m_names._x + m_names._width; m_vehicles._x = m_frags._x + m_frags._width; m_list._x = players_bg._x = STATES[m_state].bg_x - widthDelta; if (squadSize > 0) m_list.updateSquadIconPosition(-m_list._x); } else { m_names._x = players_bg._width - m_names._width - squadSize; m_frags._x = m_names._x - m_frags._width; m_vehicles._x = m_frags._x - m_vehicles._width; m_list._x = players_bg._x = players_bg._width - STATES[m_state].bg_x + widthDelta; if (squadSize > 0) m_list.updateSquadIconPosition(-440 + m_names._width + m_frags._width + m_vehicles._width + squadSize); } } И потребуется еще 1 параметр в конфиг - alwaysShowSquadIcon @ Quote Link to comment Short link Share on other sites More sharing options...
Mr A Posted April 20, 2013 Share Posted April 20, 2013 Было Стало Ни разу не наглядно @ Quote Link to comment Short link Share on other sites More sharing options...
Thunderbo1t Posted April 20, 2013 Author Share Posted April 20, 2013 Ни разу не наглядноТе строки где коммент на русском - там и изменения. Осталось только понять как это дело собрать чтобы проверить заработает ли как ожидается :) Гайд прочел, но пока не вышло по нему провернуть проверку. @ Quote Link to comment Short link Share on other sites More sharing options...
Mr A Posted April 20, 2013 Share Posted April 20, 2013 заработает ли как ожидается Там самой иконки нет. Выставление параметров размера ничего не меняет. @ Quote Link to comment Short link Share on other sites More sharing options...
Thunderbo1t Posted April 20, 2013 Author Share Posted April 20, 2013 (edited) Там самой иконки нет. Выставление параметров размера ничего не меняет.Тогда как это сделать правильно ? Смотрю на исходник флешки - и в упор не вижу в спрайте панели (том который с метками по типам ушей) отдельного слоя для больших ушей для отображения взвода, хоть он там явно быть должен судя из логики работы переключения их режимов. А раз его там нет - всё дело в выставлении положения и ширины полей, а иконка взвода может рисоваться всегда, но она по умолчанию может быть за краем экрана. Попробовал подвигать уши через конфиг - таки да, иконка взвода есть во всех ушах но ее не видно нигде кроме самых больших. Скрин левого уха с явно указанным x=500: Edited April 20, 2013 by Thunderbo1t @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.