Commit 06371738 authored by sugita mamoru's avatar sugita mamoru

Eca通過時のAlertを追加

parent dc03aff2
......@@ -65,21 +65,27 @@ class EcaTask {
if eca.swNotice >= Float(distance) && eca.status == EcaState.start {
notificationEca(point: SwitchingEca.Start)
eca.status = EcaState.noticePass
SharingData.eca.isShowEcaAlert = true
}
if eca.swStart >= Float(distance) && eca.status == EcaState.noticePass {
notificationEca(point: SwitchingEca.Notice)
eca.status = EcaState.startPass
SharingData.eca.isShowEcaAlert = true
}
if eca.swFinish >= Float(distance) && eca.status == EcaState.startPass {
notificationEca(point: SwitchingEca.Finish)
eca.status = EcaState.finishPass
SharingData.eca.isShowEcaAlert = true
}
if 0.0 <= Float(distance) && eca.status == EcaState.finishPass {
eca.status = EcaState.incomplete
SharingData.eca.isShowEcaAlert = true
}
SharingData.eca.editEcaArea(key: eca.name, value: eca)
}
}
}
......
......@@ -26,6 +26,8 @@ struct MapTaskView: View {
@State var viewMode: TaskViewMode = .SwitchingMenu
@State var edittingEcaArea: RegisteredEca? = nil
@State var isShowSettingView : Bool = false
@ObservedObject var eca = SharingData.eca
var body: some View {
VStack{
Capsule()
......@@ -38,8 +40,16 @@ struct MapTaskView: View {
Button(action: {
viewMode = .SwitchingMenu
isShowSettingView = false
if var eca = SharingData.eca.ecaArea.map{ $0.1 }.filter{ $0.isRunning }.first{
eca.status = .noticePass
// SharingData.eca.editEcaArea(key: eca.name, value: eca)
SharingData.eca.isShowEcaAlert = true
}
}, label: {
if viewMode != .SwitchingMenu{
if viewMode != .SwitchingMenu || isShowSettingView{
Image("ink_02")
}
})
......@@ -59,7 +69,7 @@ struct MapTaskView: View {
Button(action: {
}, label: {
Image("closeIcon")
})
.frame(width: 48, height: 48)
......@@ -89,9 +99,39 @@ struct MapTaskView: View {
Spacer()
.frame(height: 55)
}.onAppear{
}
.onAppear{
EcaCoordinatesTable().setEcaData()
}
.alert("", isPresented: $eca.isShowEcaAlert) {
if var ecaArea = eca.ecaArea.map{ $0.1 }.filter{ $0.isRunning }.first, ecaArea.status == .finishPass{
Button("Yes"){
ecaArea.status = .end
}
Button("No"){
ecaArea.status = .incomplete
}
}else{
Button("OK"){
}
}
} message: {
if let ecaArea = eca.ecaArea.map{ $0.1 }.filter{ $0.isRunning }.first{
switch ecaArea.status{
case .noticePass:
Text("Arrived at advance notice point.")
case .startPass:
Text("Arrived at switching start point.")
case .finishPass:
Text("Have you finished \(ecaArea.name) fuel switching?")
case .incomplete:
Text("Have you finished \(ecaArea.name) fuel switching?\nIf you finish, you disable it.")
default:
Text("")
}
}
}
}
}
......
......@@ -104,6 +104,7 @@ class SharingData{
class Eca: ObservableObject{
@Published var ecaArea: Dictionary<String, RegisteredEca> = [:]
@Published var foucusEca: String? = nil
@Published var isShowEcaAlert: Bool = false
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