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)); } } } }
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)); } } }