public void ShowPanel(SummaryPanelData data, UnityAction callback) { ConfirmButton.onClick.RemoveAllListeners(); ConfirmButton.onClick.AddListener(() => { ConfirmCountDownController.StopCountDown(); callback(); }); gameObject.SetActive(true); PlayerNameText.text = data.PlayerName; HandTileManager.SetHandTiles(data.HandInfo.HandTiles, data.HandInfo.OpenMelds, data.HandInfo.WinningTile); WinTypeManager.SetType(data.HandInfo.IsTsumo); var uraDora = data.HandInfo.IsRichi ? data.HandInfo.UraDoraIndicators : null; DoraPanelManager.SetDoraIndicators(data.HandInfo.DoraIndicators, uraDora); // yaku list, total point and yaku rank Timing.RunCoroutine(YakuListCoroutine(data.PointInfo, data.TotalPoints, data.HandInfo.IsRichi, callback)); }
public void SetTransfer(ClientRoundStatus CurrentRoundStatus, int[] places, IList <PointTransfer> transfers, UnityAction callback) { gameObject.SetActive(true); var points = CurrentRoundStatus.Points; for (int placeIndex = 0; placeIndex < SubManagers.Length; placeIndex++) { int playerIndex = CurrentRoundStatus.GetPlayerIndex(placeIndex); if (!IsValidPlayer(playerIndex, CurrentRoundStatus.TotalPlayers)) { continue; } // get corresponding transfers var localTransfers = new List <Transfer>(); foreach (var transfer in transfers) { if (transfer.From == playerIndex) { localTransfers.Add(new Transfer { Type = GetTransferType(transfer.From, transfer.To), Amount = -transfer.Amount }); } if (transfer.To == playerIndex) { localTransfers.Add(new Transfer { Type = Type.None, Amount = transfer.Amount }); } } SubManagers[placeIndex].SetTransfers(points[placeIndex], localTransfers); var place = System.Array.Find(places, p => p == playerIndex); SubManagers[placeIndex].SetPlace(place); } Timing.RunCoroutine(ShowPlacesAnimation(CurrentRoundStatus, places)); // count down ConfirmButton.onClick.RemoveAllListeners(); ConfirmButton.onClick.AddListener(() => { ConfirmCountDownController.StopCountDown(); callback(); }); ConfirmCountDownController.StartCountDown(MahjongConstants.SummaryPanelWaitingTime, callback); }