コード例 #1
0
        private void clearJsonOnEvent(object sender, VideoProcessor.TemplateMatchEventArgs e)
        {
            switch (e.template.eventType)
            {
            case "exit":
                if (JsonSettings.ClearOnExit)
                {
                    clearJsonFile();
                }
                break;

            case "skip":
                if (JsonSettings.ClearOnSkip)
                {
                    clearJsonFile();
                }
                break;

            case "gameover":
                if (JsonSettings.ClearOnGameover)
                {
                    clearJsonFile();
                }
                break;
            }
        }
コード例 #2
0
        private void statsCallback(object sender, VideoProcessor.TemplateMatchEventArgs e)
        {
            tracker?.addEvent(e.template.eventType);

            if (e.template.eventType == "exit")
            {
                // TODO: Send to endpoint or append to file?
            }
        }
コード例 #3
0
        private void warpWorldCallback(object sender, VideoProcessor.TemplateMatchEventArgs e)
        {
            if (!Properties.Settings.Default.WarpWorldEnabled)
            {
                return;
            }
            if (e.template.eventType != "exit")
            {
                return;
            }

            var latestLevel = tracker.latest("level");

            if (latestLevel == null)
            {
                log.Debug("[WarpWorld] Latest was null, no update");
                return;
            }

            if (tracker.latest("clear") != null)
            {
                log.Debug("[WarpWorld] Level was already cleared, not sending loss.");
                return;
            }

            Thread.Sleep(20000);

            var currentLevel = tracker.latest("level");

            if (currentLevel == null || currentLevel.time.Ticks == latestLevel.time.Ticks || currentLevel.data != latestLevel.data)
            {
                log.Debug("[WarpWorld] Loss");
                WarpWorld?.lose();
            }
            else
            {
                log.Debug("[WarpWorld] Rejoined level, not sending loss.");
            }
        }
コード例 #4
0
        private void previewMatch(object sender, VideoProcessor.TemplateMatchEventArgs e)
        {
            var boundary = ImageLibrary.ChangeSize(new Rectangle(e.location, e.template.size), processor.TEMPLATE_FRAME_SIZE, processor.frameSize);

            previewer.SetLastMatch(e.frame, new Rectangle[] { boundary });
        }
コード例 #5
0
 private void broadcastTemplateMatch(object sender, VideoProcessor.TemplateMatchEventArgs e)
 {
     SMMServer.BroadcastEvent(e.template.eventType);
 }