From 04d47ab2aedb8990524a9be7a64a50d7cedf9ca6 Mon Sep 17 00:00:00 2001 From: gil zhang Date: Sun, 2 Jul 2023 15:50:07 +0800 Subject: [PATCH] update --- .../ModelLoadCompactOverlayPage.xaml.cs | 1 + .../Controls/ElectronBotModelLoader.xaml | 10 ------- .../Helpers/ElectronBotHelper.cs | 6 +++++ .../Strings/en-us/Resources.resw | 6 +++++ .../Strings/zh-cn/Resources.resw | 6 +++++ .../ViewModels/CameraEmojisViewModel.cs | 27 ++++++++++++++++++- .../ModelLoadCompactOverlayViewModel.cs | 25 +++++++++++++++-- .../Views/CameraEmojisPage.xaml | 14 ++++++++++ 8 files changed, 82 insertions(+), 13 deletions(-) diff --git a/src/ElectronBot.Braincase/Controls/CompactOverlay/ModelLoadCompactOverlayPage.xaml.cs b/src/ElectronBot.Braincase/Controls/CompactOverlay/ModelLoadCompactOverlayPage.xaml.cs index 4ed800d..ca9a54c 100644 --- a/src/ElectronBot.Braincase/Controls/CompactOverlay/ModelLoadCompactOverlayPage.xaml.cs +++ b/src/ElectronBot.Braincase/Controls/CompactOverlay/ModelLoadCompactOverlayPage.xaml.cs @@ -41,6 +41,7 @@ public sealed partial class ModelLoadCompactOverlayPage : Page { ModelProgressRing.IsActive = true; ViewModel.Loaded(); + ElectronBotHelper.Instance.IsEntityFirstEnabled = false; ModelProgressRing.IsActive = false; } diff --git a/src/ElectronBot.Braincase/Controls/ElectronBotModelLoader.xaml b/src/ElectronBot.Braincase/Controls/ElectronBotModelLoader.xaml index 7740613..bbee02b 100644 --- a/src/ElectronBot.Braincase/Controls/ElectronBotModelLoader.xaml +++ b/src/ElectronBot.Braincase/Controls/ElectronBotModelLoader.xaml @@ -32,16 +32,6 @@ - - - Emulation + + Turn on the robot action first + + + Turn off the robot action first + \ No newline at end of file diff --git a/src/ElectronBot.Braincase/Strings/zh-cn/Resources.resw b/src/ElectronBot.Braincase/Strings/zh-cn/Resources.resw index 538d0eb..058ea4f 100644 --- a/src/ElectronBot.Braincase/Strings/zh-cn/Resources.resw +++ b/src/ElectronBot.Braincase/Strings/zh-cn/Resources.resw @@ -704,4 +704,10 @@ 电子仿真 + + 打开机器人动作优先 + + + 关闭机器人动作优先 + \ No newline at end of file diff --git a/src/ElectronBot.Braincase/ViewModels/CameraEmojisViewModel.cs b/src/ElectronBot.Braincase/ViewModels/CameraEmojisViewModel.cs index e3c2298..f50d909 100644 --- a/src/ElectronBot.Braincase/ViewModels/CameraEmojisViewModel.cs +++ b/src/ElectronBot.Braincase/ViewModels/CameraEmojisViewModel.cs @@ -7,10 +7,11 @@ using Microsoft.UI.Xaml.Controls; using Microsoft.UI.Xaml.Media.Imaging; using Services; using Windows.Graphics.Imaging; +using CommunityToolkit.Mvvm.Input; namespace ElectronBot.Braincase.ViewModels; -public class CameraEmojisViewModel : ObservableRecipient, INavigationAware +public partial class CameraEmojisViewModel : ObservableRecipient, INavigationAware { private bool _isInitialized = false; @@ -59,6 +60,9 @@ public class CameraEmojisViewModel : ObservableRecipient, INavigationAware set => SetProperty(ref _faceIcon, value); } + [ObservableProperty] + private bool _isEntityFirstEnabled = true; + private async Task InitAsync() { if (_isInitialized) @@ -96,6 +100,26 @@ public class CameraEmojisViewModel : ObservableRecipient, INavigationAware _isInitialized = true; } + [RelayCommand] + private void OpenEntityFirst(bool isOn) + { + try + { + //按钮开启 + if (!isOn) + { + ElectronBotHelper.Instance.IsEntityFirstEnabled = true; + } + else + { + ElectronBotHelper.Instance.IsEntityFirstEnabled = false; + } + } + catch (Exception) + { + } + } + private async void Current_FaceBoxFrameCaptured(object sender, SoftwareBitmapEventArgs e) { if (e.SoftwareBitmap is not null) @@ -142,6 +166,7 @@ public class CameraEmojisViewModel : ObservableRecipient, INavigationAware var service = App.GetService(); service.ClearQueue(); await InitAsync(); + ElectronBotHelper.Instance.IsEntityFirstEnabled = true; } public async void OnNavigatedFrom() { diff --git a/src/ElectronBot.Braincase/ViewModels/ModelLoadCompactOverlayViewModel.cs b/src/ElectronBot.Braincase/ViewModels/ModelLoadCompactOverlayViewModel.cs index 0f56613..325c0de 100644 --- a/src/ElectronBot.Braincase/ViewModels/ModelLoadCompactOverlayViewModel.cs +++ b/src/ElectronBot.Braincase/ViewModels/ModelLoadCompactOverlayViewModel.cs @@ -19,6 +19,7 @@ using HelixToolkit.SharpDX.Core.Assimp; using HelixToolkit.SharpDX.Core.Model.Scene; using BoundingBox = SharpDX.BoundingBox; using Camera = HelixToolkit.WinUI.Camera; +using Verdure.ElectronBot.Core.Models; namespace ViewModels; public partial class ModelLoadCompactOverlayViewModel : ObservableRecipient @@ -436,10 +437,30 @@ public partial class ModelLoadCompactOverlayViewModel : ObservableRecipient BaseModel.Dispose(); EffectsManager.Dispose(); _importer.Dispose(); + ElectronBotHelper.Instance.PlayEmojisLock = false; } - private void Instance_ModelActionFrame(object? sender, Verdure.ElectronBot.Core.Models.ModelActionFrame e) + private void Instance_ModelActionFrame(object? sender, Verdure.ElectronBot.Core.Models.ModelActionFrame ex) { + var e = new OnlyAction(); + + if (ElectronBotHelper.Instance.IsEntityFirstEnabled) + { + e = ex.Actions; + } + else + { + e = new OnlyAction() + { + J1 = ex.J1, + J2 = ex.J2, + J3 = ex.J3, + J4 = ex.J4, + J5 = ex.J5, + J6 = ex.J6 + }; + } + App.MainWindow.DispatcherQueue.TryEnqueue(() => { BodyModel.HxTransform3D = _bodyMt * Matrix.RotationY(MathUtil.DegreesToRadians((e.J6))); @@ -447,7 +468,7 @@ public partial class ModelLoadCompactOverlayViewModel : ObservableRecipient Material = new DiffuseMaterial() { EnableUnLit = false, - DiffuseMap = LoadTextureByStream(e.FrameStream) + DiffuseMap = LoadTextureByStream(ex.FrameStream) }; diff --git a/src/ElectronBot.Braincase/Views/CameraEmojisPage.xaml b/src/ElectronBot.Braincase/Views/CameraEmojisPage.xaml index 1fb4d57..820caeb 100644 --- a/src/ElectronBot.Braincase/Views/CameraEmojisPage.xaml +++ b/src/ElectronBot.Braincase/Views/CameraEmojisPage.xaml @@ -4,6 +4,8 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:controlLocal="using:ElectronBot.Braincase.Controls" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" + xmlns:i="using:Microsoft.Xaml.Interactivity" + xmlns:ic="using:Microsoft.Xaml.Interactions.Core" xmlns:local="using:ElectronBot.Braincase.Views" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d"> @@ -16,6 +18,18 @@ + + + + + + +