Exemple #1
0
    private void LevelGained(ActorGainedLevelEventArgs args)
    {
        ExpSlider.value = ExpManager.PercentProgressBetweenLevels(player.Experience, player.Level);
        LevelText.text  = "LVL: " + player.Level;

        StartCoroutine("DisplayLevelUp");
    }
    private void SetUpMenu(ActorGainedLevelEventArgs args)
    {
        Perk[] perks = PerkCatalogue.GetPerksForLevelUp();

        if (perks.Length > 0)
        {
            Time.timeScale = 0f;
            gameObject.SetActive(true);

            DisplayHelper.Clear();

            for (int i = 0; i < Buttons.Length; i++)
            {
                if (i < perks.Length)
                {
                    DisplayHelper.Add(Buttons [i], perks [i]);
                    Buttons [i].gameObject.SetActive(true);                     // = true;

                    Buttons [i].GetComponentInChildren <Text> ().text = perks [i].Name;
                }
                else
                {
                    Buttons [i].gameObject.SetActive(false);
                }
            }
        }
    }
    public void GainLevel(ActorGainedLevelEventArgs args)
    {
        Mechanics.Experience.GainLevel();

        //Debug.Log ("Actor has gained Level " + Mechanics.Experience.Level);

        if (OnActorGainedLevel != null)
        {
            OnActorGainedLevel(args);
        }
    }
    private void CheckIfNewLevelReached(ActorGainedExperienceEventArgs args)
    {
        int[] tempExpTable =
            (args.Rewarded.Type == ActorType.Player) ?
            PlayerNextLevelEXPRequirement :
            EnemyNextLevelEXPRequirement;

        float exp = args.Rewarded.Experience;
        int   lvl = args.Rewarded.Level;

        while (lvl < tempExpTable.Length && exp >= tempExpTable [lvl])
        {
            ActorGainedLevelEventArgs tempArgs = new ActorGainedLevelEventArgs(args.Rewarded, ++lvl);

            args.Rewarded.GainLevel(tempArgs);
        }
    }
    void Player_OnActorGainedLevel(ActorGainedLevelEventArgs args)
    {
        /*
         * Perk[] perks = PerksCatalogue.GetPerksForLevelUp ();
         *
         * if (perks.Length > 0)
         * {
         *      int choice = GameRandom.NextInt (perks.Length);
         *
         *      PerksActive.Add (perks [choice]);
         *      PerksCatalogue.MarkPerkAsChosen (perks [choice]);
         *
         *      perks [choice].ApplyPerk (this);
         *
         *      Debug.Log ("Spośród " + perks.Length + " wybrano perk " + perks [choice] + ". Aktywne perki: " + PerksActive.Count);
         * }
         */

        //GameObject.Find ("Level Up Menu").GetComponent<LevelUpMenuScript> ().SetUpMenu ();
    }