Commit 20cc3a5e authored by sugita mamoru's avatar sugita mamoru

sharingの書き方を変更

parent a1620e01
......@@ -22,10 +22,10 @@ class GetMessage {
let serverSession = ServerSession()
let resjson = serverSession.fromJSON(resultData: resultData, resltType: ResGetMessages.self)
if let res = resjson {
SharingData.Message.mode = res.mode
SharingData.Message.messages = []
SharingData.message.mode = res.mode
SharingData.message.messages = []
if let msg = res.messages {
SharingData.Message.messages = msg
SharingData.message.messages = msg
}
}
case .failure(let errorCode):
......
......@@ -8,7 +8,7 @@
import SwiftUI
struct ContentView: View {
@State var isLogin = false//ContentView.LoginCheck()
@State var isLogin = true//ContentView.LoginCheck()
@EnvironmentObject private var sceneDelegate: SceneDelegate
@StateObject var locationViewModel = LocationViewModel()
var selectedTabModel = SelectedTabModel()
......
......@@ -4335,11 +4335,11 @@ class EcaCoordinatesTable : NSObject {
func setEcaData() {
for data in ecaDataTable {
if !SharingData.shared.ecaArea.keys.contains(data.name) {
if !SharingData.eca.ecaArea.keys.contains(data.name) {
var reg = RegisteredEca(ecaName: data.name)!
reg.color = "0xFF0000" //ライン色(ARGB)
reg.points = data.table
SharingData.shared.ecaArea.updateValue(reg, forKey: data.name)
SharingData.eca.ecaArea.updateValue(reg, forKey: data.name)
}
}
}
......
......@@ -9,7 +9,7 @@ import Foundation
class EcaTask {
var sessionShipStatus = SessionShipStatus()
var sharingData = SharingData.shared
var eca = SharingData.eca
func start() {
print(debug: "called")
......@@ -23,12 +23,12 @@ class EcaTask {
let serverSession = ServerSession()
let resjson = serverSession.fromJSON(resultData: resultData, resltType: ResShipStatus.self)
if let res = resjson {
SharingData.My.speed = res.speed
SharingData.My.course = res.course
SharingData.My.heading = res.heading
SharingData.My.server?.latitude = res.lat
SharingData.My.server?.longitude = res.lon
SharingData.My.dataTime = res.dataTime //2023-11-02T05:25:49.4362123Z
SharingData.my.speed = res.speed
SharingData.my.course = res.course
SharingData.my.heading = res.heading
SharingData.my.server?.latitude = res.lat
SharingData.my.server?.longitude = res.lon
SharingData.my.dataTime = res.dataTime //2023-11-02T05:25:49.4362123Z
}
checkEca()
case .failure(let errorCode):
......@@ -38,9 +38,9 @@ class EcaTask {
}
private func checkEca() {
let runningEca = sharingData.ecaArea.first(where: {(key, value) in value.isRunning == true})
let runningEca = eca.ecaArea.first(where: {(key, value) in value.isRunning == true})
if let eca = runningEca?.value {
if let location = SharingData.My.location {
if let location = SharingData.my.location {
let distance = LocationCalculation.checkPolyLine(objPos: eca.points, shipPos: location)
if eca.swStart >= Float(distance) {
......
......@@ -10,7 +10,7 @@ import CoreLocation
struct RegisteredEca {
var id: UInt32 = 0
var isEnable: Bool = true //ECA有効
var isEnable: Bool = false //ECA有効
var isRunning: Bool = false //ECA実行中
var name: String = "" //ECA名称
var swNotice: Float = 6 //ECA通知[NM]
......
......@@ -42,7 +42,7 @@ class LocationViewModel: NSObject, ObservableObject, CLLocationManagerDelegate {
if isLocation {
lastSeenLocation = locations.first
let targetCoordinate : CLLocationCoordinate2D = lastSeenLocation!.coordinate
SharingData.My.gps = targetCoordinate
SharingData.my.gps = targetCoordinate
}
}
}
......
......@@ -145,11 +145,11 @@ struct LoginView: View {
let serverSession = ServerSession()
let resjson = serverSession.fromJSON(resultData: resultData, resltType: ResLogin.self)
if let res = resjson {
SharingData.My.id = res.id
SharingData.My.shipId = res.shipId
SharingData.My.shipName = res.shipName
SharingData.My.imo = res.imo
SharingData.My.mmsi = res.mmsi
SharingData.my.id = res.id
SharingData.my.shipId = res.shipId
SharingData.my.shipName = res.shipName
SharingData.my.imo = res.imo
SharingData.my.mmsi = res.mmsi
}
Preferences.lastLoginDate_Int64 = DateTextLib.Date2UnixTime(date: Date())
......
......@@ -101,11 +101,11 @@ struct InputUserNameView: View {
let serverSession = ServerSession()
let resjson = serverSession.fromJSON(resultData: resultData, resltType: ResLogin.self)
if let res = resjson {
SharingData.My.id = res.id
SharingData.My.shipId = res.shipId
SharingData.My.shipName = res.shipName
SharingData.My.imo = res.imo
SharingData.My.mmsi = res.mmsi
SharingData.my.id = res.id
SharingData.my.shipId = res.shipId
SharingData.my.shipName = res.shipName
SharingData.my.imo = res.imo
SharingData.my.mmsi = res.mmsi
}
Preferences.ShipId = param.shipId
......
......@@ -11,7 +11,7 @@ import MapboxMaps
import UIKit
struct MapRepresentable: UIViewControllerRepresentable{
@ObservedObject var sharingData = SharingData.shared
@ObservedObject var ecaData = SharingData.eca
@State var mapVC = MapViewController()
func makeUIViewController(context: Context) -> some UIViewController {
......@@ -19,13 +19,13 @@ struct MapRepresentable: UIViewControllerRepresentable{
}
func updateUIViewController(_ uiViewController: UIViewControllerType, context: Context) {
let ecaArea = sharingData.ecaArea.map{ $0.1 }.filter{ $0.isRunning }.first
let ecaArea = ecaData.ecaArea.map{ $0.1 }.filter{ $0.isRunning }.first
if let ecaArea = ecaArea{
mapVC.updateEcaLine(line: ecaArea.points)
}
if let mylocation = sharingData.location {
mapVC.updateOwnShip(location: mylocation, bearing: sharingData.bearing)
if let mylocation = SharingData.my.location {
mapVC.updateOwnShip(location: mylocation, bearing: SharingData.my.heading)
if let ecaArea = ecaArea{
mapVC.updateEcaSwitchingLine(center: mylocation, notice: ecaArea.swNotice, start: ecaArea.swStart, finish: ecaArea.swFinish)
......
......@@ -23,43 +23,43 @@ class MonitoringRoute {
let serverSession = ServerSession()
let resjson = serverSession.fromJSON(resultData: resultData, resltType: ResMonitoringRoute.self)
if let res = resjson {
SharingData.Map.wayPoints = []
SharingData.map.wayPoints = []
if let wayPoint = res.wayPoints {
wayPoint.forEach { waypoint in
var point: CLLocationCoordinate2D = CLLocationCoordinate2D()
point.latitude = CLLocationDegrees(waypoint.lat ?? 0.0)
point.longitude = CLLocationDegrees(waypoint.lon ?? 0.0)
SharingData.Map.wayPoints.append(point)
SharingData.map.wayPoints.append(point)
}
}
SharingData.Map.legLine = []
SharingData.map.legLine = []
if let legLine = res.legLine {
legLine.forEach { legline in
var point: CLLocationCoordinate2D = CLLocationCoordinate2D()
point.latitude = CLLocationDegrees(legline.lat ?? 0.0)
point.longitude = CLLocationDegrees(legline.lon ?? 0.0)
SharingData.Map.legLine.append(point)
SharingData.map.legLine.append(point)
}
}
SharingData.Map.portLine = []
SharingData.map.portLine = []
if let portLine = res.portLine {
portLine.forEach { portline in
var point: CLLocationCoordinate2D = CLLocationCoordinate2D()
point.latitude = CLLocationDegrees(portline.lat ?? 0.0)
point.longitude = CLLocationDegrees(portline.lon ?? 0.0)
SharingData.Map.portLine.append(point)
SharingData.map.portLine.append(point)
}
}
SharingData.Map.starboardLine = []
SharingData.map.starboardLine = []
if let starboardLine = res.starboardLine {
starboardLine.forEach { starboardline in
var point: CLLocationCoordinate2D = CLLocationCoordinate2D()
point.latitude = CLLocationDegrees(starboardline.lat ?? 0.0)
point.longitude = CLLocationDegrees(starboardline.lon ?? 0.0)
SharingData.Map.starboardLine.append(point)
SharingData.map.starboardLine.append(point)
}
}
}
......
......@@ -8,10 +8,10 @@
import SwiftUI
struct EcaListView: View {
@ObservedObject var sharingData = SharingData.shared
@ObservedObject var ecaData = SharingData.eca
var body: some View {
ForEach(sharingData.ecaArea.map{ $0.1 }, id: \.name){ eca in
ForEach(ecaData.ecaArea.map{ $0.1 }, id: \.name){ eca in
HStack {
Text(eca.name)
.font(FontStyle.DefaultText.font)
......@@ -21,7 +21,7 @@ struct EcaListView: View {
Button(action: {
var newData = eca
newData.isEnable.toggle()
sharingData.editEcaArea(key: eca.name, value: newData)
ecaData.editEcaArea(key: eca.name, value: newData)
}, label: {
Image("icon_plus")
.resizable()
......@@ -55,6 +55,5 @@ struct EcaListView: View {
#Preview {
EcaListView()
.environmentObject(SharingData.shared)
}
......@@ -28,7 +28,7 @@ struct EcaSettingView: View {
Button(action: {
SharingData.shared.editEcaArea(key: edittingEca.name, value: edittingEca)
SharingData.eca.editEcaArea(key: edittingEca.name, value: edittingEca)
isShowSettingEca = false
}, label: {
Text("Register")
......
......@@ -11,24 +11,24 @@ struct TaskSwitchingMenuView: View {
@Binding var viewMode: TaskViewMode
@Binding var edittingEcaArea: RegisteredEca?
@Binding var isShowSettingEca : Bool
@ObservedObject var sharingData = SharingData.shared
@ObservedObject var ecaData = SharingData.eca
@State var isDeleteAlert : Bool = false
var body: some View {
VStack{
ForEach(sharingData.ecaArea.map{ $0.1 }.filter{ $0.isEnable }, id: \.name){ eca in
ForEach(ecaData.ecaArea.map{ $0.1 }.filter{ $0.isEnable }, id: \.name){ eca in
VStack {
HStack {
Button {
for runningEca in sharingData.ecaArea.map{ $0.1 }.filter{ $0.isRunning }{
for runningEca in ecaData.ecaArea.map{ $0.1 }.filter{ $0.isRunning }{
var newData = runningEca
newData.isRunning = false
sharingData.editEcaArea(key: runningEca.name, value: newData)
ecaData.editEcaArea(key: runningEca.name, value: newData)
}
var newData = eca
newData.isRunning = true
sharingData.editEcaArea(key: eca.name, value: newData)
ecaData.editEcaArea(key: eca.name, value: newData)
} label: {
HStack {
Circle()
......@@ -73,7 +73,7 @@ struct TaskSwitchingMenuView: View {
if let ecaArea = edittingEcaArea{
var newData = ecaArea
newData.isEnable = false
sharingData.editEcaArea(key: ecaArea.name, value: newData)
ecaData.editEcaArea(key: ecaArea.name, value: newData)
}
edittingEcaArea = nil
} label: {
......
......@@ -27,7 +27,7 @@ class SessionGetMessage : ObservableObject {
Calling = true
// リクエストURLの組み立て
let id = SharingData.My.shipId
let id = SharingData.my.shipId
if id != 0 {
var url_string : String = HttpRequestType.GetMessage.rawValue
url_string = url_string.replacingOccurrences(of: "XXXXX", with: String(id))
......
......@@ -28,7 +28,7 @@ class SessionMonitoringRoute : ObservableObject {
Calling = true
// リクエストURLの組み立て
let id = SharingData.My.shipId
let id = SharingData.my.shipId
if id != 0 {
var url_string : String = HttpRequestType.ShipMonitoringRoute.rawValue
url_string = url_string.replacingOccurrences(of: "XXXXX", with: String(id))
......
......@@ -27,7 +27,7 @@ class SessionShipStatus : ObservableObject {
Calling = true
// リクエストURLの組み立て
let id = SharingData.My.shipId
let id = SharingData.my.shipId
if id != 0 {
var url_string : String = HttpRequestType.ShipStatus.rawValue
url_string = url_string.replacingOccurrences(of: "XXXXX", with: String(id))
......
......@@ -27,7 +27,7 @@ class SessionTaskList : ObservableObject {
Calling = true
// リクエストURLの組み立て
let id = SharingData.My.shipId
let id = SharingData.my.shipId
if id != 0 {
var url_string : String = HttpRequestType.TaskList.rawValue
url_string = url_string.replacingOccurrences(of: "XXXXX", with: String(id))
......
......@@ -7,37 +7,25 @@
import Foundation
import CoreLocation
class SharingData: ObservableObject{
static let shared = SharingData()
class SharingData{
@Published var location: CLLocationCoordinate2D? = CLLocationCoordinate2D(latitude: 0, longitude: 0)//nil
@Published var speedKnot: Double = 0.0
@Published var bearing: Double = 0.0 // 自船進行方向
@Published var compass: Double? = nil // 端末の方位
func reset() {
location = nil
speedKnot = 0.0
bearing = 0.0
}
class My {
static var location: CLLocationCoordinate2D? = nil
static var gps: CLLocationCoordinate2D? = nil
static var server: CLLocationCoordinate2D? = nil
static var speed: Double = 0.0
static var course: Double = 0.0
static var heading: Double = 0.0
static var dataTime: String = "" //2023-11-02T05:25:49.4362123Z
static var my = My()
class My: ObservableObject {
@Published var location: CLLocationCoordinate2D? = nil
@Published var gps: CLLocationCoordinate2D? = nil
@Published var server: CLLocationCoordinate2D? = nil
@Published var speed: Double = 0.0
@Published var course: Double = 0.0
@Published var heading: Double = 0.0
@Published var dataTime: String = "" //2023-11-02T05:25:49.4362123Z
static var id: Int = 0
static var shipId: Int = 0
static var shipName: String = ""
static var imo: Int = 0
static var mmsi: Int = 0
@Published var id: Int = 0
@Published var shipId: Int = 0
@Published var shipName: String = ""
@Published var imo: Int = 0
@Published var mmsi: Int = 0
static func reset() {
func reset() {
location = nil
speed = 0.0
course = 0.0
......@@ -45,25 +33,30 @@ class SharingData: ObservableObject{
}
}
class Map {
static var wayPoints: [CLLocationCoordinate2D] = []
static var legLine: [CLLocationCoordinate2D] = []
static var portLine: [CLLocationCoordinate2D] = []
static var starboardLine: [CLLocationCoordinate2D] = []
static var map = Map()
class Map: ObservableObject {
@Published var wayPoints: [CLLocationCoordinate2D] = []
@Published var legLine: [CLLocationCoordinate2D] = []
@Published var portLine: [CLLocationCoordinate2D] = []
@Published var starboardLine: [CLLocationCoordinate2D] = []
}
class Message {
static var mode: Int = 0 // 0:通常 , 1:Warning中
static var messages: [message] = []
static var message = Message()
class Message: ObservableObject {
@Published var mode: Int = 0 // 0:通常 , 1:Warning中
@Published var messages: [message] = []
}
/**
* Eca
*/
@Published var ecaArea: Dictionary<String, RegisteredEca> = [:]
func editEcaArea(key: String, value: RegisteredEca){
ecaArea.updateValue(value, forKey: key)
static var eca = Eca()
class Eca: ObservableObject{
@Published var ecaArea: Dictionary<String, RegisteredEca> = [:]
func editEcaArea(key: String, value: RegisteredEca){
ecaArea.updateValue(value, forKey: key)
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment