public LayerContents NextLayer(string lastLetter) { var layerLetters = new List <Letter>(); letters.ForEach(letter => layerLetters.Add(letter)); return(new LayerContents(layerLetters)); }
public LetterBasedLayerCreator(Letters lettersObject, IAlphabeticPredictor predictor) { this.predictor = predictor; this.lettersObject = lettersObject; this.lookup = new Dictionary <string, Letter>(); lettersObject.ForEach(letter => { lookup[letter.letter] = letter; letters.Add(letter.letter); }); }
public void AddLetter(Key key) { if (!CanType(key.ToString().ToLower()[0])) { return; } int xOffset = 0; Letters.ForEach(x => { xOffset += x.Width; }); var gm = new GameMessage() { Skin = GetASCII(key), PreciseX = this.PreciseX + xOffset, PreciseY = this.PreciseY }; Letters.Add(gm); LetterSequence += key.ToString().ToLower(); RecalculatePoints(); }
public void AddSpace() { if (!CanType(' ')) { return; } int xOffset = 0; Letters.ForEach(x => { xOffset += x.Width; }); var gm = new GameMessage() { Skin = " ", PreciseX = this.PreciseX + xOffset, PreciseY = this.PreciseY }; Letters.Add(gm); LetterSequence += " "; RecalculatePoints(); }
// this class managing physical layout, so should probs handle zoffset, just // know it's a new logical layer? public string Arrange(float zOffset) { layers += 1; var ySpacing = 0.06f; var xSpacing = 0.1f; var yOffset = -1.45f; var xOffset = 0f; var slots = 6; var index = 0; var xStart = -(xSpacing * slots) / 2; var yStart = -(ySpacing * slots) / 2; var x = xStart + xOffset; var y = yStart + yOffset; var xIndex = 0; var z = -1f + zOffset; string placement = "placed: "; letters.ForEach((letter) => { xIndex = index % slots; if (xIndex == 0) { y -= ySpacing; x = xStart + xOffset; } else { x += xSpacing; } index += 1; var knob = knobs.Create(letter, x, y, z); placement += knob.Name + ", "; }); return(placement); }
public void Dispose() { SegmentedCode?.Dispose(); Letters?.ForEach(t => t.Dispose()); }