示例#1
0
        private static bool SampleClickMap(ClickMap map, Vector2i pos, Vector2i bounds, Vector2i offset)
        {
            var(width, height) = bounds;
            var(px, py)        = pos;

            for (var x = -ClickRadius; x <= ClickRadius; x++)
            {
                var ox = px + x;
                if (ox < 0 || ox >= width)
                {
                    continue;
                }

                for (var y = -ClickRadius; y <= ClickRadius; y++)
                {
                    var oy = py + y;

                    if (oy < 0 || oy >= height)
                    {
                        continue;
                    }

                    if (map.IsOccluded((ox, oy) + offset))
                    {
                        return(true);
                    }
                }
            }

            return(false);
        }
示例#2
0
 private void OnRawTextureLoaded(TextureLoadedEventArgs obj)
 {
     if (obj.Image is Image <Rgba32> rgba)
     {
         _textureMaps[obj.Resource] = ClickMap.FromImage(rgba, Threshold);
     }
 }
示例#3
0
        private void OnOnRsiLoaded(RsiLoadedEventArgs obj)
        {
            if (obj.Atlas is Image <Rgba32> rgba)
            {
                var clickMap = ClickMap.FromImage(rgba, Threshold);

                var rsiData = new RsiClickMapData(clickMap, obj.AtlasOffsets);
                _rsiMaps[obj.Resource.RSI] = rsiData;
            }
        }
示例#4
0
        public void MouseDown(MouseButton mb)
        {
            var brush = leftBrush;

            if (mb == MouseButton.Middle)
            {
                brush = middleBrush;
            }
            if (mb == MouseButton.Right)
            {
                brush = rightBrush;
            }

            ClickMap.AddPoint(lastPoint, brush);
            double timeSinceLastClick = (DateTime.Now - lastMouseDownTime).TotalSeconds;

            if (timeSinceLastClick < 0.5)
            {
                Stats.MouseDoubleClicks++;
                Stats.DoubleClickTime.Add(timeSinceLastClick);
                DoubleClickMap.AddPoint(lastPoint, brush);
                RaisePropertyChanged("DoubleClickTimeList");
            }

            lastMouseDownTime = DateTime.Now;

            switch (mb)
            {
            case MouseButton.Left:
                Stats.LeftMouseClicks++;
                isLeftButtonDown = true;
                break;

            case MouseButton.Middle:
                Stats.MiddleMouseClicks++;
                break;

            case MouseButton.Right:
                Stats.RightMouseClicks++;
                break;
            }
            Stats.ClicksPerHour.Increase();
            RegisterActivity();
            RaisePropertyChanged("ClicksPerHourList");
            RaisePropertyChanged("Report");

            // Only update movement speed graph when clicking...
            RaisePropertyChanged("MovementSpeedList");
            RaisePropertyChanged("MovementDirectionList");
        }
 public RsiClickMapData(ClickMap clickMap, Dictionary <RSI.StateId, Vector2i[][]> offsets)
 {
     ClickMap = clickMap;
     Offsets  = offsets;
 }