DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ UpdatePageButtons() [2/2]

void ServerBrowserTab::UpdatePageButtons ( )
inlineprivate

См. определение в файле ServerBrowserTabPc.c строка 937

938 {
940 if ( m_PagesCount > 1 )
941 {
942 m_PnlPagesPanel.Show( true );
943
944 int i;
945 int btn_index_center = Math.Round( PAGES_BUTTONS_COUNT / 2) - 1;
946 m_PageStartNum = 1;
948
950 {
952
953 // Pages are less like buttons - changing selected button
954 for ( i = 1; i <= m_BtnPages.Count(); ++i )
955 {
956 bool is_page_button_enable = ( i <= m_PagesCount );
957
958 int page_index = (i - 1);
959 m_BtnPages[page_index].Show( is_page_button_enable );
960 m_BtnPages[page_index].SetText( i.ToString() );
961
962 if ( m_PageIndex == page_index )
963 {
964 m_BtnPages[page_index].SetState( true );
965 }
966 else
967 {
968 m_BtnPages[page_index].SetState( false );
969 }
970 }
971 }
972 else
973 {
974 // Pages are more like buttons
975 if ( m_PageIndex <= btn_index_center )
976 {
977 //Left side (start of pages)
978 //m_PageStartNum = 1;
979 //m_PageEndNum = PAGES_BUTTONS_COUNT;
980 }
981 else
982 {
983 m_PageStartNum = m_PageIndex - btn_index_center + 1;
984 m_PageEndNum = m_PageIndex + (PAGES_BUTTONS_COUNT - btn_index_center);
985
987 {
988 // Right side (end of pages)
991 }
992 }
993
994
995 // Button Selection
996 int selected_btn_index = m_PageIndex;
997 if ( m_PageIndex > btn_index_center )
998 {
999 if ( m_PageEndNum == m_PagesCount )
1000 {
1001 //Right
1002 selected_btn_index = PAGES_BUTTONS_COUNT - (m_PagesCount - m_PageIndex);
1003 }
1004 else
1005 {
1006 //Center
1007 selected_btn_index = btn_index_center;
1008 }
1009 }
1010
1011
1012 for ( i = 0; i < m_BtnPages.Count(); ++i )
1013 {
1014 m_BtnPages[i].SetText( (m_PageStartNum + i).ToString() );
1015 m_BtnPages[i].SetState( ( i == selected_btn_index ) );
1016 }
1017 }
1018
1019 // Button GoTo Prev Page
1020 if ( m_PageIndex > 0 )
1021 {
1022 m_BtnPagePrev.SetText( "<" );
1023 m_BtnPagePrev.Enable( true );
1024 }
1025 else
1026 {
1027 m_BtnPagePrev.SetText( "" );
1028 m_BtnPagePrev.Enable( false );
1029 }
1030
1031 // Button GoTo Next Page
1032 if ( m_PageIndex < (m_PagesCount - 1) )
1033 {
1034 m_BtnPageNext.SetText( ">" );
1035 m_BtnPageNext.Enable( true );
1036 }
1037 else
1038 {
1039 m_BtnPageNext.SetText( "" );
1040 m_BtnPageNext.Enable( false );
1041 }
1042
1043 // Button GoTo First Page
1044 if ( m_PageStartNum == 1 )
1045 {
1046 m_BtnPagesFirst.SetText( "" );
1047 m_BtnPagesFirst.Enable( false );
1048 }
1049 else
1050 {
1051 m_BtnPagesFirst.SetText( "<<" );
1052 m_BtnPagesFirst.Enable( true );
1053 }
1054
1055 // Button GoTo Last Page
1056 if ( m_PageEndNum == m_PagesCount )
1057 {
1058 m_BtnPagesLast.SetText( "" );
1059 m_BtnPagesLast.Enable( false );
1060 }
1061 else
1062 {
1063 m_BtnPagesLast.SetText( ">>" );
1064 m_BtnPagesLast.Enable( true );
1065 }
1066 }
1067 else
1068 {
1069 m_PnlPagesPanel.Show(false);
1070 }
1071 }
proto string ToString()
ButtonWidget m_BtnPageNext
Определения ServerBrowserTab.c:73
int m_TotalLoadedServers
Определения ServerBrowserTab.c:49
ButtonWidget m_BtnPagePrev
Определения ServerBrowserTab.c:72
Widget m_PnlPagesPanel
Определения ServerBrowserTabConsolePages.c:22
ref array< ButtonWidget > m_BtnPages
Определения ServerBrowserTabPc.c:23
ButtonWidget m_BtnPagesFirst
Определения ServerBrowserTabPc.c:15
int m_PageIndex
Определения ServerBrowserTabPc.c:7
const int PAGES_BUTTONS_COUNT
Определения ServerBrowserTabPc.c:4
ButtonWidget m_BtnPagesLast
Определения ServerBrowserTabPc.c:16
const int SERVERS_VISIBLE_COUNT
Определения ServerBrowserTabPc.c:3

Перекрестные ссылки Math::Ceil(), m_BtnPageNext, m_BtnPagePrev, m_BtnPages, m_BtnPagesFirst, m_BtnPagesLast, m_PageEndNum, m_PageIndex, m_PagesCount, m_PageStartNum, m_PnlPagesPanel, m_TotalLoadedServers, PAGES_BUTTONS_COUNT, Math::Round(), SERVERS_VISIBLE_COUNT и ToString().