IDIS
This commit is contained in:
@@ -29,4 +29,4 @@
|
||||
|
||||
目标:掌握非标自定义协议的设备的数据采集。
|
||||
|
||||
步骤:查看文档+接线+现场讲解+采集
|
||||
步骤:查看文档+接线+现场讲解+采集
|
||||
|
180
Mods/工业数据采集与分析应用分享/Scripts/IDIS_Service.cs
Normal file
180
Mods/工业数据采集与分析应用分享/Scripts/IDIS_Service.cs
Normal file
@@ -0,0 +1,180 @@
|
||||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Linq;
|
||||
using System.Net.Mime;
|
||||
using BITKit;
|
||||
using Godot;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace BITFactory;
|
||||
// ReSharper disable once IdentifierTypo
|
||||
[Serializable]
|
||||
public abstract class IDIS_Base
|
||||
{
|
||||
/// <summary>
|
||||
/// 创建时间
|
||||
/// </summary>
|
||||
public DateTime CreateDate { get; set; }=DateTime.Now;
|
||||
/// <summary>
|
||||
/// 更新时间
|
||||
/// </summary>
|
||||
public DateTime UpdateDate { get; set; }=DateTime.Now;
|
||||
}
|
||||
// ReSharper disable once IdentifierTypo
|
||||
/// <summary>
|
||||
/// 标识的值
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
public class IDIS_Value:IDIS_Base
|
||||
{
|
||||
/// <summary>
|
||||
/// 标识码
|
||||
/// </summary>
|
||||
[Key]
|
||||
public string Handle { get; set; }
|
||||
}
|
||||
// ReSharper disable once IdentifierTypo
|
||||
public class IDIS_Query : IDIS_Value
|
||||
{
|
||||
|
||||
// ReSharper disable once IdentifierTypo
|
||||
/// <summary>
|
||||
/// 关联的数据
|
||||
/// </summary>
|
||||
public IDIS_Data[] Datas { get; internal set; }
|
||||
// ReSharper disable once IdentifierTypo
|
||||
/// <summary>
|
||||
/// 关联的标识引用
|
||||
/// </summary>
|
||||
public IDIS_Reference[] References { get; internal set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 标识的格式
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
// ReSharper disable once IdentifierTypo
|
||||
public class IDIS_Data:IDIS_Base
|
||||
{
|
||||
/// <summary>
|
||||
/// 不需要处理这个
|
||||
/// </summary>
|
||||
[Key]
|
||||
public int Index { get; set; }
|
||||
/// <summary>
|
||||
/// 标识码
|
||||
/// </summary>
|
||||
public string Handle { get; set; }
|
||||
/// <summary>
|
||||
/// 值类型,例如string,url,site
|
||||
/// </summary>
|
||||
public string Format { get; set; }
|
||||
/// <summary>
|
||||
/// 值
|
||||
/// </summary>
|
||||
public string Value { get; set; }
|
||||
}
|
||||
/// <summary>
|
||||
/// 标识的引用或关联
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
// ReSharper disable once IdentifierTypo
|
||||
public class IDIS_Reference:IDIS_Base
|
||||
{
|
||||
/// <summary>
|
||||
/// 不需要处理这个
|
||||
/// </summary>
|
||||
[Key]
|
||||
public int Index{ get; set; }
|
||||
/// <summary>
|
||||
/// 标识码
|
||||
/// </summary>
|
||||
public string Handle { get; set; }
|
||||
/// <summary>
|
||||
/// 相关联的标识
|
||||
/// </summary>
|
||||
public string RelatedHandle { get; set; }
|
||||
}
|
||||
// ReSharper disable once IdentifierTypo
|
||||
public class IDIS_DBContext:DbContext
|
||||
{
|
||||
/// <summary>
|
||||
/// 标识表
|
||||
/// </summary>
|
||||
private DbSet<IDIS_Value> Values { get; set; }
|
||||
/// <summary>
|
||||
/// 标识数据表
|
||||
/// </summary>
|
||||
private DbSet<IDIS_Data> Datas{ get; set; }
|
||||
/// <summary>
|
||||
/// 标识引用表
|
||||
/// </summary>
|
||||
private DbSet<IDIS_Reference> References{ get; set; }
|
||||
/// <summary>
|
||||
/// 确保创建数据库
|
||||
/// </summary>
|
||||
/// <param name="optionsBuilder"></param>
|
||||
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
||||
{
|
||||
// ReSharper disable once StringLiteralTypo
|
||||
//var sql = SQLiteContextHelper.GetConnectionString("IDIS");
|
||||
SQLiteContextHelper.GetConnectionSqlAndPath("IDIS",out var sql,out var path);
|
||||
optionsBuilder.UseSqlite(sql);
|
||||
BIT4Log.Log<IDIS_DBContext>($"已创建标识数据库:{path}");
|
||||
}
|
||||
/// <summary>
|
||||
/// 查询多个标识
|
||||
/// </summary>
|
||||
/// <param name="key">模糊标识码</param>
|
||||
/// <param name="queries">查询列表</param>
|
||||
/// <returns>是否查询到了内容</returns>
|
||||
public bool Query(string key, out IDIS_Query[] queries)
|
||||
{
|
||||
var _query = Values.Where(x => x.Handle.Contains(key));
|
||||
var result = _query.Select(x=>new IDIS_Query()
|
||||
{
|
||||
Handle = x.Handle,
|
||||
CreateDate = x.CreateDate,
|
||||
UpdateDate = x.UpdateDate,
|
||||
Datas = Datas.Where(data=>data.Handle == key).ToArray(),
|
||||
References = References.Where(reference=>reference.Handle == key).ToArray()
|
||||
});
|
||||
queries = result.ToArray();
|
||||
return result.Any();
|
||||
}
|
||||
/// <summary>
|
||||
/// 查询单个标识
|
||||
/// </summary>
|
||||
/// <param name="key">模糊标识</param>
|
||||
/// <param name="query">标识查询结果</param>
|
||||
/// <returns>是否查询到了标识</returns>
|
||||
public bool Query(string key, out IDIS_Query query)
|
||||
{
|
||||
Query(key, out IDIS_Query[] queries);
|
||||
query = queries.FirstOrDefault();
|
||||
|
||||
var 温度 = Datas
|
||||
//查询相关的标识
|
||||
.Where(x => x.Handle == "MyHandle")
|
||||
.OrderBy(x=>x.CreateDate)
|
||||
//从标识中查找"MyFormat"
|
||||
.First(x => x.Format == "Temperature").Value;
|
||||
|
||||
|
||||
return queries.Any();
|
||||
}
|
||||
}
|
||||
// ReSharper disable once IdentifierTypo
|
||||
/// <summary>
|
||||
/// 标识码注册与查询服务
|
||||
/// </summary>
|
||||
public partial class IDIS_Service:Node
|
||||
{
|
||||
private static IDIS_DBContext Context;
|
||||
public override void _Ready()
|
||||
{
|
||||
Context = new IDIS_DBContext();
|
||||
BIT4Log.Log<IDIS_Service>("已创建标识数据库");
|
||||
Context.Database.EnsureCreated();
|
||||
}
|
||||
}
|
@@ -1,33 +0,0 @@
|
||||
using Godot;
|
||||
using System;
|
||||
|
||||
namespace BITKit;
|
||||
[Tool]
|
||||
public partial class ProductionAnimation : ScriptableAnimation
|
||||
{
|
||||
[Export] protected ProgressBar progressBar;
|
||||
[Export] protected Godot.Collections.Array<NodePath> visibleNodes;
|
||||
protected override void OnSetValue(float newValue)
|
||||
{
|
||||
if (Engine.IsEditorHint()) return;
|
||||
if (progressBar is null)
|
||||
{
|
||||
throw new Exception($"ProgressBar is Null");
|
||||
}
|
||||
for (var i = 0; i < visibleNodes.Count; i++)
|
||||
{
|
||||
var currentNode =GetNode<Control>( visibleNodes[i]);
|
||||
var threshold = (i+1) / (float)visibleNodes.Count * 100;
|
||||
//GD.Print($"当前Node:{currentNode.Name},阈值{threshold} / {newValue}");
|
||||
if (threshold <= newValue)
|
||||
{
|
||||
currentNode.Show();
|
||||
}
|
||||
else
|
||||
{
|
||||
currentNode.Hide();
|
||||
}
|
||||
}
|
||||
progressBar.Value = newValue;
|
||||
}
|
||||
}
|
@@ -1,44 +0,0 @@
|
||||
using Godot;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using BITKit;
|
||||
|
||||
namespace BITFactory;
|
||||
public partial class ProductionTraceService : Node
|
||||
{
|
||||
private static IDatabaseContext<SearchResult> Context;
|
||||
[Export] private UXContainer container;
|
||||
[ExportCategory("快速绑定")]
|
||||
[Export] private UXContainer searchContainer;
|
||||
[Export] private Label searchResultLabel;
|
||||
[Export] private Button submitButton;
|
||||
[Export] private LineEdit searchInput;
|
||||
private void Search(string key)
|
||||
{
|
||||
Context.TrySearchArray(x=>x.Key.Contains(key) || x.Id.Contains(key) || x.Display.Contains(key), out var result);
|
||||
switch (result.Length)
|
||||
{
|
||||
case > 1:
|
||||
Entry(result);
|
||||
break;
|
||||
case 1:
|
||||
Entry(result[0]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
private void Entry(SearchResult result)
|
||||
{
|
||||
container.titleLabel.Text = result.Key;
|
||||
container.Text = result.Display;
|
||||
}
|
||||
private void Entry(SearchResult[] results)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
Context = new SqlLiteContext<SearchResult>();
|
||||
BIT4Log.Log<ProductionTraceService>("正在初始化生产追溯服务");
|
||||
}
|
||||
}
|
32
Mods/工业数据采集与分析应用分享/_Deprecated/README.md
Normal file
32
Mods/工业数据采集与分析应用分享/_Deprecated/README.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# 工业数据采集与分析应用分享
|
||||
|
||||
## 该应用程序使用方式为提供基于教学步骤的数据采集与分析的实践,主要包括以下内容:
|
||||
* 教程文档
|
||||
* 数据显示
|
||||
* 模拟数据
|
||||
* 该软件的作用就像是买书附带的光碟,里面有软件和视频等教辅软件
|
||||
|
||||
## 实践一:温湿度数据采集
|
||||
|
||||
配置:温湿度传感器(485)+以太网转485模块+电源等
|
||||
|
||||
目标:掌握Modbus协议、接线、查看文档等技能
|
||||
|
||||
步骤:查看文档+接线+现场讲解等
|
||||
|
||||
|
||||
## 实践二:模拟量数字量采集
|
||||
|
||||
配置:按钮开关+4-20ma信号发生器+模拟量采集模块+电源等
|
||||
|
||||
目标:掌握常见传感器的数据采集等。
|
||||
|
||||
步骤:查看文档+接线+现场讲解+采集
|
||||
|
||||
|
||||
## 实践三:激光雷达数据采集
|
||||
配置:激光雷达(UDP)+电源等
|
||||
|
||||
目标:掌握非标自定义协议的设备的数据采集。
|
||||
|
||||
步骤:查看文档+接线+现场讲解+采集
|
@@ -1,21 +1,21 @@
|
||||
[gd_scene load_steps=12 format=3 uid="uid://cdivd7qml4dvu"]
|
||||
|
||||
[ext_resource type="Script" path="res://BITKit/Scripts/UX/UXPanel.cs" id="1_im3hi"]
|
||||
[ext_resource type="Texture2D" uid="uid://b0f2b032lufnb" path="res://Mods/教育平台/Arts/Textures/ee680086375133.5d97558385c71.jpg" id="2_n24po"]
|
||||
[ext_resource type="PackedScene" uid="uid://d1po2qljd0jh2" path="res://Mods/教育平台/教程header.tscn" id="2_t35ce"]
|
||||
[ext_resource type="Script" path="res://BITKit/Scripts/GraphNode/GraphFlowService.cs" id="3_g5nag"]
|
||||
[ext_resource type="Texture2D" uid="uid://brhl3mwa5ibbk" path="res://Mods/教育平台/Arts/Textures/holographic_city_node.jpg" id="3_ov6mq"]
|
||||
[ext_resource type="Theme" uid="uid://dokwscirps6nt" path="res://Artists/Themes/Factory_Theme.tres" id="4_nxjar"]
|
||||
[ext_resource type="PackedScene" uid="uid://bx4v3ofh4on5e" path="res://Mods/工业数据采集与分析应用分享/标识注册.tscn" id="6_nuph1"]
|
||||
[ext_resource type="PackedScene" uid="uid://yxubv8dgqnpa" path="res://Mods/工业数据采集与分析应用分享/标识解析.tscn" id="7_fapjq"]
|
||||
[ext_resource type="Script" path="res://Mods/教育平台/Scripts/SearchRegister.cs" id="13_p3ia1"]
|
||||
[ext_resource type="Script" path="res://BITKit/Scripts/UX/UXServiceProxy.cs" id="16_qcre0"]
|
||||
[ext_resource type="Texture2D" uid="uid://c38luts5hc5fj" path="res://Artists/Art/Icons/Arrows/icon_chevron-left-rounded.png" id="16_s70sy"]
|
||||
[ext_resource type="Script" path="res://BITKit/Scripts/UX/UXPanel.cs" id="1_2tjg8"]
|
||||
[ext_resource type="Texture2D" uid="uid://b0f2b032lufnb" path="res://Mods/教育平台/Arts/Textures/ee680086375133.5d97558385c71.jpg" id="2_8n5qp"]
|
||||
[ext_resource type="PackedScene" uid="uid://d1po2qljd0jh2" path="res://Mods/教育平台/教程header.tscn" id="3_ds640"]
|
||||
[ext_resource type="Texture2D" uid="uid://brhl3mwa5ibbk" path="res://Mods/教育平台/Arts/Textures/holographic_city_node.jpg" id="4_vne04"]
|
||||
[ext_resource type="Theme" uid="uid://dokwscirps6nt" path="res://Artists/Themes/Factory_Theme.tres" id="5_sn2kd"]
|
||||
[ext_resource type="PackedScene" uid="uid://bx4v3ofh4on5e" path="res://Mods/工业数据采集与分析应用分享/_Deprecated/标识注册.tscn" id="6_drcgg"]
|
||||
[ext_resource type="PackedScene" uid="uid://yxubv8dgqnpa" path="res://Mods/工业数据采集与分析应用分享/_Deprecated/标识解析.tscn" id="7_kffxi"]
|
||||
[ext_resource type="Script" path="res://BITKit/Scripts/GraphNode/GraphFlowService.cs" id="8_xo2g2"]
|
||||
[ext_resource type="Texture2D" uid="uid://c38luts5hc5fj" path="res://Artists/Art/Icons/Arrows/icon_chevron-left-rounded.png" id="9_6xpog"]
|
||||
[ext_resource type="Script" path="res://BITKit/Scripts/UX/UXServiceProxy.cs" id="10_x7i37"]
|
||||
[ext_resource type="Script" path="res://Mods/教育平台/Scripts/SearchRegister.cs" id="11_xciq5"]
|
||||
|
||||
[node name="工业互联网标识解析与注册" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 0
|
||||
script = ExtResource("1_im3hi")
|
||||
script = ExtResource("1_2tjg8")
|
||||
allowCursor = true
|
||||
allowInput = true
|
||||
|
||||
@@ -42,10 +42,10 @@ offset_right = 1923.0
|
||||
offset_bottom = 1019.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
texture = ExtResource("2_n24po")
|
||||
texture = ExtResource("2_8n5qp")
|
||||
stretch_mode = 6
|
||||
|
||||
[node name="教程Header" parent="." instance=ExtResource("2_t35ce")]
|
||||
[node name="教程Header" parent="." instance=ExtResource("3_ds640")]
|
||||
visible = false
|
||||
layout_mode = 0
|
||||
|
||||
@@ -61,7 +61,7 @@ offset_right = 66.0
|
||||
offset_bottom = 539.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
texture = ExtResource("3_ov6mq")
|
||||
texture = ExtResource("4_vne04")
|
||||
expand_mode = 1
|
||||
stretch_mode = 6
|
||||
|
||||
@@ -71,10 +71,10 @@ offset_top = 4.0
|
||||
offset_right = 1920.0
|
||||
offset_bottom = 1076.0
|
||||
size_flags_vertical = 3
|
||||
theme = ExtResource("4_nxjar")
|
||||
theme = ExtResource("5_sn2kd")
|
||||
theme_override_constants/side_margin = 128
|
||||
|
||||
[node name="标识注册" parent="TabContainer" instance=ExtResource("6_nuph1")]
|
||||
[node name="标识注册" parent="TabContainer" instance=ExtResource("6_drcgg")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="注册标识" parent="TabContainer/标识注册/VBoxContainer/ScrollContainer/HFlowContainer/StepElement2" index="15"]
|
||||
@@ -83,12 +83,12 @@ visible = false
|
||||
[node name="Label" parent="TabContainer/标识注册/VBoxContainer/ScrollContainer/HFlowContainer/StepElement9/BaseComponent" index="1"]
|
||||
text = "注册与更新标识"
|
||||
|
||||
[node name="标识解析" parent="TabContainer" instance=ExtResource("7_fapjq")]
|
||||
[node name="标识解析" parent="TabContainer" instance=ExtResource("7_kffxi")]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GraphFlow" type="Node" parent="."]
|
||||
script = ExtResource("3_g5nag")
|
||||
script = ExtResource("8_xo2g2")
|
||||
nodes = {
|
||||
0: NodePath(""),
|
||||
1: NodePath(""),
|
||||
@@ -109,12 +109,12 @@ offset_top = 5.0
|
||||
offset_right = 129.0
|
||||
offset_bottom = 66.0
|
||||
text = "返回"
|
||||
icon = ExtResource("16_s70sy")
|
||||
icon = ExtResource("9_6xpog")
|
||||
expand_icon = true
|
||||
script = ExtResource("16_qcre0")
|
||||
script = ExtResource("10_x7i37")
|
||||
|
||||
[node name="SearchRegister" type="Node" parent="." node_paths=PackedStringArray("keyLine", "valueLine", "nameLine", "idLine", "registryRecordLine", "registryButton", "registryResultLabel")]
|
||||
script = ExtResource("13_p3ia1")
|
||||
script = ExtResource("11_xciq5")
|
||||
keyLine = NodePath("../TabContainer/标识注册/VBoxContainer/ScrollContainer/HFlowContainer/StepElement9/HBoxContainer/keyLine")
|
||||
valueLine = NodePath("../TabContainer/标识注册/VBoxContainer/ScrollContainer/HFlowContainer/StepElement9/HBoxContainer2/valueLine")
|
||||
nameLine = NodePath("../TabContainer/标识注册/VBoxContainer/ScrollContainer/HFlowContainer/StepElement9/HBoxContainer3/nameLine")
|
@@ -1,20 +1,20 @@
|
||||
[gd_scene load_steps=20 format=3 uid="uid://bx4v3ofh4on5e"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dmk2vf7jamysi" path="res://Mods/工业数据采集与分析应用分享/Templates/StepElement.tscn" id="1_6n8rk"]
|
||||
[ext_resource type="Texture2D" uid="uid://dytwon7lxa5gw" path="res://Artists/Art/Icons/Icon_Registry_Editor.png" id="2_1ml36"]
|
||||
[ext_resource type="Script" path="res://BITKit/Scripts/Components/RuntimeNode.cs" id="2_qx54p"]
|
||||
[ext_resource type="Texture2D" uid="uid://dv24ghy23fnje" path="res://Artists/Art/Icons/icon_file-ppt-filled.png" id="2_ugkdr"]
|
||||
[ext_resource type="PackedScene" uid="uid://fybiswo7gltf" path="res://Mods/工业数据采集与分析应用分享/Templates/解析节点.tscn" id="2_y06ys"]
|
||||
[ext_resource type="PackedScene" uid="uid://n3v64dkgpccy" path="res://Mods/工业数据采集与分析应用分享/Templates/手动注册与更新标识.tscn" id="3_cnqit"]
|
||||
[ext_resource type="Theme" uid="uid://dokwscirps6nt" path="res://Artists/Themes/Factory_Theme.tres" id="4_gvxxh"]
|
||||
[ext_resource type="Script" path="res://Temp/ReadyDebug.cs" id="4_v65a4"]
|
||||
[ext_resource type="PackedScene" uid="uid://c0p5mw7gbwwk6" path="res://Mods/工业数据采集与分析应用分享/生产模拟.tscn" id="5_eaber"]
|
||||
[ext_resource type="Texture2D" uid="uid://gtho2m1sv43b" path="res://Artists/Art/Icons/material-symbols_update.png" id="5_qj746"]
|
||||
[ext_resource type="PackedScene" uid="uid://dv3ugwbqu3t77" path="res://Mods/工业数据采集与分析应用分享/Templates/更新温湿度传感器的标识.tscn" id="5_r3ufd"]
|
||||
[ext_resource type="Texture2D" uid="uid://bgwx8t6ugami" path="res://Mods/工业数据采集与分析应用分享/Arts/Images/1-6分钟快速理解Modbus通信协议!-480P 清晰-AVC.Cover.jpg" id="9_bnn3v"]
|
||||
[ext_resource type="Script" path="res://BITKit/Scripts/Components/OpenPath.cs" id="10_7je1h"]
|
||||
[ext_resource type="Texture2D" uid="uid://cjk4xep1wgmul" path="res://Artists/Art/Icons/Icon_ic_baseline-video-file.png" id="10_o41te"]
|
||||
[ext_resource type="Script" path="res://BITKit/Scripts/Components/OpenUrl.cs" id="12_0uxjp"]
|
||||
[ext_resource type="Theme" uid="uid://dokwscirps6nt" path="res://Artists/Themes/Factory_Theme.tres" id="1_3wvk5"]
|
||||
[ext_resource type="Script" path="res://BITKit/Scripts/Components/RuntimeNode.cs" id="2_xptn7"]
|
||||
[ext_resource type="PackedScene" uid="uid://fybiswo7gltf" path="res://Mods/工业数据采集与分析应用分享/Templates/解析节点.tscn" id="3_o1m1n"]
|
||||
[ext_resource type="PackedScene" uid="uid://n3v64dkgpccy" path="res://Mods/工业数据采集与分析应用分享/Templates/手动注册与更新标识.tscn" id="4_ruskv"]
|
||||
[ext_resource type="PackedScene" uid="uid://c0p5mw7gbwwk6" path="res://Mods/工业数据采集与分析应用分享/_Deprecated/生产模拟.tscn" id="5_fxufp"]
|
||||
[ext_resource type="PackedScene" uid="uid://dv3ugwbqu3t77" path="res://Mods/工业数据采集与分析应用分享/Templates/更新温湿度传感器的标识.tscn" id="6_2rvf3"]
|
||||
[ext_resource type="Script" path="res://Temp/ReadyDebug.cs" id="7_hlgub"]
|
||||
[ext_resource type="PackedScene" uid="uid://dmk2vf7jamysi" path="res://Mods/工业数据采集与分析应用分享/Templates/StepElement.tscn" id="8_m8q0w"]
|
||||
[ext_resource type="Texture2D" uid="uid://dytwon7lxa5gw" path="res://Artists/Art/Icons/Icon_Registry_Editor.png" id="9_y30n4"]
|
||||
[ext_resource type="Texture2D" uid="uid://dv24ghy23fnje" path="res://Artists/Art/Icons/icon_file-ppt-filled.png" id="10_vml30"]
|
||||
[ext_resource type="Script" path="res://BITKit/Scripts/Components/OpenPath.cs" id="11_0w0p0"]
|
||||
[ext_resource type="Texture2D" uid="uid://bgwx8t6ugami" path="res://Mods/工业数据采集与分析应用分享/Arts/Images/1-6分钟快速理解Modbus通信协议!-480P 清晰-AVC.Cover.jpg" id="12_lmvg6"]
|
||||
[ext_resource type="Texture2D" uid="uid://cjk4xep1wgmul" path="res://Artists/Art/Icons/Icon_ic_baseline-video-file.png" id="13_h0iu4"]
|
||||
[ext_resource type="Script" path="res://BITKit/Scripts/Components/OpenUrl.cs" id="14_skh1p"]
|
||||
[ext_resource type="Texture2D" uid="uid://gtho2m1sv43b" path="res://Artists/Art/Icons/material-symbols_update.png" id="15_asl0l"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_tkumr"]
|
||||
|
||||
@@ -104,7 +104,7 @@ anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme = ExtResource("4_gvxxh")
|
||||
theme = ExtResource("1_3wvk5")
|
||||
color = Color(0.121569, 0.129412, 0.145098, 1)
|
||||
|
||||
[node name="Animations" type="TabContainer" parent="."]
|
||||
@@ -125,7 +125,7 @@ tabs_visible = false
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 16
|
||||
alignment = 1
|
||||
script = ExtResource("2_qx54p")
|
||||
script = ExtResource("2_xptn7")
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="Animations/Start"]
|
||||
reset_on_save = false
|
||||
@@ -142,7 +142,7 @@ layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
alignment = 1
|
||||
|
||||
[node name="Node-0" parent="Animations/Start/VBoxContainer/Root" instance=ExtResource("2_y06ys")]
|
||||
[node name="Node-0" parent="Animations/Start/VBoxContainer/Root" instance=ExtResource("3_o1m1n")]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
|
||||
@@ -151,7 +151,7 @@ layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
alignment = 1
|
||||
|
||||
[node name="Node1-1" parent="Animations/Start/VBoxContainer/Node" instance=ExtResource("2_y06ys")]
|
||||
[node name="Node1-1" parent="Animations/Start/VBoxContainer/Node" instance=ExtResource("3_o1m1n")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="IconText" parent="Animations/Start/VBoxContainer/Node/Node1-1/Icon" index="0"]
|
||||
@@ -160,7 +160,7 @@ text = "S"
|
||||
[node name="Name" parent="Animations/Start/VBoxContainer/Node/Node1-1" index="1"]
|
||||
text = "二级节点"
|
||||
|
||||
[node name="Node-1-2" parent="Animations/Start/VBoxContainer/Node" instance=ExtResource("2_y06ys")]
|
||||
[node name="Node-1-2" parent="Animations/Start/VBoxContainer/Node" instance=ExtResource("3_o1m1n")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="IconText" parent="Animations/Start/VBoxContainer/Node/Node-1-2/Icon" index="0"]
|
||||
@@ -174,7 +174,7 @@ layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
alignment = 1
|
||||
|
||||
[node name="Node-2-1" parent="Animations/Start/VBoxContainer/SubNode" instance=ExtResource("2_y06ys")]
|
||||
[node name="Node-2-1" parent="Animations/Start/VBoxContainer/SubNode" instance=ExtResource("3_o1m1n")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="IconText" parent="Animations/Start/VBoxContainer/SubNode/Node-2-1/Icon" index="0"]
|
||||
@@ -183,7 +183,7 @@ text = "E"
|
||||
[node name="Name" parent="Animations/Start/VBoxContainer/SubNode/Node-2-1" index="1"]
|
||||
text = "企业节点"
|
||||
|
||||
[node name="Node-2-2" parent="Animations/Start/VBoxContainer/SubNode" instance=ExtResource("2_y06ys")]
|
||||
[node name="Node-2-2" parent="Animations/Start/VBoxContainer/SubNode" instance=ExtResource("3_o1m1n")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="IconText" parent="Animations/Start/VBoxContainer/SubNode/Node-2-2/Icon" index="0"]
|
||||
@@ -192,7 +192,7 @@ text = "E"
|
||||
[node name="Name" parent="Animations/Start/VBoxContainer/SubNode/Node-2-2" index="1"]
|
||||
text = "企业节点"
|
||||
|
||||
[node name="Node-2-3" parent="Animations/Start/VBoxContainer/SubNode" instance=ExtResource("2_y06ys")]
|
||||
[node name="Node-2-3" parent="Animations/Start/VBoxContainer/SubNode" instance=ExtResource("3_o1m1n")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="IconText" parent="Animations/Start/VBoxContainer/SubNode/Node-2-3/Icon" index="0"]
|
||||
@@ -245,7 +245,7 @@ layout_mode = 2
|
||||
theme_override_styles/normal = SubResource("StyleBoxFlat_i5ei2")
|
||||
text = "返回标识的相关属性信息"
|
||||
|
||||
[node name="手动注册与更新标识" parent="Animations" instance=ExtResource("3_cnqit")]
|
||||
[node name="手动注册与更新标识" parent="Animations" instance=ExtResource("4_ruskv")]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
|
||||
@@ -257,11 +257,11 @@ layout_mode = 2
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
|
||||
[node name="生产模拟" parent="Animations" instance=ExtResource("5_eaber")]
|
||||
[node name="生产模拟" parent="Animations" instance=ExtResource("5_fxufp")]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
|
||||
[node name="更新温湿度传感器的标识" parent="Animations" instance=ExtResource("5_r3ufd")]
|
||||
[node name="更新温湿度传感器的标识" parent="Animations" instance=ExtResource("6_2rvf3")]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
|
||||
@@ -284,13 +284,13 @@ theme_override_constants/separation = 32
|
||||
[node name="ScrollContainer" type="ScrollContainer" parent="VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
script = ExtResource("4_v65a4")
|
||||
script = ExtResource("7_hlgub")
|
||||
|
||||
[node name="HFlowContainer" type="HBoxContainer" parent="VBoxContainer/ScrollContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 64
|
||||
|
||||
[node name="StepElement2" parent="VBoxContainer/ScrollContainer/HFlowContainer" instance=ExtResource("1_6n8rk")]
|
||||
[node name="StepElement2" parent="VBoxContainer/ScrollContainer/HFlowContainer" instance=ExtResource("8_m8q0w")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Name" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement2/BaseComponent" index="0"]
|
||||
@@ -434,10 +434,10 @@ layout_mode = 2
|
||||
[node name="注册标识" type="Button" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement2"]
|
||||
layout_mode = 2
|
||||
text = "注册标识"
|
||||
icon = ExtResource("2_1ml36")
|
||||
icon = ExtResource("9_y30n4")
|
||||
expand_icon = true
|
||||
|
||||
[node name="StepElement9" parent="VBoxContainer/ScrollContainer/HFlowContainer" instance=ExtResource("1_6n8rk")]
|
||||
[node name="StepElement9" parent="VBoxContainer/ScrollContainer/HFlowContainer" instance=ExtResource("8_m8q0w")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Name" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement9/BaseComponent" index="0"]
|
||||
@@ -538,7 +538,7 @@ text = "在标识码和Id相同时提交更新,不相同时注册标识"
|
||||
[node name="register-button" type="Button" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement9"]
|
||||
layout_mode = 2
|
||||
text = "手动注册和更新"
|
||||
icon = ExtResource("2_1ml36")
|
||||
icon = ExtResource("9_y30n4")
|
||||
expand_icon = true
|
||||
|
||||
[node name="RegistryResultLabel" type="RichTextLabel" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement9"]
|
||||
@@ -547,7 +547,7 @@ bbcode_enabled = true
|
||||
text = "这里是注册结果"
|
||||
fit_content = true
|
||||
|
||||
[node name="StepElement" parent="VBoxContainer/ScrollContainer/HFlowContainer" instance=ExtResource("1_6n8rk")]
|
||||
[node name="StepElement" parent="VBoxContainer/ScrollContainer/HFlowContainer" instance=ExtResource("8_m8q0w")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="RichTextLabel" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement/BaseComponent" index="5"]
|
||||
@@ -596,9 +596,9 @@ text = "准备好了么?"
|
||||
[node name="Button" type="Button" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement"]
|
||||
layout_mode = 2
|
||||
text = "一键配置并打开环境"
|
||||
icon = ExtResource("2_ugkdr")
|
||||
icon = ExtResource("10_vml30")
|
||||
expand_icon = true
|
||||
script = ExtResource("10_7je1h")
|
||||
script = ExtResource("11_0w0p0")
|
||||
path = "EXE"
|
||||
|
||||
[node name="Label2" type="Label" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement"]
|
||||
@@ -612,7 +612,7 @@ layout_mode = 2
|
||||
[node name="TextureButton" type="TextureRect" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement/HBoxContainer"]
|
||||
custom_minimum_size = Vector2(0, 128)
|
||||
layout_mode = 2
|
||||
texture = ExtResource("9_bnn3v")
|
||||
texture = ExtResource("12_lmvg6")
|
||||
expand_mode = 3
|
||||
stretch_mode = 5
|
||||
|
||||
@@ -620,11 +620,11 @@ stretch_mode = 5
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "打开视频"
|
||||
icon = ExtResource("10_o41te")
|
||||
script = ExtResource("12_0uxjp")
|
||||
icon = ExtResource("13_h0iu4")
|
||||
script = ExtResource("14_skh1p")
|
||||
url = "https://b23.tv/8YPP7fU"
|
||||
|
||||
[node name="StepElement5" parent="VBoxContainer/ScrollContainer/HFlowContainer" instance=ExtResource("1_6n8rk")]
|
||||
[node name="StepElement5" parent="VBoxContainer/ScrollContainer/HFlowContainer" instance=ExtResource("8_m8q0w")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Name" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement5/BaseComponent" index="0"]
|
||||
@@ -660,7 +660,7 @@ text = "查看 温湿度模块 设备使用手册;
|
||||
使用SCADA等工具采集数据;
|
||||
"
|
||||
|
||||
[node name="StepElement4" parent="VBoxContainer/ScrollContainer/HFlowContainer" instance=ExtResource("1_6n8rk")]
|
||||
[node name="StepElement4" parent="VBoxContainer/ScrollContainer/HFlowContainer" instance=ExtResource("8_m8q0w")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Name" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement4/BaseComponent" index="0"]
|
||||
@@ -683,7 +683,7 @@ AGV的电流
|
||||
拧紧机械臂的标识
|
||||
夹爪的标识"
|
||||
|
||||
[node name="StepElement3" parent="VBoxContainer/ScrollContainer/HFlowContainer" instance=ExtResource("1_6n8rk")]
|
||||
[node name="StepElement3" parent="VBoxContainer/ScrollContainer/HFlowContainer" instance=ExtResource("8_m8q0w")]
|
||||
custom_minimum_size = Vector2(512, 512)
|
||||
layout_mode = 2
|
||||
|
||||
@@ -740,7 +740,7 @@ text = "湿度37"
|
||||
[node name="Button" type="Button" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement3"]
|
||||
layout_mode = 2
|
||||
text = "提交标识更新数据"
|
||||
icon = ExtResource("5_qj746")
|
||||
icon = ExtResource("15_asl0l")
|
||||
expand_icon = true
|
||||
|
||||
[node name="Button2" type="Button" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement3"]
|
78
Mods/工业数据采集与分析应用分享/标识注册与解析.tscn
Normal file
78
Mods/工业数据采集与分析应用分享/标识注册与解析.tscn
Normal file
@@ -0,0 +1,78 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://cngf2h2a5ne4a"]
|
||||
|
||||
[ext_resource type="Script" path="res://BITKit/Scripts/UX/UXPanel.cs" id="1_c78kh"]
|
||||
[ext_resource type="PackedScene" uid="uid://d1po2qljd0jh2" path="res://Mods/教育平台/教程header.tscn" id="2_mn1rn"]
|
||||
[ext_resource type="Script" path="res://Mods/工业数据采集与分析应用分享/Scripts/IDIS_Service.cs" id="3_xbtmk"]
|
||||
|
||||
[node name="标识注册与解析" type="VBoxContainer"]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1_c78kh")
|
||||
allowCursor = true
|
||||
allowInput = true
|
||||
|
||||
[node name="教程Header" parent="." instance=ExtResource("2_mn1rn")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Main Layout" type="MarginContainer" parent="."]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_type_variation = &"Margin_16px"
|
||||
|
||||
[node name="Horizontal Layout" type="HBoxContainer" parent="Main Layout"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 16
|
||||
|
||||
[node name="导航栏" type="VBoxContainer" parent="Main Layout/Horizontal Layout"]
|
||||
custom_minimum_size = Vector2(256, 0)
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="Main Layout/Horizontal Layout/导航栏"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderMedium"
|
||||
text = "注册"
|
||||
|
||||
[node name="Button" type="Button" parent="Main Layout/Horizontal Layout/导航栏"]
|
||||
layout_mode = 2
|
||||
text = "注册标识模板"
|
||||
|
||||
[node name="Label3" type="Label" parent="Main Layout/Horizontal Layout/导航栏"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderMedium"
|
||||
text = "准备生产"
|
||||
|
||||
[node name="Button3" type="Button" parent="Main Layout/Horizontal Layout/导航栏"]
|
||||
layout_mode = 2
|
||||
text = "注册设备"
|
||||
|
||||
[node name="Label4" type="Label" parent="Main Layout/Horizontal Layout/导航栏"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderMedium"
|
||||
text = "开始生产"
|
||||
|
||||
[node name="Button2" type="Button" parent="Main Layout/Horizontal Layout/导航栏"]
|
||||
layout_mode = 2
|
||||
text = "注册订单"
|
||||
|
||||
[node name="Button4" type="Button" parent="Main Layout/Horizontal Layout/导航栏"]
|
||||
layout_mode = 2
|
||||
text = "内容1"
|
||||
|
||||
[node name="Button5" type="Button" parent="Main Layout/Horizontal Layout/导航栏"]
|
||||
layout_mode = 2
|
||||
text = "内容1"
|
||||
|
||||
[node name="Button6" type="Button" parent="Main Layout/Horizontal Layout/导航栏"]
|
||||
layout_mode = 2
|
||||
text = "内容1"
|
||||
|
||||
[node name="内容" type="TabContainer" parent="Main Layout/Horizontal Layout"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
tabs_visible = false
|
||||
|
||||
[node name="标识解析服务" type="Node" parent="."]
|
||||
script = ExtResource("3_xbtmk")
|
@@ -1,16 +1,11 @@
|
||||
[gd_scene load_steps=13 format=3 uid="uid://bu5w3n4me3xj2"]
|
||||
[gd_scene load_steps=8 format=3 uid="uid://bu5w3n4me3xj2"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://6dpw3hl2gu10" path="res://Mods/工业数据采集与分析应用分享/Arts/Illustrations/Illustration_ABB_Rotbotic_Arm_Rendering_DWADWFF.jpg" id="1_uwo3j"]
|
||||
[ext_resource type="PackedScene" uid="uid://dwdlewpjrt8pf" path="res://Mods/教育平台/Templates/选择课程.tscn" id="2_rvvu8"]
|
||||
[ext_resource type="Script" path="res://BITKit/Scripts/UX/UXPanel.cs" id="2_vgo47"]
|
||||
[ext_resource type="Theme" uid="uid://dokwscirps6nt" path="res://Artists/Themes/Factory_Theme.tres" id="3_t8g27"]
|
||||
[ext_resource type="Texture2D" uid="uid://be1o87ilc237s" path="res://Artists/Art/Logos/logo-intelli.png" id="3_wkkwb"]
|
||||
[ext_resource type="PackedScene" uid="uid://cwq2llh4vrnsg" path="res://Mods/工业数据采集与分析应用分享/温湿度数据采集.tscn" id="5_2s7gj"]
|
||||
[ext_resource type="Texture2D" uid="uid://dbbq18cuoubm3" path="res://Mods/工业数据采集与分析应用分享/Arts/Images/实战-温湿度数据采集.jpg" id="5_5ul10"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdivd7qml4dvu" path="res://Mods/工业数据采集与分析应用分享/工业互联网标识解析与注册.tscn" id="5_r62a1"]
|
||||
[ext_resource type="Texture2D" uid="uid://bji0qcq8fkimh" path="res://Mods/工业数据采集与分析应用分享/Arts/Images/实战-模拟量数字量采集.jpg" id="6_6n5xr"]
|
||||
[ext_resource type="Texture2D" uid="uid://2ka8taavxcn0" path="res://Mods/工业数据采集与分析应用分享/Arts/Images/实战-激光雷达数据采集.jpg" id="7_c28nt"]
|
||||
[ext_resource type="PackedScene" uid="uid://cgocposhaflgj" path="res://Mods/工业数据采集与分析应用分享/激光雷达数据采集.tscn" id="8_uj17p"]
|
||||
[ext_resource type="PackedScene" uid="uid://cngf2h2a5ne4a" path="res://Mods/工业数据采集与分析应用分享/标识注册与解析.tscn" id="6_1g0h3"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_0jsjw"]
|
||||
bg_color = Color(0, 0, 0, 0.501961)
|
||||
@@ -175,39 +170,6 @@ layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_override_constants/separation = 16
|
||||
|
||||
[node name="NinePatchRect" parent="UXPanel/ReferenceRect/HBoxContainer/ScrollContainer/VBoxContainer" instance=ExtResource("2_rvvu8")]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
CourseScene = ExtResource("5_2s7gj")
|
||||
|
||||
[node name="Label" parent="UXPanel/ReferenceRect/HBoxContainer/ScrollContainer/VBoxContainer/NinePatchRect/MarginContainer/HBoxContainer/VBoxContainer" index="0"]
|
||||
text = "实战-温湿度数据采集"
|
||||
|
||||
[node name="TextureRect" parent="UXPanel/ReferenceRect/HBoxContainer/ScrollContainer/VBoxContainer/NinePatchRect/MarginContainer/HBoxContainer" index="1"]
|
||||
texture = ExtResource("5_5ul10")
|
||||
expand_mode = 2
|
||||
|
||||
[node name="NinePatchRect2" parent="UXPanel/ReferenceRect/HBoxContainer/ScrollContainer/VBoxContainer" instance=ExtResource("2_rvvu8")]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" parent="UXPanel/ReferenceRect/HBoxContainer/ScrollContainer/VBoxContainer/NinePatchRect2/MarginContainer/HBoxContainer/VBoxContainer" index="0"]
|
||||
text = "实战-模拟量数字量采集"
|
||||
|
||||
[node name="TextureRect" parent="UXPanel/ReferenceRect/HBoxContainer/ScrollContainer/VBoxContainer/NinePatchRect2/MarginContainer/HBoxContainer" index="1"]
|
||||
texture = ExtResource("6_6n5xr")
|
||||
|
||||
[node name="NinePatchRect3" parent="UXPanel/ReferenceRect/HBoxContainer/ScrollContainer/VBoxContainer" instance=ExtResource("2_rvvu8")]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
CourseScene = ExtResource("8_uj17p")
|
||||
|
||||
[node name="Label" parent="UXPanel/ReferenceRect/HBoxContainer/ScrollContainer/VBoxContainer/NinePatchRect3/MarginContainer/HBoxContainer/VBoxContainer" index="0"]
|
||||
text = "实战-激光雷达数据采集"
|
||||
|
||||
[node name="TextureRect" parent="UXPanel/ReferenceRect/HBoxContainer/ScrollContainer/VBoxContainer/NinePatchRect3/MarginContainer/HBoxContainer" index="1"]
|
||||
texture = ExtResource("7_c28nt")
|
||||
|
||||
[node name="Label2" type="Label" parent="UXPanel/ReferenceRect/HBoxContainer/ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderLarge"
|
||||
@@ -215,7 +177,7 @@ text = "工业互联网标识解析与注册"
|
||||
|
||||
[node name="NinePatchRect4" parent="UXPanel/ReferenceRect/HBoxContainer/ScrollContainer/VBoxContainer" instance=ExtResource("2_rvvu8")]
|
||||
layout_mode = 2
|
||||
CourseScene = ExtResource("5_r62a1")
|
||||
CourseScene = ExtResource("6_1g0h3")
|
||||
CourseName = "标注解析与注册"
|
||||
|
||||
[node name="Label" parent="UXPanel/ReferenceRect/HBoxContainer/ScrollContainer/VBoxContainer/NinePatchRect4/MarginContainer/HBoxContainer/VBoxContainer" index="0"]
|
||||
@@ -251,7 +213,4 @@ text = "该版本为定制版,只有定制课程"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[editable path="UXPanel/ReferenceRect/HBoxContainer/ScrollContainer/VBoxContainer/NinePatchRect"]
|
||||
[editable path="UXPanel/ReferenceRect/HBoxContainer/ScrollContainer/VBoxContainer/NinePatchRect2"]
|
||||
[editable path="UXPanel/ReferenceRect/HBoxContainer/ScrollContainer/VBoxContainer/NinePatchRect3"]
|
||||
[editable path="UXPanel/ReferenceRect/HBoxContainer/ScrollContainer/VBoxContainer/NinePatchRect4"]
|
||||
|
Reference in New Issue
Block a user