private void Search(int StartX, int StartY, int TargetX, int TargetY) { foreach (var item in Map) { item.IsMoved = false; } BranchList.Clear(); OverBranch = null; SearchEnd = false; int MaxSearchNum = MapSizeX * MapSizeY; Branch branch = branchPools.GetItem(null); branch.Endx = TargetX; branch.Endy = TargetY; branch.Add(Map[StartX, StartY]); BranchList.Add(branch); int Count = 0; for (int i = 0; i < MaxSearchNum; i++) { if (SearchEnd) { return; } //步进 Count = BranchList.Count; for (int j = 0; j < Count; j++) { GoNext(BranchList[j]); } } }
private void MergingMainViewModel_Deactivated(object sender, DeactivationEventArgs e) { BranchList.Clear(); CandidateList.Clear(); _filterTextChangeTimer?.Dispose(); _filterTextChangeTimer = null; }