public void loadServerRaffleFromFile(int numRaffle) // (для розыгрышы из файла) загрузить розыгрышь за номером из списка строк в файле { print("l===========oadServerRaffleFromFile"); loadJSONFile(); MAIN main = MAIN.getMain; main.changeNameBtnOn("Restart", "Start"); main.setEnableBtn("Start", true); main.setEnableBtn("BuyTicket", true); main.onBuyTicket(); MAIN.getMain.handlerServerData.setRaffle(JsonUtility.FromJson <RaffleJSON>(raffleLines[numRaffle])); }
// █ Докупить шар. Задизейбливает кнопку, а так же посылает запрос на сервер на получение нового дополнительного шара, (если текущем есть поментка на его доступность) public void buyBall() { int ballCost = 0; var gameMode = main.gameMode; //print("main.raffle.raffleState:"+main.raffle.raffleState); if (gameMode == GameMode.SERVER) { if (!main.isWaitingReplyAboutBallsFromServer) { //main.isWaitingReplyAboutBallsFromServer = true; if (!main.handlerServerData.isAvailableNextBall) { //print("last Ball!"); //main.raffle.onFinishRaffle(); main.setEnableBtn("BuyBallBtn", false); } } else { print("main.isWaitingReplyAboutBallsFromServer == true"); } //return; } else //if (gameMode == GameMode.CLIENT_GENERATE || gameMode == GameMode.JSON_FILE || gameMode == GameMode.JSON_FILE_IN_ANDROID) { { ballCost = MAIN.ballCost1x; for (int i = 0; i < countBalls - main.maxCountTrayedFreeBalls + 1; i++) { ballCost *= 2; } //main.setCaptionBtn("BuyBall", "Buy Ball: " + ballCost.ToString()); } //main.addMoneyValue(-ballCost); if (main.raffle.raffleState == RaffleState.ADDITIONAL_BALL) { //Debug.Log("[Buy additional Ball!]"); createVisualBall(true); if (main.maxCountTrayedFreeBalls + main.maxCountTrayedAdditionalBalls < countBalls) { main.setEnableBtn("BuyBall", false); } } }
// (не используется, ранее использовалось в одиночной игре, где можно было докупать новый билет, клиент генерил его сходу) создать новый билет public void createNewTicket() { if (ballsWave != null) { ballsWave.stop(); } if (Rooms.countTickets < transform.childCount) { return; } switch (main.gameMode) { case GameMode.CLIENT_GENERATE: { _createNewTicket(); if (transform.childCount + 1 == Rooms.countTickets) { main.setEnableBtn("BuyTicket", false); } return; } break; case GameMode.JSON_FILE: setTickets(main.jsonHandler.getTickets()); break; case GameMode.SERVER: { if (!main.isWaitingReplyAboutRaffleFromServer) { setTickets(main.handlerServerData.getTickets()); } else { isNeedSetTickets = true; } }; break; } main.setEnableBtn("BuyTicket", false); }
// ряд операций, при смене на соответсвующий стейт public void setState(RaffleState newState) { //print("[setState] newState: " + newState); switch (newState) { case RaffleState.WAIT: { if (main.gameMode != GameMode.SERVER) { main.changeNameBtnOn("Restart", "Start"); main.setEnableBtn("Start", true); main.setEnableBtn("BuyTicket", true); //main.setCaptionBtn("BuyTicket", "Buy Ticket: " + MAIN.ticketCost.ToString()); //main.setCaptionBtn("BuyBall", "Buy Ball: " + MAIN.ballCost1x.ToString()); } main.setEnableBtn("Restart", true); //main.setEnableBtn("BuyBallBtn", false); } break; case RaffleState.WAIT_SERVER_DATA: { main.setEnableBtn("Restart", false); main.setEnableBtn("Start", false); //main.setEnableBtn("BuyBallBtn", false); main.setEnableBtn("BuyTicket", false); } break; case RaffleState.PROCEED: { main.changeNameBtnOn("Start", "Restart"); main.setEnableBtn("BuyTicket", false); //Tutorial.show(TutorialSubject.TS_TEMPLEATES); } break; case RaffleState.FINISHED: { //HUD.setEnableBackButton(true); //if (main.handlerServerData.isAvailableNextBall) HUD.showBuyBallBtn(); } break; case RaffleState.ADDITIONAL_BALL: { startCheckTime = Time.time; DragonHead.openMore(); } break; case RaffleState.FINISH: { //Tutorial.show(TutorialSubject.TS_BUY_GOLD_BTN); getDrum().state = Drum.State.STOPING; HUD.setEnableBackButton(true); if (main.handlerServerData.isAvailableNextBall) { HUD.showBuyBallBtn(); var flickering = Flickering.set(HUD.getBuyBallButton().gameObject, 1.5f); // #V мигание кнопки докупки шаров flickering.setFlickeringUntilPress(); } else { var flickering = Flickering.set(HUD.getBackButton().gameObject, 1.5f); // #V мигание кнопки выхода flickering.setFlickeringUntilPress(); DragonHead.openFull(); main.receivingTray.setGravityForBalls(10); TicketsHolder.startHideTickets(); } Utils.screenShot("OnFinishRaffle.png"); // только в режиме тестировки } break; } raffleState = newState; }