error: 60
min_length:
warning: 1
-type_body_length:
- warning: 300
- error: 900
function_body_length:
warning: 40
error: 100
@IBOutlet var debugMenuItem: NSMenuItem!
@IBOutlet var billingWindowMenuItem: NSMenuItem!
- private lazy var historyWindowController: HistoryWindowController = {
+ fileprivate lazy var historyWindowController: HistoryWindowController = {
HistoryWindowController()
}()
- private lazy var slotItemWindowController: SlotItemWindowController = {
+ fileprivate lazy var slotItemWindowController: SlotItemWindowController = {
SlotItemWindowController()
}()
- private lazy var preferencePanelController: PreferencePanelController = {
+ fileprivate lazy var preferencePanelController: PreferencePanelController = {
PreferencePanelController()
}()
- private lazy var upgradableShipWindowController: UpgradableShipsWindowController = {
+ fileprivate lazy var upgradableShipWindowController: UpgradableShipsWindowController = {
UpgradableShipsWindowController()
}()
- private lazy var airBaseWindowController: AirBaseWindowController = {
+ fileprivate lazy var airBaseWindowController: AirBaseWindowController = {
AirBaseWindowController()
}()
- private lazy var browserContentAdjuster: BrowserContentAdjuster = {
+ fileprivate lazy var browserContentAdjuster: BrowserContentAdjuster = {
BrowserContentAdjuster()
}()
- private(set) lazy var screenshotListWindowController: ScreenshotListWindowController = {
+ fileprivate(set) lazy var screenshotListWindowController: ScreenshotListWindowController = {
let wc = ScreenshotListWindowController()
let _ = wc.window
return wc
}()
- private lazy var shipWindowController: ShipWindowController = {
+ fileprivate lazy var shipWindowController: ShipWindowController = {
ShipWindowController()
}()
- private lazy var shipMDWindowController: ShipMasterDetailWindowController = {
+ fileprivate lazy var shipMDWindowController: ShipMasterDetailWindowController = {
ShipMasterDetailWindowController()
} ()
- private lazy var equipmentWindowController: EquipmentWindowController = {
+ fileprivate lazy var equipmentWindowController: EquipmentWindowController = {
EquipmentWindowController()
}()
- private lazy var mapWindowController: MapWindowController = {
+ fileprivate lazy var mapWindowController: MapWindowController = {
MapWindowController()
}()
private var browserWindowControllers: [ExternalBrowserWindowController] = []
private var updaters: [() -> Void] = []
- private var logedJSONViewWindowController: JSONViewWindowController?
+ fileprivate var logedJSONViewWindowController: JSONViewWindowController?
private var isLoadedMainMenu = false
var screenShotSaveDirectory: String {
func fire(_ timer: Timer) {
updaters.forEach { $0() }
}
-
- // MARK: - IBActions
+}
+// MARK: - IBActions
+extension AppDelegate {
private func isFrontMostWindow(_ window: NSWindow) -> Bool {
return window.isVisible && window.isMainWindow
}
fileprivate var gameViewController: GameViewController!
fileprivate var fleetViewController: FleetViewController!
fileprivate var tabViewItemViewControllers: [MainTabVIewItemViewController] = []
+ fileprivate var ancherageRepariTimerViewController: AncherageRepairTimerViewController!
private var resourceViewController: ResourceViewController!
- private var ancherageRepariTimerViewController: AncherageRepairTimerViewController!
private var docksViewController: DocksViewController!
private var shipViewController: ShipViewController!
private var powerUpViewController: PowerUpSupportViewController!
window?.setFrame(winFrame, display: true, animate: true)
combinedViewController.view.isHidden = true
}
+}
+// MARK: - IBAction
+extension BroserWindowController {
private func showView(number: Int) {
informations.selectTabViewItem(at: number)
}
-
- // MARK: - IBAction
@IBAction func reloadContent(_ sender: AnyObject?) {
gameViewController.reloadContent(sender)
}
class CalculateDamageCommand: JSONCommand {
private let store = TemporaryDataStore.oneTimeEditor()
- private var battleType: BattleType = .normal
- private var damages: [Damage] {
+ fileprivate var battleType: BattleType = .normal
+ fileprivate var damages: [Damage] {
let array = store.sortedDamagesById()
if array.count != 12 {
buildDamagedEntity()
}
return array
}
- private var isCombinedBattle: Bool {
+ fileprivate var isCombinedBattle: Bool {
switch battleType {
case .combinedAir, .combinedWater, .eachCombinedAir, .eachCombinedWater:
return true
}
}
- private func updateBattleCell() {
+ fileprivate func updateBattleCell() {
guard let battle = store.battle()
else { return print("Battle is invalid.") }
battle.battleCell = (battle.no == 0 ? nil : battle.no as NSNumber)
}
-
- // MARK: - Primitive Calclator
+}
+// MARK: - Primitive Calclator
+extension CalculateDamageCommand {
private func isTargetFriend(eFlags: [Int]?, index: Int) -> Bool {
if let eFlags = eFlags, 0..<eFlags.count ~= index {
return eFlags[index] == 1
}
return true
}
- private func calculateHogeki(baseKeyPath: String, _ bf: () -> BattleFleet) {
+ fileprivate func calculateHogeki(baseKeyPath: String, _ bf: () -> BattleFleet) {
calculateHogeki(baseKeyPath: baseKeyPath, battleFleet: bf())
}
- private func calculateHogeki(baseKeyPath: String, battleFleet: BattleFleet = .first) {
+ fileprivate func calculateHogeki(baseKeyPath: String, battleFleet: BattleFleet = .first) {
let j = json as NSDictionary
guard let data = j.value(forKeyPath: baseKeyPath) as? [String: Any],
let dfList = data["api_df_list"] as? [Any],
}
}
}
- private func calculateFDam(baseKeyPath: String, _ bf: () -> BattleFleet) {
+ fileprivate func calculateFDam(baseKeyPath: String, _ bf: () -> BattleFleet) {
calculateFDam(baseKeyPath: baseKeyPath, battleFleet: bf())
}
- private func calculateFDam(baseKeyPath: String, battleFleet: BattleFleet = .first) {
+ fileprivate func calculateFDam(baseKeyPath: String, battleFleet: BattleFleet = .first) {
let j = json as NSDictionary
guard let data = j.value(forKeyPath: baseKeyPath) as? [String: Any],
let koukuDamages = data["api_fdam"] as? [Int]
Debug.print("FDam \(idx + shipOffset) -> \(damage)", level: .debug)
}
}
-
- // MARK: - Battle phase
- private func calcKouku() {
+}
+// MARK: - Battle phase
+extension CalculateDamageCommand {
+ fileprivate func calcKouku() {
calculateFDam(baseKeyPath: "api_data.api_kouku.api_stage3")
calculateFDam(baseKeyPath: "api_data.api_kouku2.api_stage3")
calculateFDam(baseKeyPath: "api_data.api_kouku2.api_stage3_combined", bf)
}
- private func calcOpeningAttack() {
+ fileprivate func calcOpeningAttack() {
// 艦隊 戦闘艦隊
// 連合vs通常(水上) 第2
// 連合vs通常(機動) 第2
}
}
}
- private func calcOpeningTaisen() {
+ fileprivate func calcOpeningTaisen() {
calculateHogeki(baseKeyPath: "api_data.api_opening_taisen") {
isCombinedBattle ? .second : .first
}
}
- private func calcHougeki1() {
+ fileprivate func calcHougeki1() {
// 艦隊 戦闘艦隊
// 連合vs通常(水上) 第1
// 連合vs通常(機動) 第2
}
}
}
- private func calcHougeki2() {
+ fileprivate func calcHougeki2() {
// 艦隊 戦闘艦隊
// 連合vs通常(水上) 第1
// 連合vs通常(機動) 第1
}
}
}
- private func calcHougeki3() {
+ fileprivate func calcHougeki3() {
// 艦隊 戦闘艦隊
// 連合vs通常(水上) 第2
// 連合vs通常(機動) 第1
}
}
}
- private func calcRaigeki() {
+ fileprivate func calcRaigeki() {
// 艦隊 戦闘艦隊
// 連合vs通常(水上) 第2
// 連合vs通常(機動) 第2
}
}
- private func calculateMidnightBattle() {
+ fileprivate func calculateMidnightBattle() {
// 艦隊 戦闘艦隊
// 連合vs通常(水上) 第2
// 連合vs通常(機動) 第2
isCombinedBattle ? .second : .first
}
}
-
- // MARK: - Battle type
- private func calculateBattle() {
+}
+// MARK: - Battle type
+extension CalculateDamageCommand {
+ fileprivate func calculateBattle() {
updateBattleCell()
calcKouku()
calcHougeki3()
calcRaigeki()
}
- private func calcCombinedBattleAir() {
+ fileprivate func calcCombinedBattleAir() {
updateBattleCell()
calcKouku()
calcHougeki2()
calcHougeki3()
}
- private func calcEachBattleAir() {
+ fileprivate func calcEachBattleAir() {
updateBattleCell()
calcKouku()
calcRaigeki()
calcHougeki3()
}
- private func calcEnemyCombinedBattle() {
+ fileprivate func calcEnemyCombinedBattle() {
// same phase as combined air
calcCombinedBattleAir()
}
-
+}
+extension CalculateDamageCommand {
+
// MARK: - Damage control
- private func damageControlIfPossible(nowhp: Int, ship: Ship) -> Int {
+ fileprivate func damageControlIfPossible(nowhp: Int, ship: Ship) -> Int {
var nowHp = nowhp
if nowHp < 0 { nowHp = 0 }
let maxhp = ship.maxhp
}
return nowHp
}
- private func removeFirstDamageControl(of ship: Ship) {
+ fileprivate func removeFirstDamageControl(of ship: Ship) {
let equiped = ship.equippedItem
let newEquiped = equiped.array
let store = ServerDataStore.default
// 配置しようとする位置に今配置されている艦娘
let replaceIndex = (deckNumber - 1) * 6 + shipIndex
- guard 0..<shipIds.count ~= replaceIndex
- else { return }
+ guard 0..<shipIds.count ~= replaceIndex else { return }
let replaceShipId = shipIds[replaceIndex]
// 艦隊に配備
- guard 0..<decks.count ~= (deckNumber - 1)
- else { return }
+ guard 0..<decks.count ~= (deckNumber - 1) else { return }
decks[deckNumber - 1].setShip(id: shipId, for: shipIndex)
// 入れ替え
fileprivate var bookmarkShowing: Bool = false
fileprivate var waitingBookmarkItem: Bookmark?
- private lazy var bookmarkListViwController: BookmarkListViewController? = {
+ fileprivate lazy var bookmarkListViwController: BookmarkListViewController? = {
[weak self] in
guard let `self` = self else { return nil }
let controller = BookmarkListViewController()
super.observeValue(forKeyPath: keyPath, of: object, change: change, context: context)
}
- override func validateMenuItem(_ menuItem: NSMenuItem) -> Bool {
- guard let action = menuItem.action else { return false }
- switch action {
- case Selector.addBookmark:
- return webView.mainFrameURL != nil
- case Selector.showBookmark:
- if showsBookmarkList() {
- menuItem.title = NSLocalizedString("Hide Bookmark", comment: "Menu item title, Hide Bookmark")
- } else {
- menuItem.title = NSLocalizedString("Show Bookmark", comment: "Menu item title, Show Bookmark")
- }
- return true
- case Selector.selectBookmark:
- return true
- case Selector.reloadContent:
- return true
- default:
- return false
- }
- }
override func swipe(with event: NSEvent) {
if event.deltaX > 0 && showsBookmarkList() {
showBookmark(nil)
fileprivate func showsBookmarkList() -> Bool {
return webView.frame.origin.x > 0
}
+}
+
+// MARK: - IBAction
+extension ExternalBrowserWindowController {
+ override func validateMenuItem(_ menuItem: NSMenuItem) -> Bool {
+ guard let action = menuItem.action else { return false }
+ switch action {
+ case Selector.addBookmark:
+ return webView.mainFrameURL != nil
+ case Selector.showBookmark:
+ if showsBookmarkList() {
+ menuItem.title = NSLocalizedString("Hide Bookmark", comment: "Menu item title, Hide Bookmark")
+ } else {
+ menuItem.title = NSLocalizedString("Show Bookmark", comment: "Menu item title, Show Bookmark")
+ }
+ return true
+ case Selector.selectBookmark:
+ return true
+ case Selector.reloadContent:
+ return true
+ default:
+ return false
+ }
+ }
- // MARK: - IBAction
@IBAction func selectBookmark(_ sender: AnyObject?) {
guard let item = sender?.representedObject as? Bookmark
else { return }
return pow((w / ScreenshotListViewController.def - 0.2) / 0.8, 1.0 / 3.0)
}
- private func reloadData() {
+ fileprivate func reloadData() {
guard let f = try? FileManager
.default
.contentsOfDirectory(at: screenshotSaveDirectoryURL, includingPropertiesForKeys: nil) else {
}
- private func saveCache() {
+ fileprivate func saveCache() {
let data = NSKeyedArchiver.archivedData(withRootObject: screenshots.screenshots)
do {
try data.write(to: cachURL)
return loaded
}
- private func incrementCacheVersion(forUrl url: URL) {
+ fileprivate func incrementCacheVersion(forUrl url: URL) {
let infos = deletedPaths.filter { $0.url == url }
if var info = infos.first {
info.incrementVersion()
.first?
.version ?? 0
}
-
- // MARK: - IBAction
+}
+
+// MARK: - IBAction
+extension ScreenshotListViewController {
@IBAction func reloadData(_ sender: AnyObject?) {
reloadData()
}
var slotItemID: NSNumber? {
didSet {
slotItemController.content = nil
- guard let itemId = slotItemID as? Int,
- let slotItem = ServerDataStore.default.slotItem(byId: itemId)
- else { return }
- slotItemController.content = slotItem
+ guard let itemId = slotItemID as? Int else { return }
+ slotItemController.content = ServerDataStore.default.slotItem(byId: itemId)
needsDisplay = true
}
}
private var maskImage: CGImage? {
- if let alv = slotItemAlv as? Int,
- alv != 0 { return airLevelMaskImage }
- if let lv = slotItemLevel as? Int,
- lv != 0 { return levelMaskImage }
+ if let alv = slotItemAlv as? Int, alv != 0 { return airLevelMaskImage }
+ if let lv = slotItemLevel as? Int, lv != 0 { return levelMaskImage }
return nil
}
private var levelMaskImage: CGImage {
if let r = SlotItemLevelView.sLevelMaskImage { return r }
-
SlotItemLevelView.sLevelMaskImage = maskImage(middle1: 0.75, middle2: 0.85)
return SlotItemLevelView.sLevelMaskImage!
}
private var airLevelMaskImage: CGImage {
if let r = SlotItemLevelView.sAirLevelMaskImage { return r }
-
SlotItemLevelView.sAirLevelMaskImage = maskImage(middle1: 0.65, middle2: 0.75)
return SlotItemLevelView.sAirLevelMaskImage!
}
private var levelOneBezierPath: NSBezierPath? {
- let bounds = self.bounds
let width = bounds.width
let height = bounds.height
- let path = multiline {
- [(NSPoint(x: width - offset, y: 0), NSPoint(x: width - offset, y: height))]
- }
+ let path = multiline { [(NSPoint(x: width - offset, y: 0), NSPoint(x: width - offset, y: height))] }
path?.lineWidth = 1.0
return path
}
private var levelTwoBezierPath: NSBezierPath? {
- let bounds = self.bounds
let width = bounds.width
let height = bounds.height
let path = multiline {
return path
}
private var levelThreeBezierPath: NSBezierPath? {
- let bounds = self.bounds
let width = bounds.width
let height = bounds.height
let path = multiline {
[(NSPoint, NSPoint)]()
- .appended { (NSPoint(x: width - offset, y: 0),
- NSPoint(x: width - offset, y: height)) }
+ .appended { (NSPoint(x: width - offset, y: 0), NSPoint(x: width - offset, y: height)) }
.appended {
- (NSPoint(x: width - offset - padding, y: 0),
- NSPoint(x: width - offset - padding, y: height))
+ (NSPoint(x: width - offset - padding, y: 0), NSPoint(x: width - offset - padding, y: height))
}
.appended {
(NSPoint(x: width - offset - padding * 2, y: 0),
return path
}
private var levelFourBezierPath: NSBezierPath? {
- let bounds = self.bounds
let width = bounds.width
let height = bounds.height
let path = multiline {
return path
}
private var levelFiveBezierPath: NSBezierPath? {
- let bounds = self.bounds
let width = bounds.width
let height = bounds.height
let path = multiline {
}
}
path?.lineWidth = 2.0
-
return path
}
private var levelSixBezierPath: NSBezierPath? {
- let bounds = self.bounds
let width = bounds.width
let height = bounds.height
let path = multiline {
return path
}
private var levelSevenBezierPath: NSBezierPath? {
- let bounds = self.bounds
let width = bounds.width
let height = bounds.height
let path = polyline {
return path
}
private var levelFont: NSFont {
- let size = NSFont.smallSystemFontSize()
- return NSFont.monospacedDigitSystemFont(ofSize: size, weight: NSFontWeightRegular)
+ return NSFont.monospacedDigitSystemFont(ofSize: NSFont.smallSystemFontSize(), weight: NSFontWeightRegular)
}
private var levelColor: NSColor {
return NSColor(calibratedRed: 0.135, green: 0.522, blue: 0.619, alpha: 1.0)
// MARK: - Function
override func draw(_ dirtyRect: NSRect) {
- guard let context = NSGraphicsContext.current()?.cgContext else {
- fatalError("Con not get current CGContext")
- }
+ guard let context = NSGraphicsContext.current()?.cgContext
+ else { fatalError("Con not get current CGContext") }
context.saveGState()
- if let mask = maskImage { context.clip(to: self.bounds, mask: mask) }
+ maskImage.map { context.clip(to: bounds, mask: $0) }
super.draw(dirtyRect)
context.restoreGState()
drawLevel()
drawAirLevel()
}
-
private func maskImage(middle1: CGFloat, middle2: CGFloat) -> CGImage {
- let bounds = self.bounds
let colorspace = CGColorSpaceCreateDeviceGray()
- guard let maskContext = CGContext(
- data: nil, width: Int(bounds.width), height: Int(bounds.height),
- bitsPerComponent: 8, bytesPerRow: Int(bounds.width),
- space: colorspace, bitmapInfo: 0) else {
- fatalError("Can not create bitmap context")
- }
+ guard let maskContext = CGContext(data: nil,
+ width: Int(bounds.width),
+ height: Int(bounds.height),
+ bitsPerComponent: 8,
+ bytesPerRow: Int(bounds.width),
+ space: colorspace,
+ bitmapInfo: 0)
+ else { fatalError("Can not create bitmap context") }
let maskGraphicsContext = NSGraphicsContext(cgContext: maskContext, flipped: false)
NSGraphicsContext.saveGraphicsState()
defer { NSGraphicsContext.restoreGraphicsState() }
(NSColor.black, middle2),
(NSColor.black, 1.0))
gradient?.draw(in: bounds, angle: 0.0)
- guard let r = maskContext.makeImage() else {
- fatalError(" can not create image from context")
- }
+ guard let r = maskContext.makeImage()
+ else { fatalError(" can not create image from context") }
return r
}
-
private func bezierPathForALevel(level: Int) -> NSBezierPath? {
switch level {
- case 1:
- return levelOneBezierPath
- case 2:
- return levelTwoBezierPath
- case 3:
- return levelThreeBezierPath
- case 4:
- return levelFourBezierPath
- case 5:
- return levelFiveBezierPath
- case 6:
- return levelSixBezierPath
- case 7:
- return levelSevenBezierPath
- default:
- return nil
+ case 1: return levelOneBezierPath
+ case 2: return levelTwoBezierPath
+ case 3: return levelThreeBezierPath
+ case 4: return levelFourBezierPath
+ case 5: return levelFiveBezierPath
+ case 6: return levelSixBezierPath
+ case 7: return levelSevenBezierPath
+ default: return nil
}
}
private func colorForALevel(level: Int) -> NSColor? {
switch level {
- case 1, 2, 3:
- return NSColor(calibratedRed: 0.257, green: 0.523, blue: 0.643, alpha: 1.0)
- case 4, 5, 6, 7:
- return NSColor(calibratedRed: 0.784, green: 0.549, blue: 0.0, alpha: 1.0)
- default:
- return nil
+ case 1, 2, 3: return NSColor(calibratedRed: 0.257, green: 0.523, blue: 0.643, alpha: 1.0)
+ case 4, 5, 6, 7: return NSColor(calibratedRed: 0.784, green: 0.549, blue: 0.0, alpha: 1.0)
+ default: return nil
}
}
private func shadowForALevel(level: Int) -> NSShadow? {
shadowForALevel(level: alv)?.set()
bezierPathForALevel(level: alv)?.stroke()
}
-
private func drawLevel() {
- guard let lv = slotItemLevel as? Int,
- lv != 0
- else { return }
+ guard let lv = slotItemLevel as? Int, lv != 0 else { return }
let string: String = lv == 10 ? "max" : "★+\(lv)"
let attr: [String: Any] = [ NSFontAttributeName: levelFont,
NSForegroundColorAttributeName: levelColor ]
let attributedString = NSAttributedString(string: string, attributes: attr)
- let boundingRect = attributedString.boundingRect(with: self.bounds.size)
- var rect = self.bounds
+ let boundingRect = attributedString.boundingRect(with: bounds.size)
+ var rect = bounds
rect.origin.x = rect.width - boundingRect.width - 1.0
rect.origin.y = 0
-
attributedString.draw(in: rect)
}
}
}
}
+// swiftlint:disable type_body_length
class TSVSupport {
private let store = LocalDataStore.oneTimeEditor()