Esempio n. 1
0
    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();
    }
Esempio n. 2
0
    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));
    }
Esempio n. 6
0
    private void OnEnable()
    {
        string l =
            PersianFixer.Fix(
                BrExpManager.CalLevel(ProfileManager.Instance().PlayerProfile.PlayerStat.Experience)
                .ToString());

        GetComponent <Text>().text = GetComponent <Text>().text.Replace("*", l);
    }
Esempio n. 7
0
    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();
            }
        };
    }
Esempio n. 9
0
    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();
    }
Esempio n. 10
0
    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();
     }
 }
Esempio n. 12
0
    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;
    }