Exemple #1
0
        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);
     }
 }
Exemple #3
0
    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);
    }
Exemple #4
0
        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();
 }
Exemple #6
0
 public RequestLettersActivity(LetterGroup letterGroup, ActivityDifficulty difficulty) : base(difficulty)
 {
     _prefabCollection = CreatePrefabsForActivity(difficulty, letterGroup);
 }
Exemple #7
0
        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());
        }
Exemple #8
0
 public GatherLettersActivity(LetterGroup letterGroup, ActivityDifficulty difficulty) : base(difficulty)
 {
     _letterGroup      = letterGroup;
     _prefabCollection = CreatePrefabsForActivity(difficulty);
 }