/// <summary> /// Connects item to display /// </summary> /// <param name="item">Item to connect</param> /// <returns>ColorText object showing the item is connected, or tells the user the item is already connected</returns> public ColorText Connect(IItem item) { if (HasItem(item)) { return(new ColorText(new string[] { $"This ", "Item", " is already connected." }, new ConsoleColor[] { ConsoleColor.White, ConsoleColor.Yellow, ConsoleColor.White })); } connectedTo.Add(item); List <string> retStr = new List <string>(); List <ConsoleColor> retClr = new List <ConsoleColor>(); ColorText left = item.ListInfo(true); foreach (string str in left.GetLines()) { retStr.Add(str); } foreach (ConsoleColor clr in left.Colors()) { retClr.Add(clr); } retStr.Add(item.Type); retClr.Add(ConsoleColor.White); ColorText right = item.ListInfo(false); foreach (string str in right.GetLines()) { retStr.Add(str); } foreach (ConsoleColor clr in right.Colors()) { retClr.Add(clr); } retStr.Add($" connected to this {(IsMonitor ? "monitor" : "tv")}.\n"); retClr.Add(ConsoleColor.White); return(new ColorText(retStr.ToArray(), retClr.ToArray())); }
/// <summary> /// Shows cached item /// </summary> /// <returns>ColorText object of current Item</returns> public ColorText ViewCurItem() { List <string> retStr = new List <string>() { $"Object type is: {curItem.SubType}\nNamed: {curItem.Name}\n\n" }; List <ConsoleColor> retClr = new List <ConsoleColor>() { ConsoleColor.White }; ColorText itm = curItem.ToText(); foreach (string str in itm.GetLines()) { retStr.Add(str); } foreach (ConsoleColor clr in itm.Colors()) { retClr.Add(clr); } return(new ColorText(retStr.ToArray(), retClr.ToArray())); }