public void AddAvailableSkill <T>(Action <T> predicate = null) where T : SkillBoughtItem { if (!availableSkills.Any(x => x.GetType().IsEqual <T> ())) { availableSkills.Add(SkillBoughtItem.CreatePrimitiveWithOwn <T> (_race, predicate)); RefreshSyncAvailableSkills(); return; } }
public void PickAvailableSkill(SkillBoughtItem boughtItem) { if (!availableSkills.Any(x => x.GetType().IsAssignableFrom(boughtItem.GetType()))) { return; } boughtItem.Pick(_race, 1); boughtItem.learned = true; RefreshSyncAvailableSkills(); RefeshSyncSkills(); RpcPickedCallback(); }