private void CallToNetwork() { NetworkCaller.Instance.GetAllSkins((skins, unlocks) => { var currentSkin = NetworkCaller.Instance.PlayerData.SkinId; foreach (var skinData in skins) { var skin = _skinSetting.GetSkinById(skinData.Id); var skinItem = Instantiate(_characterItem, _characterList, false); skinItem.Avatar = skin.skinAvatar; skinItem.IsSelected = skin.id == currentSkin; bool isLocked; skinItem.Id = skin.id; if (skinData.UnlockId <= 0) { isLocked = false; } else { var unlock = unlocks.Find(x => x.Id == skinData.UnlockId); isLocked = !unlock.IsUnlocked(); } skinItem.IsLocked = isLocked; skinItem.OnSelected += () => { if (!skinItem.IsLocked) { _characterInfoPanel.SkinData = skinData; _characterInfoPanel.SetAvatar(skin.skinAvatar); _characterInfoPanel.Show(); } else { var unlock = unlocks.Find(x => x.Id == skinData.UnlockId); _missionPanel.SetMission(unlock.Mission); _missionPanel.Show(); } }; _characterItemControllers.Add(skinItem); } _loadingLayer.SetActive(false); }, () => { NativeDialogManager.Instance.ShowConnectionErrorDialog(CallToNetwork, () => { SceneManager.LoadScene("HomeScene"); }); }); }
private void Start() { _loadingLayer.SetActive(true); Sound2DManager.Instance.StopBgm(); var localHighscore = PlayerPrefsHelper.GetHighScore(); var serverHighscore = NetworkCaller.Instance.PlayerData.HighestScore; var totalScore = PlayerPrefsHelper.GetTotalScore(); var serverTotalScore = NetworkCaller.Instance.PlayerData.TotalScore; if (localHighscore > serverHighscore || totalScore > serverTotalScore) { CheckScore(localHighscore, totalScore); } else { var playerData = NetworkCaller.Instance.PlayerData; _nameText.text = playerData.Nickname; _scoreText.text = $"{ScoreUtil.FormatScore(playerData.HighestScore)}匹"; _rankText.text = playerData.Rank <= 0 ? "-位" : $"{ScoreUtil.FormatScore(playerData.Rank)}位"; _avatar.sprite = _skinSetting.GetSkinById(playerData.SkinId).skinAvatar; UpdateTopPlayers(); } }