Пример #1
0
        protected override void OnDeltaChanged()
        {
            base.OnDeltaChanged();
            var areaList = AreaList;

            foreach (var area in areaList)
            {
                if (area.IsInArea(this, Delta))
                {
                    var oldStatus = area.Status;
                    if (oldStatus != AreaStatus.Pressed)
                    {
                        //AreaStatusDict[area] = AreaStatus.Pressed;
                        area.Status = AreaStatus.Pressed;
                        OnAreaStatusChanged?.Invoke(this, new AreaStatusChangeEventArgs <IdentifierType>(area, oldStatus, AreaStatus.Pressed));
                    }
                }
                else
                {
                    var oldStatus = area.Status;
                    if (oldStatus != AreaStatus.Released)
                    {
                        //AreaStatusDict[area] = AreaStatus.Released;
                        area.Status = AreaStatus.Released;
                        OnAreaStatusChanged?.Invoke(this, new AreaStatusChangeEventArgs <IdentifierType>(area, oldStatus, AreaStatus.Released));
                    }
                }
            }
        }
Пример #2
0
 protected override void OnJoystickUp()
 {
     foreach (var area in AreaList)
     {
         var oldStatus = area.Status;
         if (oldStatus != AreaStatus.Released)
         {
             //AreaStatusDict[area] = AreaStatus.Released;
             area.Status = AreaStatus.Released;
             OnAreaStatusChanged?.Invoke(this, new AreaStatusChangeEventArgs <IdentifierType>(area, oldStatus, AreaStatus.Released));
         }
     }
 }