Example #1
0
    public void Shop(int wave)
    {
        this.wave = wave;
        player.combat.SetHealth(player.combat.GetMaxHealth());
        player.combat.SetMana(player.combat.GetMaxMana());
        player.combat.SetAction(0f);
        List <Skill> missing = new List <Skill>();

        foreach (int i in CanUnlockSkills())
        {
            if (!player.combat.skillLibrary.Exists(x => x != null && Skills.Attr(x.GetID()).id == i))
            {
                missing.Add(Skills.GetDefaultFromSkillInfo(Skills.GetSkillInfoFromID(i)));
            }
        }
        NetworkPlayerController netPlayer = player.combat.server.client
                                            .GetComponent <NetworkPlayerController>();

        //missing.TrimExcess ();
        if (missing.Count == 0)
        {
            DisplaySkills(netPlayer);
            //map.NextWave ();
        }
        else
        {
            while (missing.Count > 3)
            {
                missing.RemoveAt(Random.Range(0, missing.Count));
            }
            int[] ia = new int[missing.Count];
            for (int i = 0; i < missing.Count; i++)
            {
                ia[i] = Skills.Attr(missing[i].GetID()).id;
            }
            netPlayer.RpcDisplayShop(ia);

            //PresentSkills(missing.ToArray());
        }
    }