diff --git a/src/ElectronBot.Braincase/Services/ActionExpression/DefaultActionExpressionProvider.cs b/src/ElectronBot.Braincase/Services/ActionExpression/DefaultActionExpressionProvider.cs index b261133..8f90952 100644 --- a/src/ElectronBot.Braincase/Services/ActionExpression/DefaultActionExpressionProvider.cs +++ b/src/ElectronBot.Braincase/Services/ActionExpression/DefaultActionExpressionProvider.cs @@ -123,7 +123,11 @@ public class DefaultActionExpressionProvider : IActionExpressionProvider //EmojiPlayHelper.Current.Enqueue(frameData); - + + if (!ElectronBotHelper.Instance.EbConnected) + { + await Task.Delay(40); + } _ = await service.SendToUsbDeviceAsync(frameData); //通过grpc通讯和树莓派传输数据 diff --git a/src/ElectronBot.Braincase/ViewModels/ModelLoadCompactOverlayViewModel.cs b/src/ElectronBot.Braincase/ViewModels/ModelLoadCompactOverlayViewModel.cs index 704de9f..bbb9283 100644 --- a/src/ElectronBot.Braincase/ViewModels/ModelLoadCompactOverlayViewModel.cs +++ b/src/ElectronBot.Braincase/ViewModels/ModelLoadCompactOverlayViewModel.cs @@ -121,6 +121,32 @@ public partial class ModelLoadCompactOverlayViewModel : ObservableRecipient } } } + else if (modelName == "Head1.obj") + { + if (newScene != null && newScene.Root != null) + { + foreach (var node in newScene.Root.Traverse()) + { + if (node is MeshNode meshNode) + { + meshNode.Material = DiffuseMaterials.LightBlue; + } + } + } + } + else if (modelName == "Head2.obj") + { + if (newScene != null && newScene.Root != null) + { + foreach (var node in newScene.Root.Traverse()) + { + if (node is MeshNode meshNode) + { + meshNode.Material = DiffuseMaterials.PureWhite; + } + } + } + } } } @@ -146,6 +172,30 @@ public partial class ModelLoadCompactOverlayViewModel : ObservableRecipient /// Must use UI thread to set value back. ModelCentroidPoint = centroid; } + + if (newScene != null && newScene.Root != null) + { + foreach (var node in newScene.Root.Traverse()) + { + if (node is MeshNode meshNode) + { + meshNode.Material = DiffuseMaterials.PureWhite; + } + } + } + } + else if (modelName == "Body1.obj") + { + if (newScene != null && newScene.Root != null) + { + foreach (var node in newScene.Root.Traverse()) + { + if (node is MeshNode meshNode) + { + meshNode.Material = DiffuseMaterials.LightBlue; + } + } + } } } } @@ -171,6 +221,33 @@ public partial class ModelLoadCompactOverlayViewModel : ObservableRecipient } } + + if (modelName == "RightArm1.obj") + { + if (newScene != null && newScene.Root != null) + { + foreach (var node in newScene.Root.Traverse()) + { + if (node is MeshNode meshNode) + { + meshNode.Material = DiffuseMaterials.PureWhite; + } + } + } + } + else if (modelName == "RightArm2.obj") + { + if (newScene != null && newScene.Root != null) + { + foreach (var node in newScene.Root.Traverse()) + { + if (node is MeshNode meshNode) + { + meshNode.Material = DiffuseMaterials.LightBlue; + } + } + } + } } } @@ -196,6 +273,33 @@ public partial class ModelLoadCompactOverlayViewModel : ObservableRecipient } } + + if (modelName == "LeftArm1.obj") + { + if (newScene != null && newScene.Root != null) + { + foreach (var node in newScene.Root.Traverse()) + { + if (node is MeshNode meshNode) + { + meshNode.Material = DiffuseMaterials.PureWhite; + } + } + } + } + else if (modelName == "LeftArm2.obj") + { + if (newScene != null && newScene.Root != null) + { + foreach (var node in newScene.Root.Traverse()) + { + if (node is MeshNode meshNode) + { + meshNode.Material = DiffuseMaterials.LightBlue; + } + } + } + } } } @@ -220,6 +324,20 @@ public partial class ModelLoadCompactOverlayViewModel : ObservableRecipient } } + + if (modelName == "Base.obj") + { + if (newScene != null && newScene.Root != null) + { + foreach (var node in newScene.Root.Traverse()) + { + if (node is MeshNode meshNode) + { + meshNode.Material = DiffuseMaterials.PureWhite; + } + } + } + } } }