diff --git a/Assets/Res/ui/homepage/homePage.prefab b/Assets/Res/ui/homepage/homePage.prefab index 6aef1e9..2c6e64f 100644 --- a/Assets/Res/ui/homepage/homePage.prefab +++ b/Assets/Res/ui/homepage/homePage.prefab @@ -113,7 +113,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} m_AnchoredPosition: {x: 32, y: 0} - m_SizeDelta: {x: 510.04, y: 40} + m_SizeDelta: {x: 510.04, y: 50} m_Pivot: {x: 0, y: 1} --- !u!222 &3667549666672144347 CanvasRenderer: @@ -3574,7 +3574,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 42, y: -131.00002} - m_SizeDelta: {x: -82, y: 40} + m_SizeDelta: {x: -82, y: 50} m_Pivot: {x: 0, y: 1} --- !u!222 &2401397262880063041 CanvasRenderer: @@ -8909,8 +8909,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 0, y: -20} - m_SizeDelta: {x: 0, y: 40} + m_AnchoredPosition: {x: 0, y: -25} + m_SizeDelta: {x: 0, y: 50} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &7009481007586245550 CanvasRenderer: @@ -9063,7 +9063,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 37.5, y: -20} + m_AnchoredPosition: {x: 37.5, y: -25} m_SizeDelta: {x: 25, y: 15} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &8177967827359391044 @@ -13202,8 +13202,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 224, y: -47.5} - m_SizeDelta: {x: 224, y: 100} + m_AnchoredPosition: {x: 227.5, y: -47.5} + m_SizeDelta: {x: 231, y: 100} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &420311766918268298 CanvasRenderer: @@ -13971,10 +13971,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 3059856189105058401} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 15} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 37.5, y: -25} + m_SizeDelta: {x: 25, y: 15} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &5386126697989012692 CanvasRenderer: @@ -14296,10 +14296,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 3059856189105058401} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 40} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: -25} + m_SizeDelta: {x: 0, y: 50} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &7943735609059804478 CanvasRenderer: @@ -14342,7 +14342,7 @@ MonoBehaviour: m_HorizontalOverflow: 0 m_VerticalOverflow: 0 m_LineSpacing: 1 - m_Text: asdasdasdasdas + m_Text: --- !u!1 &7683716516984799381 GameObject: m_ObjectHideFlags: 0 @@ -17860,57 +17860,57 @@ PrefabInstance: - target: {fileID: 3004683929350944418, guid: 6c019d3e48ae06e4c94bd3f2b59f7c5b, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3004683929350944418, guid: 6c019d3e48ae06e4c94bd3f2b59f7c5b, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3004683929350944418, guid: 6c019d3e48ae06e4c94bd3f2b59f7c5b, type: 3} propertyPath: m_SizeDelta.x - value: 129 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3004683929350944418, guid: 6c019d3e48ae06e4c94bd3f2b59f7c5b, type: 3} propertyPath: m_SizeDelta.y - value: 40 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3004683929350944418, guid: 6c019d3e48ae06e4c94bd3f2b59f7c5b, type: 3} propertyPath: m_AnchoredPosition.x - value: 290.5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4945690470202459900, guid: 6c019d3e48ae06e4c94bd3f2b59f7c5b, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4945690470202459900, guid: 6c019d3e48ae06e4c94bd3f2b59f7c5b, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4945690470202459900, guid: 6c019d3e48ae06e4c94bd3f2b59f7c5b, type: 3} propertyPath: m_SizeDelta.x - value: 36 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4945690470202459900, guid: 6c019d3e48ae06e4c94bd3f2b59f7c5b, type: 3} propertyPath: m_SizeDelta.y - value: 36 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4945690470202459900, guid: 6c019d3e48ae06e4c94bd3f2b59f7c5b, type: 3} propertyPath: m_AnchoredPosition.x - value: 193 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4945690470202459900, guid: 6c019d3e48ae06e4c94bd3f2b59f7c5b, type: 3} propertyPath: m_AnchoredPosition.y - value: -20 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6318456875706447668, guid: 6c019d3e48ae06e4c94bd3f2b59f7c5b, type: 3} @@ -17940,7 +17940,7 @@ PrefabInstance: - target: {fileID: 6907178496425977240, guid: 6c019d3e48ae06e4c94bd3f2b59f7c5b, type: 3} propertyPath: m_SizeDelta.y - value: 33 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6907178496425977240, guid: 6c019d3e48ae06e4c94bd3f2b59f7c5b, type: 3} @@ -17955,32 +17955,32 @@ PrefabInstance: - target: {fileID: 7472144947167662218, guid: 6c019d3e48ae06e4c94bd3f2b59f7c5b, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7472144947167662218, guid: 6c019d3e48ae06e4c94bd3f2b59f7c5b, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7472144947167662218, guid: 6c019d3e48ae06e4c94bd3f2b59f7c5b, type: 3} propertyPath: m_SizeDelta.x - value: 530 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7472144947167662218, guid: 6c019d3e48ae06e4c94bd3f2b59f7c5b, type: 3} propertyPath: m_AnchoredPosition.x - value: 295 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7472144947167662218, guid: 6c019d3e48ae06e4c94bd3f2b59f7c5b, type: 3} propertyPath: m_AnchoredPosition.y - value: -60 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7704356682676814282, guid: 6c019d3e48ae06e4c94bd3f2b59f7c5b, type: 3} propertyPath: m_SizeDelta.y - value: 307 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8522928427075772141, guid: 6c019d3e48ae06e4c94bd3f2b59f7c5b, type: 3} @@ -18120,27 +18120,27 @@ PrefabInstance: - target: {fileID: 9222942918291704188, guid: 6c019d3e48ae06e4c94bd3f2b59f7c5b, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 9222942918291704188, guid: 6c019d3e48ae06e4c94bd3f2b59f7c5b, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 9222942918291704188, guid: 6c019d3e48ae06e4c94bd3f2b59f7c5b, type: 3} propertyPath: m_SizeDelta.x - value: 530 + value: 0 objectReference: {fileID: 0} - target: {fileID: 9222942918291704188, guid: 6c019d3e48ae06e4c94bd3f2b59f7c5b, type: 3} propertyPath: m_AnchoredPosition.x - value: 295 + value: 0 objectReference: {fileID: 0} - target: {fileID: 9222942918291704188, guid: 6c019d3e48ae06e4c94bd3f2b59f7c5b, type: 3} propertyPath: m_AnchoredPosition.y - value: -283 + value: 0 objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] diff --git a/Assets/Scripts/UI/Pages/HomePage/HomePageCtrl.cs b/Assets/Scripts/UI/Pages/HomePage/HomePageCtrl.cs index 46cd318..3c47b9b 100644 --- a/Assets/Scripts/UI/Pages/HomePage/HomePageCtrl.cs +++ b/Assets/Scripts/UI/Pages/HomePage/HomePageCtrl.cs @@ -1724,7 +1724,7 @@ namespace Kill.UI.Pages } /// - /// 通过WiFi保存定时任务 + /// 通过WiFi保存定时任务(与BLE WriteScheduleTasks协议一致:每任务7字节,不含TaskId) /// public async Task SaveScheduleTasksAsync(List tasks) { @@ -1734,12 +1734,12 @@ namespace Kill.UI.Pages return; } - // 将List转为byte数组 - byte[] data = new byte[tasks.Count * 8]; + // 每条任务7字节(不含TaskId),与BLE WriteScheduleTasks保持一致 + byte[] data = new byte[tasks.Count * 7]; for (int i = 0; i < tasks.Count; i++) { - byte[] taskBytes = tasks[i].ToBytes(); - Array.Copy(taskBytes, 0, data, i * 8, 8); + byte[] taskBytes = tasks[i].ToBytesWithoutTaskId(); + Array.Copy(taskBytes, 0, data, i * 7, 7); } bool success = await SendBleCommandByWifiAsync( diff --git a/Assets/Scripts/UI/Pages/HomePage/ScheduleSetting/ScheduleSettingPage.cs b/Assets/Scripts/UI/Pages/HomePage/ScheduleSetting/ScheduleSettingPage.cs index 536fb59..da708b2 100644 --- a/Assets/Scripts/UI/Pages/HomePage/ScheduleSetting/ScheduleSettingPage.cs +++ b/Assets/Scripts/UI/Pages/HomePage/ScheduleSetting/ScheduleSettingPage.cs @@ -545,12 +545,27 @@ namespace Kill.UI.Pages { LoadingUI.Show(); var tasksToSave = new List(); - for (int i = 0; i < _scheduleTasks.Count; i++) + for (int i = 0; i < _scheduleTasks.Count && i < MAX_SCHEDULE_COUNT; i++) { var task = _scheduleTasks[i]; task.TaskId = (byte)i; tasksToSave.Add(task); } + // 补齐到5个任务,空任务用全0填充(与BLE保持一致) + while (tasksToSave.Count < MAX_SCHEDULE_COUNT) + { + tasksToSave.Add(new ScheduleTask + { + TaskId = (byte)tasksToSave.Count, + Enabled = false, + StartHour = 0, + StartMinute = 0, + EndHour = 0, + EndMinute = 0, + Mode = ScheduleTaskMode.Standby, + Repeat = 0 + }); + } await HomePageCtrl.Instance?.SaveScheduleTasksAsync(tasksToSave); LoadingUI.Hide(); return;