using UnityEngine; using DG.Tweening; using System; using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine.Networking; using UnityEngine.UI; public class GameOverCanvas : MonoBehaviour { public bool showOnLoad = false; CanvasGroup canvasGroup; [Header("Intro items")] public RectTransform[] middleScalingItems; public RectTransform[] comingFromMiddle; public RectTransform[] prizeFrames; public RectTransform[] comingDown; Dictionary OriginalPositions; Dictionary OriginalScales; [Header("Values")] public TMP_Text p1_name; public TMP_Text p1_l10; public TMP_Text p2_name; public TMP_Text p2_l10; public GameObject p1_red,p2_red,p1_blue,p2_blue; public Image p1_icon, p2_icon; public Sprite redIcon, blueIcon; public RectTransform p1_winner, p2_winner; [Header("Game Over Data")] public Button btnRematch; public Button btnLeave; public TMP_Text rematchWarningLoser; public TMP_Text txtBetRC; public TMP_Text txtRewardRC; public TMP_Text txtRewardCC; public TMP_Text countdownTxt; string returningToMenuText; public float returnToMenuCountdown = 15f; /// Each player needs at least 2.0 RC (20 coin units) to rematch. const int MinimumRematchRcCoins = 20; [Header("Bet Limit")] public TMP_Text txtRcBalance; public TMP_Text txtBetLimitWarning; public CanvasGroup betLimitAdjustPanel; //minVal: 2, max Val 500, when its 500, show ∞ on the text public Slider betLimitSlider; public TMP_Text txtBetLimitSliderValue; public Button btnBetLimitAdjustAccept; public Button btnBetLimitAdjustCancel; const string PersonalBetLimitPrefsKey = "WalkInvest.PersonalBetLimit"; const int BetLimitMin = 2; const int BetLimitMax = 500; const int BetLimitUnlimited = 500; int rematchOpponentBetLimitCoins = BetLimitUnlimited; [Header("Rematch panel")] public CanvasGroup rematchPanel; public RectTransform rematchPopup; public TMP_Text txtMyRCBalance, txtOpponentRCBalance; public TMP_Text txtSelectedBet; public Slider betSlider; public Button btnConfirmBet; public Button btnCancelBet; public static GameOverCanvas instance; void Awake() { instance = this; canvasGroup = GetComponent(); Hide(); CollectOriginalPositionsAndScales(); returningToMenuText = countdownTxt.text; } void Start() { if(showOnLoad){ if(LevelLoadManager.instance == null){ //Load dummy data for testing LevelLoadManager.myPlayer = new MatchmadePlayer(){Name = "test p1", l10_wins = 3, l10_losses = 1}; LevelLoadManager.opponentPlayer = new MatchmadePlayer(){Name = "test p2", l10_wins = 1, l10_losses = 3}; } Show(Team.Red, Team.Red, 3, 1); } btnRematch.onClick.AddListener(OnBtnRematchClicked); btnLeave.onClick.AddListener(OnBtnLeaveGameClicked); betSlider.onValueChanged.AddListener(OnBetSliderValueChanged); btnConfirmBet.onClick.AddListener(OnBetAccepted); btnCancelBet.onClick.AddListener(OnBetCancelled); SetupBetLimitUi(); } void SetupBetLimitUi() { if (betLimitSlider != null) { betLimitSlider.minValue = BetLimitMin; betLimitSlider.maxValue = BetLimitMax; betLimitSlider.wholeNumbers = true; betLimitSlider.onValueChanged.AddListener(OnBetLimitSliderValueChanged); } if (btnBetLimitAdjustAccept != null) btnBetLimitAdjustAccept.onClick.AddListener(OnBetLimitAdjustAccepted); if (btnBetLimitAdjustCancel != null) btnBetLimitAdjustCancel.onClick.AddListener(CloseBetLimitAdjuster); var warningButton = txtBetLimitWarning != null ? txtBetLimitWarning.GetComponentInChildren