private bool TryGetPreviousSideNotEmpty(bool isEnd = false) { RefreshSideNameList(); int index = SideNameList.Count; do { if (!isEnd) { if (SideNameList.Contains(SideName)) { index = SideNameList.IndexOf(SideName); } else { return(false); } } if (index <= 0) { return(false); } isEnd = false; } while ((!TrySelectSide(--index)) || (!TryGetPreviousShotNotEmpty(true))); return(true); }
private bool TryGetNextSideNotEmpty(bool isHead = false) { int index = -1; RefreshSideNameList(); do { if (!isHead) { if (SideNameList.Contains(SideName)) { index = SideNameList.IndexOf(SideName); } else { return(false); } } if (index >= SideNameList.Count - 1) { return(false); } isHead = false; } while ((!TrySelectSide(++index)) || (!TryGetNextShotNotEmpty(true))); return(true); }
public void SwitchSide(string sideName) { var index = SideNameList.IndexOf(sideName); if (TrySelectSide(index) && TrySelectShot(0) && TrySelectDefect(0)) { } return; }