public Element AddItem(ABC.Item item) { var element = new Element(item); elements.Add(element); return(element); }
public bool SetItemColor(ABC.Item item, Color color) { if (gameObjectMap.TryGetValue(item.id, out GameObject obj)) { if (!spriteRendererCache.TryGetValue(item.id, out var spriteRenderers)) { spriteRenderers = Util.GatherSpriteRenderers(obj); spriteRendererCache[item.id] = spriteRenderers; } foreach (var spriteRenderer in spriteRenderers) { spriteRenderer.color = color; } return(true); } return(false); }
private ABC.Pitch GetPitchForItem(ABC.Item item) { switch (item.type) { case ABC.Item.Type.Note: var note = item as ABC.Note; return(note.pitch); case ABC.Item.Type.Chord: var chord = item as ABC.Chord; if (noteDirection == NoteCreator.NoteDirection.Down) { return(chord.notes[0].pitch); } else { return(chord.notes[chord.notes.Length - 1].pitch); } default: throw new LayoutException($"Invalid item in beam: {id}"); } }
private void AddDecorations(ABC.Item item, IReadOnlyList <string> decorations, Bounds referenceBounding, GameObject container, ref Bounds bounds) { if (decorations != null) { string decorationText = ""; foreach (var decoration in decorations) { if (fingeringDecorations.Contains(decoration)) { if (decorationText.Length > 0) { decorationText += '\n'; } decorationText += decoration; } } if (decorationText.Length > 0) { var text = spriteCache.GetTextObject(); text.text = decorationText; text.transform.parent = container.transform; var decorationHeight = Mathf.Max(referenceBounding.max.y + 0.2f, minDecorationHeight); var textPos = new Vector3(referenceBounding.min.x, decorationHeight, 0.0f); text.transform.position = textPos; text.ForceMeshUpdate(); Bounds b = new Bounds(); b.SetMinMax(textPos, textPos + text.textBounds.size); bounds.Encapsulate(b); } } }
public Element(ABC.Item item) { this.item = item; }