@@ -26,10 +26,12 @@ public class CallsScreen extends Screen {
2626 private BlockPos playerPos ;
2727 private boolean hasToken ;
2828 private boolean isOnCorrectServer ;
29+ private ButtonWidget detectiveButton ;
30+ private ButtonWidget fsbButton ;
31+ private ButtonWidget bankerButton ;
32+ private ButtonWidget guideButton ;
2933 private boolean callsActive = true ;
3034 private String statusMessage ;
31- private String serviseType ;
32- private String personName ;
3335 private int statusColor ;
3436
3537 public CallsScreen () {
@@ -68,38 +70,34 @@ protected void init() {
6870 int buttonWidth = 65 ;
6971
7072
71- ButtonWidget detectiveButton = ButtonWidget .builder (Text .of ("Детектив" ), (btn ) -> {
73+ detectiveButton = ButtonWidget .builder (Text .of ("Детектив" ), (btn ) -> {
7274 String serviceType = "detective" ;
7375 String personName = "Детектив" ;
7476 callService (serviceType , personName );
7577 }).dimensions (width / 2 - 150 , buttonY , buttonWidth , 20 ).build ();
7678 this .addDrawableChild (detectiveButton );
7779
78- ButtonWidget fsbButton = ButtonWidget .builder (Text .of ("ФСБ" ), (btn ) -> {
80+ fsbButton = ButtonWidget .builder (Text .of ("ФСБ" ), (btn ) -> {
7981 String serviceType = "fsb" ;
8082 String personName = "ФСБ" ;
8183 callService (serviceType , personName );
8284 }).dimensions (width / 2 - 150 + buttonWidth + 10 , buttonY , buttonWidth , 20 ).build ();
8385 this .addDrawableChild (fsbButton );
8486
85- ButtonWidget bankerButton = ButtonWidget .builder (Text .of ("Банкир" ), (btn ) -> {
87+ bankerButton = ButtonWidget .builder (Text .of ("Банкир" ), (btn ) -> {
8688 String serviceType = "banker" ;
8789 String personName = "Банкир" ;
8890 callService (serviceType , personName );
8991 }).dimensions (width / 2 - 150 + 2 * buttonWidth + 25 , buttonY , buttonWidth , 20 ).build ();
9092 this .addDrawableChild (bankerButton );
9193
92- ButtonWidget guideButton = ButtonWidget .builder (Text .of ("Гид" ), (btn ) -> {
94+ guideButton = ButtonWidget .builder (Text .of ("Гид" ), (btn ) -> {
9395 String serviceType = "guide" ;
9496 String personName = "Гид" ;
9597 callService (serviceType , personName );
9698 }).dimensions (width / 2 - 150 + 3 * buttonWidth + 40 , buttonY , buttonWidth , 20 ).build ();
9799 this .addDrawableChild (guideButton );
98100
99- detectiveButton .active = callsActive ;
100- fsbButton .active = callsActive ;
101- bankerButton .active = callsActive ;
102- guideButton .active = callsActive ;
103101
104102 if (!hasToken ) {
105103 this .addDrawableChild (ButtonWidget .builder (Text .of ("Авторизоваться" ), btn -> {
@@ -134,6 +132,13 @@ private ButtonWidget createServiceButton(String text, String serviceType, String
134132 .build ();
135133 }
136134
135+ private void updateButtonsState () {
136+ detectiveButton .active = !detectiveButton .active ;
137+ fsbButton .active = !fsbButton .active ;
138+ bankerButton .active = !bankerButton .active ;
139+ guideButton .active = !guideButton .active ;
140+ }
141+
137142 public void callService (String serviceType , String personName ) {
138143 if (!hasToken ) {
139144 setStatus ("⬇ Сначала авторизуйтесь ⬇" , 0xFF5555 );
@@ -160,17 +165,21 @@ public void callService(String serviceType, String personName) {
160165 String coordinates = sendCoordinates && playerPos != null ?
161166 "**" + playerPos .getX () + " " + playerPos .getY () + " " + playerPos .getZ () + ' ' + world + "**" : " " ;
162167 setStatus ("Отправка запроса..." , 0xFFFF55 );
163- callsActive = false ;
164- // detectiveButton fsbButton bankerButton guideButton
168+ updateButtonsState () ;
169+
165170
166171 SPmHelperApi .makeCall (serviceType , coordinates , comment )
167172 .thenAccept (success -> MinecraftClient .getInstance ().execute (() -> {
168173 if (success ) {
169174 setStatus (personName + " был вызван!" , 0x55FF55 );
170- callsActive = true ;
175+ updateButtonsState () ;
171176 } else {
172177 setStatus ("Ошибка отправки вызова" , 0xFF5555 );
173178 callsActive = true ;
179+ detectiveButton .active = callsActive ;
180+ fsbButton .active = callsActive ;
181+ bankerButton .active = callsActive ;
182+ guideButton .active = callsActive ;
174183 }
175184 }));
176185 }
0 commit comments