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()); } }