private void mnuLetterGroup_Click(object sender, EventArgs e) { LetterGroup letterGroup = new LetterGroup(); letterGroup.initList(); letterGroup.ShowDialog(); }
private static IEnumerable <LetterGroup> GetGroups(XElement element) { // skipping comboelement since this will require a lot more extra logic for now foreach (var groupElement in element.Elements().TakeWhile(g => g.Name.LocalName != "comboSounds")) { var curGroup = new LetterGroup(groupElement.Name.LocalName); curGroup.Conversions = GetConversions(groupElement).ToArray(); yield return(curGroup); } }
Activity Instantiate(Type type, LetterGroup letterGroup, ActivityDifficulty difficulty) { Debug.Log("Creating new Activity " + type.Name + " with difficulty " + difficulty); if (type == typeof(GatherLettersActivity)) { return(new GatherLettersActivity(letterGroup, difficulty)); } if (type == typeof(RequestLettersActivity)) { return(new RequestLettersActivity(letterGroup, difficulty)); } if (type == typeof(DrawLetterActivity)) { return(new DrawLetterActivity(letterGroup, difficulty)); } throw new NotSupportedException("Not supported activity type: " + type.Name); }
private IDictionary <char, LetterGroup> ToLetterMap(IEnumerable <Letter> letters, out int wildcardOffset) { var result = new Dictionary <char, LetterGroup>(); int offset = 0; foreach (var kv in letters.GroupBy(l => l.Glyph).OrderBy(g => g.Key)) { var group = new LetterGroup(kv, offset); result.Add(kv.Key, group); offset += group.Letters.Count; } wildcardOffset = offset; if (offset >= MAX_BITS) { throw new InvalidOperationException("Number of bits in bit word exhausted"); } return(result); }
public DrawLetterActivity(LetterGroup letterGroup, ActivityDifficulty difficulty) : base(difficulty) { _letters = letterGroup.Letters.Where(i => i.HasOutline).ToArray(); }
public RequestLettersActivity(LetterGroup letterGroup, ActivityDifficulty difficulty) : base(difficulty) { _prefabCollection = CreatePrefabsForActivity(difficulty, letterGroup); }
static IList <PrefabReference> CreatePrefabsForActivity(ActivityDifficulty difficulty, LetterGroup letterGroup) { var letterCount = GetLetterCount(difficulty); var fakeElementCount = GetFakeElementsCount(difficulty); Debug.LogFormat("Spawning {0} letters and {1} fake elements", letterCount, fakeElementCount); var availableLetters = letterGroup.Letters.Where(i => i.LetterScript.CanBeRequested).ToArray(); var letters = PickRandomElementsFromPrefabGroup(availableLetters, letterCount).ToList(); var fakeElements = PickRandomElementsFromPrefabGroup(letterGroup.OtherAvailableElements, fakeElementCount); return(letters.Concat(fakeElements).ToList()); }
public GatherLettersActivity(LetterGroup letterGroup, ActivityDifficulty difficulty) : base(difficulty) { _letterGroup = letterGroup; _prefabCollection = CreatePrefabsForActivity(difficulty); }