//private void InitializeCodeIterators(ArrayMap<TheMatrixCode> knownUniverse) //{ // int width = knownUniverse.Size.Width; // Iterators = new ICodeIterator<TheMatrixCode>[width]; // for (int i = 0; i < width; i++) // { // Iterators[i] = new CodeIteratorRain(0.15f); // knownUniverse[i].Iterator = Iterators[i]; // knownUniverse[i].Start(); // } //} private ArrayMap<TheMatrixCode> BuildTheKnownUniverse() { Size knownUniverseSize = new Size(Grid.Rows, Grid.Columns); ArrayMap<TheMatrixCode> knownUniverse = new ArrayMap<TheMatrixCode>(knownUniverseSize); Random random = new Random(); int charIndex = 0; string character = String.Empty; List<Vector2> positions = new List<Vector2>(Grid.GetPositions()); for (int i = 0; i < knownUniverse.Count; i++) { charIndex = GetRandomCharIndex(random); character = new String((char)Font.Characters[charIndex], 1); MatrixEffectCodeFader fader = new MatrixEffectCodeFader(Highlight, Shadow, random.Next(10, 20)); OnOffCodeFader onOffFader = new OnOffCodeFader(Color.Green, Color.Red, 5.0f); knownUniverse[i] = new TheMatrixCode(fader) { State = CodeModelState.Fading, MyColor = Shadow, RenderPosition = positions[i], KnownUniverseLocation = knownUniverse.GetItemLocation(i), Character = character }; } return knownUniverse; }