public void moveGoti(int current, int next) { if (next >= 0) { try { if (!this.isMoving) { StartCoroutine(moveGotiSteps(next)); } } catch (System.Exception ex) { Debug.Log("moveGoti Exception " + ex.Message); } } if (next == -1) { transform.position = InitialPositionVector; transform.localScale = new Vector3(1f, 1f, 1f); currentPosition = -1; isLock = true; LudoDelegate.closeGoti(); this.CellNumber = -1; } LudoDelegate.refreshCell(); }
void winner(BasePlayer player) { winnerPanel.SetActive(true); winnerPanel.GetComponent <WinnerClass>().showWinner(player.getName(), true); winAnimation.SetActive(true); LudoDelegate.playClapSound(); }
void onReceivedServerMessage(string sender, string message) { try{ JSONNode s = JSON.Parse(message); switch (s[ServerTags.TAG]) { case ServerTags.ROOM_INFO: { JSONNode pl = s[ServerTags.ROOM_DATA]; string player = PlayerPrefs.GetString(GetPlayerDetailsTags.PLAYER_ID); for (int i = 0; i < pl.Count; i++) { JSONNode data = pl[i]; Debug.Log(data[ServerTags.DISPLAY_NAME] + "Color " + data[ServerTags.COLOR]); if (int.Parse(data[ServerTags.COLOR]) > -1) { LudoDelegate.usedColor(data[ServerTags.DISPLAY_NAME], int.Parse(data[ServerTags.COLOR])); if (player.Equals(data[ServerTags.PLAYER_ID])) { colorAssign(int.Parse(data[ServerTags.COLOR])); } } } } break; } } catch (System.Exception ex) { Debug.Log(ex.Message); } }
public void StartGame() { if (PlayerPrefs.GetInt(LudoTags.GAME_TYPE) != LudoTags.OFFLINE) { if (this.myColor > 0) { appwarp.joinGame(this.myColor); LoadingText.SetActive(true); if (PlayerPrefs.GetInt(LudoTags.ROOM_TYPE) == LudoTags.PUBLIC) { //appwarp.ServerMessage = "Waiting for Opponent"; //loading.GetComponent<LoadingPanel>().startTimer(10, "No Opponent found. Try after some time."); } else { colorSelectionPanel.SetActive(false); //loading.SetActive(true); // appwarp.ServerMessage = "Creating Table"; //loading.GetComponent<LoadingPanel>().startTimer(15, "Unable to create private table. Please try again later."); } } } else { if (this.myColor == 0) { colorSelectionPanel.transform.Find("Box").GetComponent <ColorSelection>().defaultColor(); } LudoDelegate.startGame(); colorSelectionPanel.SetActive(false); } }
public void defaultColor() { LudoDelegate.selectColor(this.Red, "Player1", 1); LudoDelegate.selectColor(this.Yellow, "Player2", 3); LudoDelegate.selectColor(this.Green, "Player3", 2); LudoDelegate.selectColor(this.Blue, "Player4", 4); }
/* void sendDiceNumber(BasePlayer player, int number) * { * LudoDelegate.showDice(player.getUser(), number); * * } */ void onNumberSelection(int number, string player, int goti1) { try { if (PlayerPrefs.GetInt(LudoTags.GAME_TYPE) == LudoTags.OFFLINE) { if (player.Equals(playerList[currentPlayer].getUser())) { playerList[currentPlayer].moveGotibySelection(number, goti1); responded = true; } } else { if (player.Equals(playerList[currentPlayer].getUser())) { appwarp.userSelectGoti(goti1, number); } } } catch (System.Exception ex) { Debug.Log(ex.Message); } LudoDelegate.stopAnimation(); }
public void onChatReceived(ChatEvent eventObj) { Debug.Log(eventObj.getSender() + " : " + eventObj.getMessage()); if (WarpClient.GetInstance() != null) { LudoDelegate.sendMessage(eventObj.getSender(), eventObj.getMessage()); } }
void playerWithDic() { LudoDelegate.diceClick(this.currentPlayer); LudoDelegate.playDiceSound(); enable = false; isRotation = true; StartCoroutine(stopRotation()); }
public void onDiceRollStart(string player, int num) { this.currentPlayer = player; this.number = num; isRotation = true; LudoDelegate.playDiceSound(); StartCoroutine(stopRotationByOpponent()); }
void checkSafePlace() { foreach (int j in LudoManager.safePlace) { if (j == this.CellNumber) { LudoDelegate.safePlace(); } } }
public void MoveGoti(int gotiNumber, int from, int to) { GotiScript obj = this.getGotiByNumber(gotiNumber); if (obj != null) { obj.moveGoti(from, to); } LudoDelegate.stopAnimation(); }
IEnumerator stopRotation() { yield return(new WaitForSeconds(0.5f)); isRotation = false; enable = false; transform.GetComponent <Image>().sprite = Resources.Load <Sprite>("Dices/dice_" + this.number); LudoDelegate.diceRollDone(this.currentPlayer, this.number); //transform.gameObject.SetActive(false); }
public void gotiWin() { Debug.Log("Goti Win " + this.index); if (PlayerPrefs.GetInt(LudoTags.GAME_TYPE) == LudoTags.OFFLINE) { LudoDelegate.gotiWin(this.index, this.playerID); } isWin = true; transform.gameObject.SetActive(true); }
void onGotiWin(int index, string playerID) { BasePlayer player = this.getPlayerByID(playerID); if (player != null) { Debug.Log("Working"); winAnimation.SetActive(true); LudoDelegate.playClapSound(); StartCoroutine(stopAnimation()); } if (PlayerPrefs.GetInt(LudoTags.GAME_TYPE) == LudoTags.OFFLINE) { this.reChance = true; } }
public void MusicAction() { Debug.Log("MUSIC " + musicOn); if (musicOn == 1) { LudoDelegate.changeSoundSetting(false); musicBtn.GetComponent <Image>().sprite = Resources.Load <Sprite>("images/new/unselected_box"); PlayerPrefs.SetInt(GameTags.MUSIC_ON, 0); musicOn = 0; } else { LudoDelegate.changeSoundSetting(true); musicBtn.GetComponent <Image>().sprite = Resources.Load <Sprite>("images/new/selected_box"); PlayerPrefs.SetInt(GameTags.MUSIC_ON, 1); musicOn = 1; } }
public void gotiAction() { if (TurnValue.Count > 1) { if (currentPosition == -1) { if (userHasOne() && userHasSix()) { LudoDelegate.showPanel(playerID, TurnValue, this.myColor, transform.position, this.index); } else { if (userHasSix()) { LudoDelegate.selectNumber(6, this.playerID, this.index); } else if (userHasOne()) { LudoDelegate.selectNumber(1, this.playerID, this.index); } } } else { LudoDelegate.showPanel(playerID, TurnValue, this.myColor, transform.position, this.index); } } else if (TurnValue.Count == 1) { int number = int.Parse(TurnValue[0]); if (currentPosition == -1) { if (number == 6 || number == 1) { LudoDelegate.selectNumber(number, this.playerID, this.index); } } if (currentPosition != -1) { LudoDelegate.selectNumber(number, this.playerID, this.index); } } }
IEnumerator moveGotiSteps(int next) { this.isMoving = true; int i = currentPosition + 1; while (i <= next) { int nextPos = 0; int Object = 0; if (i >= 51) { nextPos = homeEntryPoint + i - 51; Object = nextPos; } else { nextPos = initialPosition + i; Object = nextPos > 52 ? nextPos - 52 : nextPos; } GameObject pos = GameObject.Find("" + Object); transform.position = pos.transform.position; currentPosition = i; this.CellNumber = Object; LudoDelegate.refreshCell(); LudoDelegate.playGotiSound(); i++; yield return(new WaitForSeconds(0.2f)); } if (next == GotiScript.LIMIT) { gotiWin(); } Debug.Log(this.playerID + " ----" + this.index + " : " + next); checkSafePlace(); if (PlayerPrefs.GetInt(LudoTags.GAME_TYPE) == LudoTags.OFFLINE) { LudoDelegate.movementComplete(); } this.isMoving = false; }
public void YesAction() { if (PlayerPrefs.GetInt(LudoTags.GAME_TYPE) != LudoTags.OFFLINE) { if (appwarp.socketConnected) { appwarp.leaveGame(); } else { SceneManager.LoadSceneAsync("MainLobby"); } } else { LudoDelegate.leaveGame(); // SceneManager.LoadSceneAsync("LobiScene"); } transform.gameObject.SetActive(false); }
bool checkForGotiCut() { foreach (GameObject myGoti in playerList[currentPlayer].getPlayeGoti()) { int myPosition = myGoti.GetComponent <GotiScript>().CellNumber; if (!checkSafePlace(myPosition)) { if (myPosition >= 0) { for (int i = 0; i < playerList.Length; i++) { if (i != this.currentPlayer) { int numberoOfGoti = 0; int gotiIndex = 0; foreach (GameObject opponent in playerList[i].getPlayeGoti()) { int opponentPosition = opponent.GetComponent <GotiScript>().CellNumber; if (myPosition == opponentPosition) { numberoOfGoti++; gotiIndex = opponent.GetComponent <GotiScript>().index; } } if (numberoOfGoti == 1) { LudoDelegate.closeGoti(); Debug.Log(playerList[currentPlayer].getName() + " find Goti of " + playerList[i].getName() + " at " + myPosition); playerList[i].MoveGoti(gotiIndex, myPosition, -1); return(true); } } } } } } return(false); }
public void TapGotiAction() { if (this.Enable) { if (PlayerPrefs.GetInt(LudoTags.GAME_TYPE) != LudoTags.OFFLINE) { if (this.playerID.Equals(PlayerPrefs.GetString(GetPlayerDetailsTags.PLAYER_ID))) { gotiAction(); } } else { gotiAction(); } } else { Debug.Log("is not enable"); } LudoDelegate.refreshCell(); }
void colorAssign(int index) { switch (index) { case 1: LudoDelegate.selectColor(this.Red, "Player1", 1); LudoDelegate.selectColor(this.Yellow, "Player2", 3); LudoDelegate.selectColor(this.Green, "Player3", 2); LudoDelegate.selectColor(this.Blue, "Player4", 4); break; case 2: LudoDelegate.selectColor(this.Green, "Player1", 2); LudoDelegate.selectColor(this.Blue, "Player2", 4); LudoDelegate.selectColor(this.Yellow, "Player3", 3); LudoDelegate.selectColor(this.Red, "Player4", 1); break; case 4: LudoDelegate.selectColor(this.Blue, "Player1", 4); LudoDelegate.selectColor(this.Green, "Player2", 2); LudoDelegate.selectColor(this.Red, "Player3", 1); LudoDelegate.selectColor(this.Yellow, "Player4", 3); break; case 3: LudoDelegate.selectColor(this.Yellow, "Player1", 3); LudoDelegate.selectColor(this.Red, "Player2", 1); LudoDelegate.selectColor(this.Blue, "Player3", 4); LudoDelegate.selectColor(this.Green, "Player4", 2); break; } }
void Start() { Screen.sleepTimeout = SleepTimeout.NeverSleep; try { // loading = transform.Find("LoadingGamePanel").gameObject; LoadingText.SetActive(false); //chatButton = GameObject.FindGameObjectWithTag("ChatButton"); // smileyButton = GameObject.FindGameObjectWithTag("SmileyButton"); } catch (System.Exception ex) { Debug.Log(ex.Message); } try { // quitGamePanel = transform.Find("QuitGamePanel").gameObject; // privateInfo = transform.Find("PrivateTablePage").gameObject; quitGamePanel.SetActive(false); } catch (System.Exception ex) { Debug.Log(ex.Message); } try { // messagePanel = transform.Find("MessagePanel").gameObject; // smileyPanel = transform.Find("SmileyPanel").gameObject; messagePanel.SetActive(false); smileyPanel.SetActive(false); } catch (System.Exception ex) { Debug.Log(ex.Message); } try { // winnerPanel = transform.Find("WinnerPanel").gameObject; // lossPanel = transform.Find("LossPanel").gameObject; // colorSelectionPanel = transform.Find("SelectColorPanel").gameObject; } catch (System.Exception ex) { Debug.Log(ex.Message); } if (PlayerPrefs.GetInt(LudoTags.GAME_TYPE) != LudoTags.OFFLINE) { LudoDelegate.startGame(); } if (PlayerPrefs.GetInt(LudoTags.GAME_TYPE) != LudoTags.OFFLINE) { chatButton.SetActive(true); smileyButton.SetActive(true); } else { chatButton.SetActive(false); smileyButton.SetActive(false); } }
public void numberSelection(GameObject btn) { LudoDelegate.selectNumber(int.Parse(btn.transform.GetChild(0).GetComponent <Text>().text), this.playerID, this.goti); transform.SetSiblingIndex(0); hideButton(); }
void onReceivedServerMessage(string sender, string message) { try{ JSONNode s = JSON.Parse(message); switch (s[ServerTags.TAG]) { case ServerTags.ROOM_INFO: { JSONNode pl = s[ServerTags.ROOM_DATA]; string player = PlayerPrefs.GetString(GetPlayerDetailsTags.PLAYER_ID); for (int i = 0; i < pl.Count; i++) { JSONNode data = pl[i]; BasePlayer playerObject = this.getPlayerByColor(int.Parse(data[ServerTags.COLOR])); if (playerObject != null) { Debug.Log(data[ServerTags.DISPLAY_NAME] + "assign " + data[ServerTags.PIC]); string imageName = "1"; string playerName = ""; string color = "1"; try{ imageName = data[ServerTags.PIC]; if (imageName.Equals("")) { imageName = "1"; } }catch (System.Exception ex) { imageName = "1"; } try { color = data[ServerTags.COLOR]; } catch (System.Exception ex) { color = "1"; } try { playerName = UppercaseFirst(data[ServerTags.DISPLAY_NAME]); } catch (System.Exception ex) { playerName = ""; } LudoDelegate.usedColor(UppercaseFirst(playerName), int.Parse(color)); try { playerObject.setPlayer(UppercaseFirst(playerName), data[ServerTags.PLAYER_ID], false, imageName); }catch (System.Exception ex) { Debug.Log(ex.Message + " " + UppercaseFirst(playerName) + " " + data[ServerTags.PLAYER_ID] + " " + imageName); } } else { Debug.Log("No player Found"); } } } break; case ServerTags.START_DEAL: { LudoDelegate.gamePlay(); LudoController.isGameStart = true; } break; case ServerTags.TURN: { for (int i = 0; i < 4; i++) { playerList[i].stopTurnAnimation(); } BasePlayer player = this.getPlayerByID(s[Tags.PLAYER]); if (player != null) { player.TurnAnimation(); } LudoDelegate.changeTurn(s[Tags.PLAYER]); } break; case ServerTags.TIMER: { timerPanel.SetActive(true); timerPanel.GetComponent <TimerScript>().startTimer(int.Parse(s[Tags.VALUES])); } break; case ServerTags.STOP_TIMER: { timerPanel.SetActive(false); } break; case ServerTags.SMILEY: { BasePlayer player = this.getPlayerByID(s[Tags.PLAYER]); if (player != null) { player.showSmiley(s[Tags.VALUES]); } } break; case ServerTags.MESSAGE: { BasePlayer player = this.getPlayerByID(s[Tags.PLAYER]); if (player != null) { player.showMessage(s[Tags.VALUES]); } } break; case ServerTags.DICE_ROLL: { BasePlayer player = this.getPlayerByID(s[Tags.PLAYER]); if (player != null) { Debug.Log("DICE_ROLL " + player.getUser()); if (player.getUser().Equals(PlayerPrefs.GetString(GetPlayerDetailsTags.PLAYER_ID))) { player.playerTurn(int.Parse(s[Tags.VALUES]), true); } else { player.playerTurn(int.Parse(s[Tags.VALUES]), false); } } } break; case ServerTags.TOTAL_DICE: { BasePlayer player = this.getPlayerByID(s[Tags.PLAYER]); if (player != null) { JSONArray sd = new JSONArray(); JSONNode pl = s[Tags.VALUES]; for (int i = 0; i < pl.Count; i++) { sd.Add("" + pl[i]); } player.setNewTurnValue(sd); } } break; case ServerTags.MOVE_GOTI: { BasePlayer player = this.getPlayerByID(s[Tags.PLAYER]); if (player != null) { player.MoveGoti(int.Parse(s[Tags.INDEX]), int.Parse(s[Tags.LAST_POSITION]), int.Parse(s[Tags.TO_POSITION])); } } break; case ServerTags.GOTI_WIN: { BasePlayer player = this.getPlayerByID(s[Tags.PLAYER]); if (player != null) { Debug.Log("Working"); winAnimation.SetActive(true); StartCoroutine(stopAnimation()); player.WinGoti(int.Parse(s[Tags.INDEX])); LudoDelegate.playClapSound(); } } break; case ServerTags.READY_GOTI: { BasePlayer player = this.getPlayerByID(s[Tags.PLAYER]); if (player != null) { player.readyGoti(int.Parse(s[Tags.INDEX]), s["STEPS"]); } } break; case ServerTags.REMOVE_PLAYER: { BasePlayer player = this.getPlayerByID(s[Tags.PLAYER]); if (player != null && player.getUser().Equals(PlayerPrefs.GetString(GetPlayerDetailsTags.PLAYER_ID))) { if (!LudoController.isGameStart) { SceneManager.LoadSceneAsync("LobiScene"); } } } break; case ServerTags.LEAVE_TABLE: { BasePlayer player = this.getPlayerByID(s[Tags.PLAYER]); if (player != null && player.getUser().Equals(PlayerPrefs.GetString(GetPlayerDetailsTags.PLAYER_ID))) { SceneManager.LoadSceneAsync("LobiScene"); } } break; case Tags.DICE_ROLL_DONE: { BasePlayer player = this.getPlayerByID(s[Tags.PLAYER]); if (player != null && !player.getUser().Equals(PlayerPrefs.GetString(GetPlayerDetailsTags.PLAYER_ID))) { Debug.Log("startDiceAnimation " + player.getUser()); player.startDiceAnimation(int.Parse(s[Tags.VALUES])); } if (player != null) { player.addNumberInTurn(int.Parse(s[Tags.VALUES])); } } break; case Tags.WINNER_PLAYER: { string player_name = PlayerPrefs.GetString(GetPlayerDetailsTags.PLAYER_ID); string node = s["PLAYER"]; string player_id = s["PLAYER_ID"]; string Wincoin = s["VALUE"]; if (player_id.Equals(player_name)) { winnerPanel.SetActive(true); winnerPanel.GetComponent <WinnerClass>().showWinner(node, true); winAnimation.SetActive(true); LudoDelegate.playClapSound(); } else { lossPanel.SetActive(true); } } break; case Tags.LOSS_GAME: { string player_name = PlayerPrefs.GetString(GetPlayerDetailsTags.PLAYER_ID); string displayName = s["PLAYER"]; string player = s["VALUE"]; if (player_name.Equals(player)) { lossPanel.SetActive(true); } } break; case ServerTags.ROOM_PRICE: { try { string player = PlayerPrefs.GetString(GetPlayerDetailsTags.PLAYER_ID); if (player.Equals(s[ServerTags.PLAYER_ID])) { int fee = int.Parse(s[ServerTags.VALUES]); if (fee > int.Parse(PlayerPrefs.GetString(GetPlayerDetailsTags.PLAYER_COIN))) { CoinValidationPanel.SetActive(true); } } } catch (System.Exception ex) { Debug.Log(ex.Message); } } break; default: break; } } catch (System.Exception ex) { Debug.Log(ex.Message); } }
IEnumerator startOffline() { yield return(new WaitForSeconds(1)); playerList[0].setPlayer(PlayerPrefs.GetString(GetPlayerDetailsTags.PLAYER_NAME), "1", false, PlayerPrefs.GetString(GetPlayerDetailsTags.PLAYER_IMAGE)); playerList[1].setPlayer("Computer", "2", true, "2"); for (; currentPlayer < playerList.Length; currentPlayer++) { if (playerList[currentPlayer].isActive) { playerList[currentPlayer].resetTurnNumber(); sendTurn(playerList[currentPlayer]); throwDice: responded = false; this.reChance = false; int number = Random.Range(1, 8); number = number > 6 ? 6 : number; if (playerList[currentPlayer].isComputer) { playerList[currentPlayer].playerTurn(number, false); yield return(new WaitForSeconds(0.2f)); playerList[currentPlayer].startDiceAnimation(number); yield return(new WaitForSeconds(1)); playerList[currentPlayer].TurnValue.Add("" + number); playerList[currentPlayer].addNumberInTurn(number); if (number == 6) { if (playerList[currentPlayer].totalTurnNumber() < 18) { goto throwDice; } } if (playerList[currentPlayer].totalTurnNumber() < 18) { if (playerList[currentPlayer].isGotiReadyForMove()) { Debug.Log("Computer is thinking " + playerList[currentPlayer].TurnValue.ToString()); while (playerList[currentPlayer].TurnValue.Count > 0) { yield return(new WaitForSeconds(0.5f)); int num = int.Parse(playerList[currentPlayer].TurnValue[0]); gotiAnimationComplete = false; Debug.Log(playerList[currentPlayer].getName() + " move Goti for " + num); if (playerList[currentPlayer].MoveGotiByAI(num)) { yield return(new WaitUntil(() => gotiAnimationComplete)); if (gotiAnimationComplete) { Debug.Log("Goti Animation is done"); } } if (playerList[currentPlayer].removeNumber(num)) { Debug.Log("number is remove " + playerList[currentPlayer].TurnValue.ToString()); } if (checkForGotiCut()) { this.reChance = true; } LudoDelegate.stopAnimation(); } } } } else { playerList[currentPlayer].playerTurn(number, true); yield return(new WaitUntil(() => responded)); if (responded) { Debug.Log("Responded For Dice " + playerList[currentPlayer].getName()); if (number == 6) { if (playerList[currentPlayer].totalTurnNumber() < 18) { goto throwDice; } else { if (currentPlayer == playerList.Length - 1) { currentPlayer = -1; } continue; } } askForGoti: if (playerList[currentPlayer].isGotiReadyForMove()) { responded = false; yield return(new WaitUntil(() => responded)); if (responded) { responded = false; Debug.Log("Responded For Goti " + playerList[currentPlayer].getName()); gotiAnimationComplete = false; yield return(new WaitUntil(() => gotiAnimationComplete)); if (gotiAnimationComplete) { Debug.Log("Goti Animation is done"); } if (checkForGotiCut()) { this.reChance = true; } if (playerList[currentPlayer].TurnValue.Count > 0) { goto askForGoti; } } } else { Debug.Log("Goti is not ready"); } } } if (this.reChance) { Debug.Log("Get Rechance " + playerList[currentPlayer].getName()); goto throwDice; } } if (playerList[currentPlayer].checkWinner()) { this.winner(playerList[currentPlayer]); break; } if (!checkGameValidation()) { winnerLastPlayer(); break; } if (currentPlayer == playerList.Length - 1) { currentPlayer = -1; } yield return(new WaitForSeconds(1)); } }