public void Remove(GameImageMatchAction action) { lock (repoLock) { loadedActions.Remove(action); Save(); } }
private static ListViewItem Map(GameImageMatchAction action) { return(new ListViewItem(new[] { action.Type.ToString(), String.Join(",", action.ComparisonImages.Select(x => new FileInfo(x.SourceImagePath).Name)), action.SplitName }) { Tag = action }); }
private void btnGenerate_Click(object sender, EventArgs e) { foreach (var item in state.Run) { var action = new GameImageMatchAction(); action.SplitName = item.Name; action.Type = GameImageMatchActionType.SplitOnMatch; var currentDirectory = System.IO.Directory.GetCurrentDirectory(); var sourceImagePath = System.IO.Path.Combine(currentDirectory, JsonBasedActionRepositoryProvider.RepositoriesFolder, this.state.Run.GameName, item.Name + ".png"); var splitComparisonImage = new SplitComparisonImage(sourceImagePath); action.ComparisonImages.Add(splitComparisonImage); this.actionList.Items.Add(Map(action)); repo.Store(action); } }
public void Store(GameImageMatchAction action) { lock (repoLock) { var existing = loadedActions.FirstOrDefault(x => x.Id == action.Id); if (existing == null) { loadedActions.Add(action); } else { existing.ComparisonImages = action.ComparisonImages; existing.SplitName = action.SplitName; existing.Type = action.Type; } Save(); } }
public MatchActionEditorWindow(GameImageMatchAction actionToEdit = null) { InitializeComponent(); this.MatchAction = actionToEdit != null ? actionToEdit.Clone() : new GameImageMatchAction(Guid.NewGuid(), GameImageMatchActionType.SplitOnMatch, null, new List <SplitComparisonImage>()); foreach (var type in Enum.GetValues(typeof(GameImageMatchActionType)).Cast <GameImageMatchActionType>()) { var index = this.actionTypes.Items.Add(type.ToString()); if (type == this.MatchAction.Type) { this.actionTypes.SelectedIndex = index; } } foreach (var image in MatchAction.ComparisonImages) { this.imageList.Items.Add(image.SourceImagePath); } this.splitName.Text = this.MatchAction.SplitName; }