示例#1
0
    public void CreateAnagrams(InputField input_field)
    {
        string      letters      = input_field.text;
        LetterPool  pool         = new LetterPool();
        Word        word         = pool.GetLetters(letters.ToLower());
        FileManager file_manager = new FileManager();


        DateTime start = DateTime.Now;

        print(start);
        //Old.TrigramSet ts = Old.FileManager.CreateGraphemeSetFromFile<Old.TrigramSet, Old.Trigram>(load_path.value, Encoding.UTF8);
        GraphemeRuleSet rules = file_manager.CreateGraphemeSetFromFile(load_path.value, Encoding.UTF8);
        TimeSpan        end   = DateTime.Now - start;

        print(end.TotalSeconds);


        start = DateTime.Now;
        print(start);

        //foreach (Old.VariableLetterGroup s in new Old.VariableLetterGroup(letters).SortedAndAnalyzedUniquePermutations(ts))
        //    Old.FileManager.CreateOrUpdateFileWithOneLine(s, save_path.value, Encoding.UTF8);

        //foreach (Word permutation in word.SortedAndAnalyzedUniquePermutations(rules))
        //    file_manager.CreateOrUpdateFileWithOneLine(permutation, save_path.value, Encoding.UTF8);


        file_manager.CreateOrOverwriteFile(word.SortedAndAnalyzedUniquePermutations(rules),
                                           save_path.value,
                                           Encoding.UTF8);

        end = DateTime.Now - start;
        print(end.TotalSeconds);
    }
示例#2
0
 public void BulletDestroy()
 {
     if (letter)
     {
         LetterPool.recall(this.gameObject);       //RETURN TO LIST OF BULLETS
     }
     else
     {
         BulletPool.recall(this.gameObject);
     }
 }
示例#3
0
    public GraphemeRuleSet CreateGraphemeSetFromFile(string path, Encoding encoding)
    {
        var        rules = new GraphemeRuleSet();
        LetterPool pool  = new LetterPool();

        using (StreamReader file = new StreamReader(path, encoding))
        {
            string line = file.ReadLine();

            while (line != null)
            {
                Word rule = pool.GetLetters(line.ToLower());
                rules.AddRule(rule);
                line = file.ReadLine();
            }
        }

        return(rules);
    }
    IEnumerator SpawnLoop()
    {
        while (ENABLED)
        {
            for (int i = 0; i < bulletAmount; i++)
            {
                if (ourStrings[i].Count < 1)
                {
                    ourStrings[i] = getNewTopic();
                    for (int j = 0; j < timeBetweenLetters; j++)
                    {
                        ourStrings[i].Add(' ');
                    }
                }
                char c = ourStrings[i].First();
                ourStrings[i].RemoveAt(0);
                if (c == ' ')
                {
                    continue;
                }

                float   angle     = ArcOffset + (bulletArc / bulletAmount) * i - bulletArc / 4 + currentOffset;
                Vector2 direction = new Vector2(Mathf.Cos(angle), Mathf.Sin(angle));
                var     sp        = LetterPool.rent();
                sp.transform.position = new Vector3(transform.position.x, transform.position.y, 0);
                sp.GetComponent <Bullet>().InitText(direction, 0, bulletSpeed, moveFunc, true);

                sp.transform.localScale = scale;

                sp.transform.rotation = rotation;

                // now set letter
                sp.GetComponent <TextMesh>().text = c.ToString();
            }
            yield return(new WaitForSeconds(bulletfrequency));
        }
    }
 void Awake() => singleton = this;