示例#1
0
 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);
            }
        }
示例#4
0
 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();
     }
 }
示例#5
0
        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;
        }