use_nsmanagedobjectcontext:
excluded: "ServerDataStore|ResourceHistoryDataStore|LocalDataStore|TemporaryDataStore|BookmarkDataStore|CoreDataManager|CoreDataCore|MOCGenerator"
name: "Positive using NSManagedObjectContext"
- regex: "NSManagedObjectContext\\s"
+ regex: 'NSManagedObjectContext\s'
severity: error
private_iboutlet:
- regex: "@IBOutlet\\s+(?!private[(\\s])"
\ No newline at end of file
+ regex: '@IBOutlet\s+(?!private[(\s])'
+ blank_before_return:
+ name: "Needs blank bfore return"
+ regex: '\S+\R[ \t]*return'
+ severity: error
\ No newline at end of file
guard line.count == 6 else {
print("count not 6")
+
return nil
}
guard let i = equSets.index(where: { $0.identifier == line[0] }) else {
print("Do not find \(line[0]) in EnhancementListItem.txt")
+
return nil
}
} catch {
print("Can not create String from \(path)")
+
return nil
}
}
.components(separatedBy: "\n")
.map { TabSeparatedLine(value: $0) }
.flatMap { (line: TabSeparatedLine) -> ThreeItemsQueue<TabSeparatedLine> in
+
threeLines.push(item: line)
+
return threeLines
}
.map { generate(threeLines: $0) }
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ codeCoverageEnabled = "YES"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
<TestableReference
switch endpoint {
case .port:
+
return .port
case .deck, .deckPort, .presetSelect:
+
return .deck
case .battle,
.airBattle, .ldAirBattle, .combinedLdAirBattle,
.midnightBattle, .midnightSpMidnight,
.combinedMidnightBattle, .combinedEcMidnightBattle, .combinedSpMidnight:
+
return .battle
case .battleResult, .combinedBattleResult:
+
return .battleResult
case .goback, .gobakAlone:
+
return .guardEscape
case .start, .next:
+
return .map
default:
+
return .other
}
import Foundation
-// swiftlint:disable variable_name
+// swiftlint:disable identifier_name
final class AirBase: KCManagedObject {
@NSManaged var rid: Int
import Foundation
import CoreData
-// swiftlint:disable variable_name
+// swiftlint:disable identifier_name
final class AirBasePlaneInfo: KCManagedObject {
@NSManaged var squadron_id: Int
static var shared: AppDelegate {
- // swiftlint:disable:next force_cast
- return NSApplication.shared.delegate as! AppDelegate
+ return NSApplication.shared.delegate as! AppDelegate // swiftlint:disable:this force_cast
}
let appNameForUserAgent: String = "KCD(1.9b36) is not Safari/604.4.7"
var screenShotSaveDirectory: String {
get {
+
return UserDefaults.standard[.screenShotSaveDirectory] ?? ApplicationDirecrories.pictures.path
}
set {
+
UserDefaults.standard[.screenShotSaveDirectory] = newValue
}
}
return true
case #selector(AppDelegate.removeDatabaseFile(_:)):
+
return true
case #selector(openInDeckBuilder(_:)):
+
return true
default:
+
return windowManager.validateMenuItem(menuItem)
}
}
} else if !isDir.boolValue {
print("\(url) is regular file, not direcory.")
+
return parentURL
}
} catch {
print("Can not create screenshot save directory.")
+
return parentURL
}
import Foundation
-// swiftlint:disable variable_name
+// swiftlint:disable identifier_name
final class Basic: KCManagedObject {
@NSManaged var active_flag: NSNumber?
return true
case #selector(BroserWindowController.fleetListAbove(_:)):
+
menuItem.state = (fleetViewPosition == .above ? .on : .off)
+
return true
case #selector(BroserWindowController.fleetListBelow(_:)):
+
menuItem.state = (fleetViewPosition == .below ? .on : .off)
+
return true
case #selector(BroserWindowController.fleetListDivide(_:)):
+
menuItem.state = (fleetViewPosition == .divided ? .on : .off)
+
return true
case #selector(BroserWindowController.fleetListSimple(_:)):
+
menuItem.state = (fleetViewPosition == .oldStyle ? .on : .off)
+
return true
case #selector(BroserWindowController.reorderToDoubleLine(_:)):
+
menuItem.state = (fleetViewController.shipOrder == .doubleLine ? .on : .off)
+
return true
case #selector(BroserWindowController.reorderToLeftToRight(_:)):
+
menuItem.state = (fleetViewController.shipOrder == .leftToRight ? .on: .off)
+
return true
case #selector(BroserWindowController.clearQuestList(_:)):
+
return true
case #selector(BroserWindowController.showHideCombinedView(_:)):
+
if isCombinedMode {
menuItem.title = LocalizedStrings.hideCombinedView.string
return true
case #selector(BroserWindowController.toggleAnchorageSize(_:)):
+
return true
case #selector(BroserWindowController.changeSakutekiCalculator(_:)):
+
return fleetViewController.validateMenuItem(menuItem)
default:
+
return false
}
case 200, 203, 206,
301, 304,
404, 410:
+
return true
default:
+
return false
}
private func position(of shipId: Int) -> (deckNumber: Int?, shipId: Int) {
let store = ServerDataStore.default
+
return store.sync {
store
}
#if ENABLE_JSON_LOG
+
return JSONViewCommand(apiResponse: response, command: concreteCommand(for: response))
+
#else
+
return concreteCommand(for: response)
+
#endif
}
}
let inserted = userInfo[infoKey] as? Set<NSManagedObject>
+
return inserted?.compactMap({ $0 as? T }) ?? []
}
}
.combinedAir,
.eachCombinedWater,
.eachCombinedAir:
+
return .secondOnly
- default: return .normal
+ default:
+
+ return .normal
}
}
switch battleType {
case .combinedAir, .combinedWater, .eachCombinedAir, .eachCombinedWater:
+
return true
default:
+
return false
}
private func damageControlIfPossible(ship: Ship) -> Int {
let store = ServerDataStore.default
+
return store.sync {
let damageControl = ship
case .damageControl:
Debug.print("Damage Control", level: .debug)
+
return Int(Double(ship.maxhp) * 0.2)
case .goddes:
Debug.print("Goddes", level: .debug)
+
return ship.maxhp
}
case .damageControl:
Debug.print("Damage Control", level: .debug)
+
return Int(Double(ship.maxhp) * 0.2)
case .goddes:
Debug.print("Goddes", level: .debug)
+
return ship.maxhp
}
switch type {
- case .none:
- return nil
+ case .none: return nil
case .slightly:
+
return ("●",
[.foregroundColor: #colorLiteral(red: 1, green: 0.925, blue: 0, alpha: 1), .paragraphStyle: paragraphStyle]
)
case .modest:
+
return ("●",
[.foregroundColor: #colorLiteral(red: 1, green: 0.32, blue: 0, alpha: 1), .paragraphStyle: paragraphStyle]
)
case .badly:
+
return ("◼︎",
[.foregroundColor: #colorLiteral(red: 0.87, green: 0, blue: 0.036, alpha: 1), .paragraphStyle: paragraphStyle]
)
switch innerDamageType {
case .none:
+
return nil
case .slightly:
+
return #colorLiteral(red: 1.000, green: 0.956, blue: 0.012, alpha: 0.5)
case .modest:
+
return NSColor.orange.withAlphaComponent(0.5)
case .badly:
+
return NSColor.red.withAlphaComponent(0.5)
}
switch innerDamageType {
case .none:
+
return nil
case .slightly:
+
return NSColor.orange.withAlphaComponent(0.5)
case .modest:
+
return NSColor.orange.withAlphaComponent(0.9)
case .badly:
+
return NSColor.red.withAlphaComponent(0.9)
}
switch controlSize {
case .regular:
+
return pathForRegular
case .small, .mini:
+
return pathForSmall
}
switch innerDamageType {
case .none:
+
return nil
case .slightly:
+
return Polygon()
.move(to: NSPoint(x: 35.0, y: height - 2.0))
.line(to: NSPoint(x: 0.0, y: height - 2.0))
.close()
case .modest:
+
return Polygon()
.move(to: NSPoint(x: 50.0, y: height - 2.0))
.line(to: NSPoint(x: 25.0, y: height - 2.0))
.close()
case .badly:
+
return Polygon()
.move(to: NSPoint(x: 60.0, y: height - 2.0))
.line(to: NSPoint(x: 53.0, y: height - 2.0))
switch innerDamageType {
case .none:
+
return nil
case .slightly:
+
return Polygon()
.move(to: NSPoint(x: 35.0, y: height - 2.0))
.line(to: NSPoint(x: 0.0, y: height - 2.0))
.close()
case .modest:
+
return Polygon()
.move(to: NSPoint(x: 50.0, y: height - 2.0))
.line(to: NSPoint(x: 25.0, y: height - 2.0))
.close()
case .badly:
+
return Polygon()
.move(to: NSPoint(x: 55.0, y: height - 2.0))
.line(to: NSPoint(x: 48.0, y: height - 2.0))
class func dump<T>(_ value: T, name: String? = nil, indent: Int = 0, maxDepth: Int = Int.max, maxItems: Int = Int.max) -> T {
#if DEBUG
+
return Swift.dump(value, name: name, indent: indent, maxDepth: maxDepth, maxItems: maxItems)
+
#else
+
return value
+
#endif
}
import Cocoa
-// swiftlint:disable variable_name
+// swiftlint:disable identifier_name
final class Deck: KCManagedObject {
@NSManaged var flagship: NSNumber?
@NSManaged var ship_5: Int
@NSManaged var ship_6: Int
}
-// swiftlint:eable variable_name
+// swiftlint:eable identifier_name
extension Deck {
guard let object = object else {
self.removeObject(forKey: key)
+
return
}
switch action {
case #selector(ExternalBrowserWindowController.addBookmark(_:)):
+
return webView.mainFrameURL != nil
case #selector(ExternalBrowserWindowController.showBookmark(_:)):
+
if showsBookmarkList() {
menuItem.title = LocalizedStrings.hideBookmark.string
menuItem.title = LocalizedStrings.showBookmark.string
}
+
return true
case #selector(ExternalBrowserWindowController.selectBookmark(_:)):
+
return true
case #selector(ExternalBrowserWindowController.reloadContent(_:)):
+
return true
default:
+
return false
}
switch action {
case #selector(GameViewController.reloadContent(_:)):
+
guard let _ = webView.mainFrame else {
return true
return true
case #selector(GameViewController.deleteCacheAndReload(_:)):
+
return true
case #selector(GameViewController.screenShot(_:)):
+
return true
default: return false
}
- case 3:
- return store.sync { store.deck(by: 3)?.shipId(of: damagedPos - 1) }
+ case 3: return store.sync { store.deck(by: 3)?.shipId(of: damagedPos - 1) }
- default:
- return nil
+ default: return nil
}
}
switch itemTag {
case .delete:
+
return controller.selectionIndex != -1
case .addMark:
+
menuItem.isEnabled = false
guard let clickedRow = tableView?.clickedRow else {
import Foundation
-// swiftlint:disable variable_name
+// swiftlint:disable identifier_name
final class KenzoDock: KCManagedObject {
@NSManaged var complete_time: Int
import Cocoa
-// swiftlint:disable variable_name
+// swiftlint:disable identifier_name
final class KenzoMark: NSManagedObject {
@NSManaged var bauxite: Int
import Cocoa
-// swiftlint:disable variable_name
+// swiftlint:disable identifier_name
final class MasterFurniture: KCManagedObject {
@NSManaged var description_: String?
import Foundation
-// swiftlint:disable variable_name
+// swiftlint:disable identifier_name
final class MasterMapInfo: KCManagedObject {
@NSManaged var id: Int
import Foundation
-// swiftlint:disable variable_name
+// swiftlint:disable identifier_name
final class MasterMission: KCManagedObject {
@NSManaged var details: String?
import Foundation
-// swiftlint:disable variable_name
+// swiftlint:disable identifier_name
final class MasterShip: KCManagedObject {
@NSManaged var afterbull: NSNumber?
import Foundation
-// swiftlint:disable variable_name
+// swiftlint:disable identifier_name
final class MasterSlotItem: KCManagedObject {
@NSManaged var atap: NSNumber?
import Foundation
-// swiftlint:disable variable_name
+// swiftlint:disable identifier_name
final class MasterSlotItemEquipType: KCManagedObject {
@NSManaged var id: Int
import Cocoa
-// swiftlint:disable variable_name
+// swiftlint:disable identifier_name
final class MasterUseItem: KCManagedObject {
@NSManaged var category: NSNumber?
import Foundation
-// swiftlint:disable variable_name
+// swiftlint:disable identifier_name
final class NyukyoDock: KCManagedObject {
@NSManaged var complete_time: Int
import Foundation
-// swiftlint:disable variable_name
+// swiftlint:disable identifier_name
final class Quest: KCManagedObject {
@NSManaged var bonus_flag: Bool
@NSManaged var title: String
@NSManaged var type: Int
}
-// swiftlint:eable variable_name
+// swiftlint:eable identifier_name
extension Quest {
guard let notifyDate = Calendar.current.date(from: nowComp) else {
print("ResourceHistoryManager: Can not create notify date")
+
return
}
return false
}
+
return $0.rect == currentTrimInfo.rect
}
.map { UserDefaults.standard[.scrennshotEditorType] = $0 }
import Cocoa
-// swiftlint:disable variable_name
+// swiftlint:disable identifier_name
final class Ship: KCManagedObject {
@NSManaged dynamic var bull: Int
@NSManaged dynamic var master_ship: MasterShip
@NSManaged dynamic var extraItem: SlotItem?
}
-// swiftlint:eable variable_name
+// swiftlint:eable identifier_name
private let shortSTypeNames: [String] = {
switch apiResponse.api.endpoint {
case .ship3, .getShip, .shipDeck, .powerup, .slotDeprive:
+
return false
case .ship2:
// 特殊任務のクリア時にship2がapi_shipid付きでリクエストされ、その艦娘のデータしかない時があるため
+
return !apiResponse.parameter["api_shipid"].valid
default:
+
return true
}
private func setExtraSlot(_ exSlotItem: Int, to ship: Ship) {
guard exSlotItem != -1, exSlotItem != 0 else {
+
ship.extraItem = nil
+
return
}
guard let found = slotItems.binarySearch(comparator: { $0.id ==? exSlotItem }),
return cell?.tag(forSegment: segmented.selectedSegment) ?? -1
case let control as NSControl:
+
return control.tag
default:
+
return -1
}
import Foundation
-// swiftlint:disable variable_name
+// swiftlint:disable identifier_name
final class SlotItem: KCManagedObject {
@NSManaged var alv: Int
@NSManaged var master_slotItem: MasterSlotItem
@NSManaged var extraEquippedShip: Ship?
}
-// swiftlint:eable variable_name
+// swiftlint:eable identifier_name
extension SlotItem {
switch UserDefaults.standard[.showEquipmentType] {
case .all:
+
return nil
case .nonEquiped:
+
return NSPredicate.isNil(#keyPath(SlotItem.equippedShip.lv))
.and(.isNil(#keyPath(SlotItem.extraEquippedShip.lv)))
case .equiped:
+
return NSPredicate.empty
.and(.isNotNil(#keyPath(SlotItem.equippedShip.lv)))
.or(.isNotNil(#keyPath(SlotItem.extraEquippedShip.lv)))
Bundle.main.loadNibNamed(NSNib.Name("SlotItemWindowTouchBar"),
owner: self,
topLevelObjects: &topLevel)
+
return myTouchBar
}
set {}
}
let store = ServerDataStore.default
+
return store.sync { store.masterSlotItem(by: slotItemId)?.name ?? "" }
}
}
let v = tableView.makeView(withIdentifier: cellIdentifier, owner: nil)
- // swiftlint:disable:next force_cast
- return v as! NSTableCellView
+ return v as! NSTableCellView // swiftlint:disable:this force_cast
}
}
}
@objc var targetEquipment: String? {
+
return item?.targetEquipment
}
func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? {
let item = filteredItems[row]
+
return item.cellType.makeCellWithItem(item: item, tableView: tableView, owner: nil)
}
guard let array = try? store.objects(of: entity, sortDescriptors: sortDesc) else {
print("Can not get \(entity)")
+
return []
}
imageCell.image = nil
needsDisplay = true
+
return
}
let vc = JSONViewWindowController()
vc.showWindow(nil)
+
return vc
}()
#else
let vc = UITestWindowController()
vc.showWindow(nil)
+
return vc
}()
#else
switch action {
case #selector(WindowManager.showHideHistory(_:)):
+
setTitle(to: menuItem,
frontWindow: historyWindowController.window,
show: LocalizedStrings.showHistory.string,
hide: LocalizedStrings.hideHistory.string)
+
return true
case #selector(WindowManager.showHideSlotItemWindow(_:)):
+
setTitle(to: menuItem,
frontWindow: slotItemWindowController.window,
show: LocalizedStrings.showSlotItem.string,
hide: LocalizedStrings.hideSlotItem.string)
+
return true
case #selector(WindowManager.showHideUpgradableShipWindow(_:)):
+
setTitle(to: menuItem,
frontWindow: upgradableShipWindowController.window,
show: LocalizedStrings.showUpgradableShips.string,
hide: LocalizedStrings.hideUpgradableShips.string)
+
return true
case #selector(WindowManager.showHideScreenshotListWindow(_:)):
+
setTitle(to: menuItem,
frontWindow: screenshotListWindowController.window,
show: LocalizedStrings.showScreenshotList.string,
hide: LocalizedStrings.hideScreenshotList.string)
+
return true
case #selector(WindowManager.showHideAirBaseInfoWindow(_:)):
+
setTitle(to: menuItem,
frontWindow: airBaseWindowController.window,
show: LocalizedStrings.showAirbaseInfo.string,
hide: LocalizedStrings.hideAirbaseInfo.string)
+
return true
case #selector(WindowManager.showHidePreferencePanle(_:)):
+
return true
case #selector(WindowManager.openNewBrowser(_:)):
+
return true
case #selector(WindowManager.selectBookmark(_:)):
+
return true
case #selector(WindowManager.showWindowAduster(_:)):
+
return true
case #selector(WindowManager.showShipWindow(_:)),
return canSaveLog
default:
+
return false
}
}
guard let battle = store.createBattle() else {
XCTFail("Can not create battle")
+
return
}
guard let battle = store.createBattle() else {
XCTFail("Can not create battle")
+
return
}
store.ship(by: 4).flatMap {
$0.nowhp = $0.maxhp
- $0.slot_ex = 63765 // 女神
+ $0.slot_ex = 63_765 // 女神
}
store.ship(by: 5).flatMap {
$0.nowhp = $0.maxhp
// ダメコン
- $0.equippedItem = store.slotItem(by: 72418).map { NSOrderedSet(array: [$0]) } ?? []
+ $0.equippedItem = store.slotItem(by: 8_175).map { NSOrderedSet(array: [$0]) } ?? []
}
}