public string RemainingTimeString(bool useWord = true) { System.TimeSpan remaining = RemainingTimeSpan; string display = string.Empty; if (played && !playable && useWord) { display = TacoConfig.FinishStatus; } else if (remaining > new System.TimeSpan(0, 24, 0, 0)) { display = TacoConfig.Pluralize(remaining.Days, "day"); } else if (remaining > new System.TimeSpan(0, 1, 0, 0)) { display = TacoConfig.Pluralize(remaining.Hours, "hr"); } else if (remaining > new System.TimeSpan(0, 0, 1, 0)) { display = TacoConfig.Pluralize(remaining.Minutes, "min"); } else if (remaining > new System.TimeSpan(0, 0, 0, 0)) { display = TacoConfig.Pluralize(remaining.Seconds, "second"); } else { display = TacoConfig.EndStatus; } return(display); }
private void UpdateUIValue(LeaderboardResult r) { Tournament t = r.tournament; string tournamentType = t.Type; double prizePool = t.PrizePool; double entryFee = double.Parse(t.entryFee.ToString()); LeaderboardRow currentUserRank = r.leaderboard.First(x => x.userId == TacoManager.User.userId); string infos = string.Empty; string details; double moneyValue = 0; int winnerNb = r.winner.Length; prizeIcon.sprite = TacoConfig.currencySprites [t.typeCurrency]; tournamentTypeText.text = TacoConfig.LeaderboardTournamentType.Replace("&type", tournamentType).Replace("&gameName", TacoSetup.Instance.gameName); details = TacoConfig.LeaderboardResultDetails.Replace("&player", t.size.ToString()).Replace("&winner", TacoConfig.Pluralize(t.prize_structure, "Winner")); if (!string.IsNullOrEmpty(t.endDate)) { FinishedButtons.SetActive(true); endedLeaderboardFooter.SetActive(true); rankIcon.transform.parent.gameObject.SetActive(true); int userRank = int.Parse(currentUserRank.rank); if (userRank < 4) { rankIcon.gameObject.SetActive(true); rankIcon.sprite = imageList.Images [currentUserRank.rank]; } else { rankText.transform.parent.gameObject.SetActive(true); rankText.text = TacoConfig.ToShortOrdinal(userRank); } string formatedDay = t.endDate.Substring(5, 2) + "-" + t.endDate.Substring(8, 2) + "-" + t.endDate.Substring(0, 4); infos += TacoConfig.LeaderboardResultEndOn.Replace("&day", formatedDay); if (userRank <= t.prize_structure) { resultStatus.text = "You Won!"; prizeAmount.text = "+ "; moneyValue = t.PrizePool / winnerNb; int rpModifier = 0; if (t.typeCurrency == 0) { rpModifier = 50; } else { rpModifier = 5; } redeemAmount.text = "+ " + TacoManager.FormatRP(Mathf.RoundToInt((float)(moneyValue * rpModifier))); } else { resultStatus.text = "You Lost!"; prizeAmount.text = "+ "; moneyValue = 0; redeemAmount.text = "+ " + TacoManager.FormatRP(0); } } else { resultStatus.text = "Beautiful Job!"; playingLeaderboardFooter.SetActive(true); /*if (currentUserRank.playable) * { * FinishedButtons.SetActive(true); * } * else * { * UnfinishedButtons.SetActive(true); * }*/ rankIcon.transform.parent.gameObject.SetActive(false); countdownTime = Mathf.Max((float)t.RemainingTimeSpan.TotalSeconds, -1); if (countdownTime < 0) { remainingTime.text = "00:00:00"; } } if (t.typeCurrency == 0) { prizePoolText.text = TacoManager.FormatCash(prizePool); entryFeeText.text = TacoManager.FormatCash(entryFee); prizeAmount.text += TacoManager.FormatCash(moneyValue); } else { prizePoolText.text = TacoManager.FormatGTokens(prizePool); entryFeeText.text = TacoManager.FormatGTokens(entryFee); prizeAmount.text += TacoManager.FormatGTokens(moneyValue); } for (int i = 0; i < LeaderBoardMoneyTypeImages.Count; i++) { LeaderBoardMoneyTypeImages [i].sprite = TacoConfig.currencySprites [t.typeCurrency]; } infos += TacoConfig.LeaderboardResultTournamentID.Replace("&id", t.id.ToString()); resultScore.text = "Score: " + currentUserRank.score.ToString(); tournamentDetailsText0.text = infos; tournamentDetailsText1.text = details; /*playAgain.onClick.RemoveAllListeners(); * playAgain.onClick.AddListener (() => { * TacoManager.OpenModalReEnterPanel ( * TacoConfig.ReEnterNotice.Replace ("&type", tournamentType).Replace("&gameName", t.accessType == "public" ? "Public" : "Private"), * entryFeeText.text); * });*/ Reload(r.leaderboard, !string.IsNullOrEmpty(t.endDate)); }
public void UpdateTournamentText(int nb) { transform.Find("Background/TournamentText").GetComponent <Text> ().text = TacoConfig.Pluralize(nb, TacoConfig.ActiveTournament); }
private void UpdateUIValue(ManageTournamentResult data) { tournament = data.tournament; List <string> joinedPlayers = new List <string>() { TacoManager.User.email }; List <string> notJoinedPlayers = new List <string>(); invitedEmails = new List <string>() { TacoManager.User.email }; for (int i = 0; i < tournament.friendEmails.Length; i++) { if (tournament.friendStatuses[i] == "invited") { if (!notJoinedPlayers.Contains(tournament.friendEmails[i])) { notJoinedPlayers.Add(tournament.friendEmails[i]); } if (!invitedEmails.Contains(tournament.friendEmails[i])) { invitedEmails.Add(tournament.friendEmails[i]); } } else if (tournament.friendStatuses[i] == "accepted") { if (!joinedPlayers.Contains(tournament.friendEmails[i])) { joinedPlayers.Add(tournament.friendEmails[i]); } if (!invitedEmails.Contains(tournament.friendEmails[i])) { invitedEmails.Add(tournament.friendEmails[i]); } } } string infos = string.Empty; for (int i = 0; i < MoneyTypeImages.Count; i++) { MoneyTypeImages[i].sprite = TacoConfig.currencySprites[tournament.typeCurrency]; } string createdTime = TacoManager.FormatDate(tournament.createdAt); infos += TacoConfig.ManageTournamentCreatedOn.Replace("&day", createdTime); infos += TacoConfig.LeaderboardResultTournamentID.Replace("&id", tournament.id.ToString()); if (tournament.typeCurrency == 0) { prizePoolText.text = TacoManager.FormatCash(tournament.prize); entryFeeText.text = TacoManager.FormatCash(tournament.entryFee); } else { prizePoolText.text = TacoManager.FormatGTokens(tournament.prize); entryFeeText.text = TacoManager.FormatGTokens(tournament.entryFee); } winnerText.text = TacoConfig.Pluralize(tournament.prize_structure, "Winner"); playeredJoinedText.text = tournament.memberIds.Length + "/" + tournament.size + " Players Joined"; tournamentDetailsText.text = infos; countdownTime = (double)Mathf.Max((float)tournament.RemainingTimeSpan.TotalSeconds, -1); if (countdownTime < 0) { remainingTime.text = "00:00:00"; } seeResultButton.interactable = tournament.entryIds.Contains(TacoManager.User.userId); //destroy old email fields float contentWidth = contentPanel.rect.width; for (int i = 1; i < emailsPanel.childCount; i++) { Destroy(emailsPanel.GetChild(i).gameObject); } //generate new email fields float spacing = 35; float width = (contentPanel.rect.width - spacing); float height = 150; inviteEmailTexts = new List <TournamentInvite>(); for (int i = 0; i < notJoinedPlayers.Count; i++) { GameObject ob = Instantiate(TacoConfig.NotJoinedPlayerPrefab, Vector3.zero, Quaternion.identity, emailsPanel) as GameObject; Text inviteeEmailText = ob.transform.Find("EmailInput/NameInput").GetComponent <Text>(); inviteeEmailText.text = notJoinedPlayers[i]; RectTransform r = ob.GetComponent <RectTransform>(); r.localPosition = new Vector3(0, height * (-0.5f - i) - spacing); r.sizeDelta = new Vector2(width - spacing * 5, height - spacing); ob.transform.Find("EmailInput/Send").GetComponent <Button>().onClick.AddListener(() => { ob.transform.Find("EmailInput/Send").gameObject.SetActive(false); Debug.Log("send reminder"); TournamentManager.Instance.InviteFriend(inviteeEmailText.text); if (!invitedEmails.Contains(inviteeEmailText.text)) { invitedEmails.Add(inviteeEmailText.text); } }); AddRemoveEmailEvent(ob, r, inviteeEmailText.text); } float offset = height * (-notJoinedPlayers.Count); int newEmailCount = tournament.size - joinedPlayers.Count - notJoinedPlayers.Count; for (int i = 0; i < newEmailCount; i++) { GameObject ob = Instantiate(TacoConfig.InviteInputPrefab, Vector3.zero, Quaternion.identity, emailsPanel) as GameObject; RectTransform r = ob.GetComponent <RectTransform>(); r.localPosition = new Vector3(0, height * (-0.5f - i) - spacing + offset); r.sizeDelta = new Vector2(width - spacing * 5, height - spacing); TournamentInvite invite = ob.GetComponent <TournamentInvite>(); invite.reservedEmails = invitedEmails; invite.isInManage = true; if (i > 0) { inviteEmailTexts[i - 1].next = invite; invite.prev = inviteEmailTexts[i - 1]; invite.SetInteractable(false); } if (i == 0) { invite.SetFocus(); } inviteEmailTexts.Add(invite); } //fix if invite more people than tournament size offset = height * (-0.5f - Mathf.Max((notJoinedPlayers.Count + newEmailCount), notJoinedPlayers.Count)); Vector3 linePos = new Vector3(0, offset); //joined players for (int i = 0; i < joinedPlayers.Count; i++) { GameObject ob = Instantiate(joinedPlayerPrefab, Vector3.zero, Quaternion.identity, emailsPanel) as GameObject; ob.transform.Find("EmailInput/NameInput").GetComponent <Text>().text = joinedPlayers[i]; RectTransform r = ob.GetComponent <RectTransform>(); r.localPosition = new Vector3(0, height * (-1.5f - i) - spacing + offset); r.sizeDelta = new Vector2(width - spacing * 5, height - spacing); } contentPanel.sizeDelta = new Vector2(contentPanel.sizeDelta.x, Mathf.Max(5 * height, (int)(Mathf.Max(tournament.size, notJoinedPlayers.Count + joinedPlayers.Count) + 4.5f) * height + spacing)); contentPanel.localPosition = new Vector3(contentPanel.localPosition.x, 0); line.localPosition = linePos; }