private void OnEnable() { var profileManager = ProfileManager.Instance(); Statistics stat = profileManager.PlayerProfile.PlayerStat; level = BrExpManager.CalLevel(stat.Experience); exp = stat.Experience; _prexp = (level > 0) ? BrExpManager.CalXp(level - 1) : 0; _nextxp = BrExpManager.CalXp(level); Debug.Log(string.Format("Level : {0} \n start XP : {1} \n Current Level : {2} \n Next Level: {3}", level, exp, _prexp, _nextxp)); float percentXp = (float)(exp - _prexp) / (_nextxp - _prexp); ExperienceSlider.fillAmount = percentXp; LevelText.text = PersianFixer.Fix((level + 1).ToString(), true, true); int newXP = addedXp + exp; StartCoroutine(ShowExpChange(newXP)); stat.Experience = newXP; //stat.Level = BrExpManager.CalLevel(newXP); profileManager.PlayerProfile.PlayerStat = stat; profileManager.SaveProfile(); }
IEnumerator ShowExpChange(int Desier) { float speed = 1;// (Desier - exp)/3; showChange: Debug.Log(level); //ExperienceSlider.fillAmount = 0; while (exp < Desier) { exp++; if (exp > _nextxp) { level++; _prexp = _nextxp; _nextxp = BrExpManager.CalXp(level); exp--; LevelText.text = PersianFixer.Fix((level + 1).ToString(), true, true); ExperienceSlider.fillAmount = 0; goto showChange; } float amount = (float)(exp - _prexp) / (_nextxp - _prexp); ExperienceSlider.fillAmount = amount;// / speed; yield return(null); //yield return ChangeSlider(speed,amount); } }
public void ShowMainStats(Statistics stats) { int level = BrExpManager.CalLevel(stats.Experience); if (LevelText != null) { LevelText.text = PersianFixer.Fix((level + 1).ToString(), true, true); } if (WinCounText != null) { WinCounText.text = stats.TotalWins.ToString(); } if (KillCountText != null) { KillCountText.text = stats.TotalKills.ToString(); } int preXp = BrExpManager.CalXp(level); int nextXp = BrExpManager.CalXp(level + 1); LevelProgressImage.fillAmount = (float) (stats.Experience - preXp) / (nextXp - preXp); LevelProgressText.text = string.Format( "{0}/{1}", PersianFixer.Fix((stats.Experience - preXp).ToString(), true, true), PersianFixer.Fix((nextXp - preXp).ToString(), true, true)); }
public void ShowStats() { PhotonNetwork.LeaveRoom(); if (Avatar != null) { Avatar.SetProfile(ProfileManager.Instance().PlayerProfile); } thisMatchStat.PlayTime = _finishTime - _startTime; win = rank == 1; thisMatchStat.Wins = win ? 1 : 0; WinText.SetActive(win); RankText.gameObject.SetActive(!win); RankText.text = "# " + rank; MatchXP xp = BrExpManager.CalculateXP(thisMatchStat); KillCount.text = thisMatchStat.Kills.ToString(); KillPoint.text = (xp.K + xp.Dk + xp.Tk).ToString(); WinPoint.text = xp.W.ToString(); _matchTotalXp = xp.K + xp.Dk + xp.Tk + xp.W + xp.AP; MatchText.text = _matchTotalXp.ToString(); thisMatchStat.Experience = _matchTotalXp; rewardShow.gameObject.SetActive(true); levelSlider.addedXp = _matchTotalXp; GetComponent <PlayableDirector>().Play(); SaveMatchRecordToProfile(); Invoke("ShowReward", 1f); }
public void ShowRewards(int exp) { profile = ProfileManager.Instance().PlayerProfile; int experience = profile.PlayerStat.Experience; _newLevel = BrExpManager.CalLevel(experience); _currLevel = BrExpManager.CalLevel(experience - exp); if (_currLevel == _newLevel) { return; } List <Inventory> allRewards = new List <Inventory>(); LevelReward rewards = new LevelReward(); for (int i = _currLevel; i < _newLevel; i++) { rewards.StandardReward.AddRange(rewardsList[i].StandardReward); rewards.BattlePassReward.AddRange(rewardsList[i].BattlePassReward); allRewards.AddRange(rewardsList[i].StandardReward); allRewards.AddRange(rewardsList[i].BattlePassReward); } foreach (Inventory reward in allRewards) { switch (reward.type) { case InventoryType.Character: profile.AvalableCharacters.Add(reward.Value); break; case InventoryType.Para: profile.AvalableParas.Add(reward.Value); break; case InventoryType.Flag: profile.AvalableFlags.Add(reward.Value); break; case InventoryType.Emot: profile.AvalableEmotes.Add(reward.Value); break; case InventoryType.Coin: profile.CoinCount += (reward.Value); break; case InventoryType.Nothing: break; default: throw new ArgumentOutOfRangeException(); } } ProfileManager.Instance().SaveProfile(); StartCoroutine(ShowRewardImage(rewards)); }
private void OnEnable() { string l = PersianFixer.Fix( BrExpManager.CalLevel(ProfileManager.Instance().PlayerProfile.PlayerStat.Experience) .ToString()); GetComponent <Text>().text = GetComponent <Text>().text.Replace("*", l); }
private void UpdateStat() { StatText.text = BrExpManager.CalLevel(profile.PlayerStat.Experience).ToString() + "\n" + profile.PlayerStat.TotalWins + "\n" + profile.PlayerStat.TotalKills; Health.fillAmount = player.Health / (float)player.MaxHealth; Shield.fillAmount = player.Shield / (float)player.MaxShield; }
void Start() { Statistics stat = ProfileManager.Instance().PlayerProfile.PlayerStat; _level = BrExpManager.CalLevel(stat.Experience); _exp = stat.Experience; BrGameManager.Instance.OnMatchFinished.AddListener(() => { rank = Mathf.Max(BrPlayerTracker.Instance.PlayerCounter, rank); if (rank == 1) { _finishTime = Time.time; } ShowStats(); }); BrPlayerTracker.Instance.OnMasterPlayerRegister += (player) => _startTime = Time.time; // Kill counter BrPlayerTracker.Instance.OnPlayerDead += (victim, killer, weaponName) => { _finishTime = Time.time; if (killer == BrCharacterController.MasterCharacter) { RecordKill(); } if (victim == BrCharacterController.MasterCharacter) { rank = BrPlayerTracker.Instance.PlayerCounter + 1; } }; //Pickup counter BrPickupManager.Instance.OnPickedup += (player, pickup) => { if (player == BrCharacterController.MasterCharacter) { RecordPickup(pickup); } }; // AirDrop counter BrAirdropController.Instance.OnUnpack += player => { if (player == BrCharacterController.MasterCharacter) { RecordOpenSupplyDrop(); } }; }
private void Lose(BrCharacterController player) { var profile = player.profile; RemoteWinerName.text = player.UserID; StatText.text = BrExpManager.CalLevel(profile.PlayerStat.Experience) + "\n" + profile.PlayerStat.TotalWins + "\n" + profile.PlayerStat.TotalKills; Health.fillAmount = player.Health / (float)player.MaxHealth; Shield.fillAmount = player.Shield / (float)player.MaxShield; RemoteWinerDirector.Play(); }
public void GiveBattlePass() { PlayerProfile.HasBattlePass = true; int level = BrExpManager.CalLevel(PlayerProfile.PlayerStat.Experience); for (var i = 0; i < level; i++) { LevelReward reward = levelRewards.LevelRewards[i]; foreach (Inventory inventory in reward.BattlePassReward) { if (inventory.GetProb() == ProbType.NoProb) { continue; } if (!HaveItem(inventory.GetProb(), inventory.Value)) { AddProb(inventory.GetProb(), inventory.Value); } } } }
public void ShowStatDetails() { if (LevelText != null) { LevelText.text = BrExpManager.CalLevel(_stats.Experience).ToString(); } if (WinCounText != null) { WinCounText.text = _stats.TotalWins.ToString(); } if (KillCountText != null) { KillCountText.text = _stats.TotalKills.ToString(); } if (DoubleKillText != null) { DoubleKillText.text = _stats.DoubleKills.ToString(); } if (TripleKillText != null) { TripleKillText.text = _stats.TripleKills.ToString(); } if (WeaponCountText != null) { WeaponCountText.text = _stats.GunsCollected.ToString(); } if (ItemCountText != null) { ItemCountText.text = _stats.ItemsCollected.ToString(); } if (DropCountText != null) { DropCountText.text = _stats.SupplyDrop.ToString(); } if (CrateCountText != null) { CrateCountText.text = _stats.SupplyCreates.ToString(); } }
private void SetSlider() { int xp = ProfileManager.Instance().PlayerProfile.PlayerStat.Experience; int level = BrExpManager.CalLevel(xp); int cuExp = BrExpManager.CalXp(level); int nEXP = BrExpManager.CalXp(level + 1); int last = BrExpManager.CalXp(20); float sl = 0; int count = 0; slider.maxValue = 0; for (int i = 0; i < RewardsList.LevelRewards.Count; i++) { count += RewardsList.LevelRewards[i].BattlePassReward.Count; slider.maxValue += 0.5f; } slider.maxValue += count; for (int i = 0; i < level; i++) { sl += RewardsList.LevelRewards[i].BattlePassReward.Count + 0.5f; } float sl2 = 0; for (int i = 0; i < level + 1; i++) { sl2 += RewardsList.LevelRewards[i].BattlePassReward.Count + 0.5f; } float levelLength = sl2 - sl; sl += ((float)(xp - cuExp) / (nEXP - cuExp)) * (levelLength); //sl += (level)/ (2f * count); slider.value = sl; sessionProgress = sl; }