private void SelectToSelect() { int selectIndex = 0; Console.CursorTop = ActivitySelects[selectIndex].PrintLine; Console.CursorLeft = 0; PrintHelper.PrintWriteColor("=>", ConsoleColor.Red); //Console.Write(); Console.SetCursorPosition(0, 0); while (true) { Controller.KeyName kk = Controller.ReadKeyDown(); switch (kk) { case Controller.KeyName.UpKey: Console.CursorTop = ActivitySelects[selectIndex].PrintLine; Console.CursorLeft = 0; Console.Write(" "); selectIndex -= 1; break; case Controller.KeyName.DownKey: Console.CursorTop = ActivitySelects[selectIndex].PrintLine; Console.CursorLeft = 0; Console.Write(" "); selectIndex += 1; break; case Controller.KeyName.LeftKey: case Controller.KeyName.RightKey: case Controller.KeyName.BackKey: case Controller.KeyName.MenuKey: foreach (var item in ActivitySelects) { if (item.Key == kk) { TriggerSelectByType(item); return; } } break; case Controller.KeyName.EnterKey: TriggerSelectByType(ActivitySelects[selectIndex]); return; } if (selectIndex <= 0) { selectIndex = 0; } if (selectIndex >= ActivitySelects.Count - 1) { selectIndex = ActivitySelects.Count - 1; } Console.CursorTop = ActivitySelects[selectIndex].PrintLine; Console.CursorLeft = 0; PrintHelper.PrintWriteColor("=>", ConsoleColor.Red); } }
//主角移动后重新绘制移动前后地图块 private void UpdateTile(int start, int mx, int my) { Console.CursorLeft = 2 * X; Console.CursorTop = start + Y; Console.Write(Script.NowMapChar[Y, X]); Y += my; X += mx; Console.CursorLeft = 2 * X; Console.CursorTop = start + Y; PrintHelper.PrintWriteColor('你', ConsoleColor.Red); }
public static int PrintSelectText(List <string> array, int s) { if (s == 999) { s = 0; } int SelectIndex = s; if (SelectIndex >= array.Count - 1) { SelectIndex = array.Count - 1; } else if (SelectIndex <= 0) { SelectIndex = 0; } int line = Console.CursorTop; bool goOut = false; foreach (var item in array) { Console.WriteLine(" {0}", item); } while (array.Count > 0 && goOut == false) { Console.SetCursorPosition(0, SelectIndex + line); PrintHelper.PrintWriteColor("=>", ConsoleColor.Red); Controller.KeyName key = Controller.ReadKeyDown(); Console.SetCursorPosition(0, SelectIndex + line); Console.Write(" "); switch (key) { case Controller.KeyName.UpKey: SelectIndex -= 1; break; case Controller.KeyName.DownKey: SelectIndex += 1; break; case Controller.KeyName.LeftKey: break; case Controller.KeyName.RightKey: //goOut = true; break; case Controller.KeyName.EnterKey: goOut = true; break; case Controller.KeyName.BackKey: return(999); case Controller.KeyName.MenuKey: break; } if (SelectIndex >= array.Count - 1) { SelectIndex = array.Count - 1; } else if (SelectIndex <= 0) { SelectIndex = 0; } } return(SelectIndex); }