Breakpoint
This commit is contained in:
@@ -1,3 +0,0 @@
|
||||
[gd_resource type="ButtonGroup" format=3 uid="uid://cwiiipy56pktn"]
|
||||
|
||||
[resource]
|
@@ -1,12 +0,0 @@
|
||||
[gd_resource type="Resource" script_class="IDIS_AutoRegResource" load_steps=2 format=3 uid="uid://cs0mh0ev6u0cf"]
|
||||
|
||||
[ext_resource type="Script" path="res://Mods/工业数据采集与分析应用分享/Scripts/IDIS_AutoRegResource.cs" id="1_vgs8l"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_vgs8l")
|
||||
HandleSeed = ""
|
||||
Format = ""
|
||||
Category = ""
|
||||
Name = ""
|
||||
Value = ""
|
||||
RefHandleSeed = ""
|
@@ -1,12 +0,0 @@
|
||||
[gd_resource type="Resource" script_class="IDIS_AutoRegResource" load_steps=2 format=3 uid="uid://574gf1b8pq71"]
|
||||
|
||||
[ext_resource type="Script" path="res://Mods/工业数据采集与分析应用分享/Scripts/IDIS_AutoRegResource.cs" id="1_xdojh"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_xdojh")
|
||||
HandleSeed = ""
|
||||
Format = ""
|
||||
Category = ""
|
||||
Name = ""
|
||||
Value = ""
|
||||
RefHandleSeed = ""
|
@@ -1,12 +0,0 @@
|
||||
[gd_resource type="Resource" script_class="IDIS_AutoRegResource" load_steps=2 format=3 uid="uid://vsysp5ftn5do"]
|
||||
|
||||
[ext_resource type="Script" path="res://Mods/工业数据采集与分析应用分享/Scripts/IDIS_AutoRegResource.cs" id="1_4uwqb"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_4uwqb")
|
||||
HandleSeed = ""
|
||||
Format = ""
|
||||
Category = ""
|
||||
Name = ""
|
||||
Value = ""
|
||||
RefHandleSeed = ""
|
@@ -1,12 +0,0 @@
|
||||
[gd_resource type="Resource" script_class="IDIS_AutoRegResource" load_steps=2 format=3 uid="uid://c2he5e5rahatp"]
|
||||
|
||||
[ext_resource type="Script" path="res://Mods/工业数据采集与分析应用分享/Scripts/IDIS_AutoRegResource.cs" id="1_b50nr"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_b50nr")
|
||||
HandleSeed = ""
|
||||
Format = ""
|
||||
Category = ""
|
||||
Name = ""
|
||||
Value = ""
|
||||
RefHandleSeed = ""
|
@@ -1,12 +0,0 @@
|
||||
[gd_resource type="Resource" script_class="IDIS_AutoRegResource" load_steps=2 format=3 uid="uid://b38onsp3c3jem"]
|
||||
|
||||
[ext_resource type="Script" path="res://Mods/工业数据采集与分析应用分享/Scripts/IDIS_AutoRegResource.cs" id="1_3kqe2"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_3kqe2")
|
||||
HandleSeed = "th.record"
|
||||
Format = "float"
|
||||
Category = "环境"
|
||||
Name = "温度"
|
||||
Value = "42"
|
||||
RefHandleSeed = ""
|
@@ -1,12 +0,0 @@
|
||||
[gd_resource type="Resource" script_class="IDIS_AutoRegResource" load_steps=2 format=3 uid="uid://d3xam2no2uaas"]
|
||||
|
||||
[ext_resource type="Script" path="res://Mods/工业数据采集与分析应用分享/Scripts/IDIS_AutoRegResource.cs" id="1_lqwbc"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_lqwbc")
|
||||
HandleSeed = "th.record"
|
||||
Format = "float"
|
||||
Category = "环境"
|
||||
Name = "湿度"
|
||||
Value = "50"
|
||||
RefHandleSeed = "th"
|
@@ -1,12 +0,0 @@
|
||||
[gd_resource type="Resource" script_class="IDIS_AutoRegResource" load_steps=2 format=3 uid="uid://cgk1wmiqqedmi"]
|
||||
|
||||
[ext_resource type="Script" path="res://Mods/工业数据采集与分析应用分享/Scripts/IDIS_AutoRegResource.cs" id="1_8mak5"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_8mak5")
|
||||
HandleSeed = "th"
|
||||
Format = "string"
|
||||
Category = "参数"
|
||||
Name = "型号"
|
||||
Value = "th.sensor"
|
||||
RefHandleSeed = "th.record"
|
@@ -1,12 +0,0 @@
|
||||
[gd_resource type="Resource" script_class="IDIS_AutoRegResource" load_steps=2 format=3 uid="uid://hixuaakj8opt"]
|
||||
|
||||
[ext_resource type="Script" path="res://Mods/工业数据采集与分析应用分享/Scripts/IDIS_AutoRegResource.cs" id="1_hthhx"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_hthhx")
|
||||
HandleSeed = ""
|
||||
Format = ""
|
||||
Category = ""
|
||||
Name = ""
|
||||
Value = ""
|
||||
RefHandleSeed = ""
|
@@ -1,12 +0,0 @@
|
||||
[gd_resource type="Resource" script_class="IDIS_AutoRegResource" load_steps=2 format=3 uid="uid://ngju0miy7a6b"]
|
||||
|
||||
[ext_resource type="Script" path="res://Mods/工业数据采集与分析应用分享/Scripts/IDIS_AutoRegResource.cs" id="1_brytp"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_brytp")
|
||||
HandleSeed = ""
|
||||
Format = ""
|
||||
Category = ""
|
||||
Name = ""
|
||||
Value = ""
|
||||
RefHandleSeed = ""
|
@@ -1,12 +0,0 @@
|
||||
[gd_resource type="Resource" script_class="IDIS_AutoRegResource" load_steps=2 format=3 uid="uid://c4a5buevs88ko"]
|
||||
|
||||
[ext_resource type="Script" path="res://Mods/工业数据采集与分析应用分享/Scripts/IDIS_AutoRegResource.cs" id="1_25hnv"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_25hnv")
|
||||
HandleSeed = ""
|
||||
Format = ""
|
||||
Category = ""
|
||||
Name = ""
|
||||
Value = ""
|
||||
RefHandleSeed = ""
|
@@ -1,41 +0,0 @@
|
||||
#if Deprecated
|
||||
using Godot;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text.RegularExpressions;
|
||||
using BITKit;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
|
||||
namespace BITFactory;
|
||||
[GlobalClass]
|
||||
public partial class IDIS_RegisterDB : FormDBProvider
|
||||
{
|
||||
public override void Submit(string data)
|
||||
{
|
||||
|
||||
|
||||
var jObject = JsonConvert.DeserializeObject<JObject>(data);
|
||||
var handle = jObject["handle"]!.ToObject<string>();
|
||||
var values = jObject["values"]!.ToObject<List<IDIS_Data>>();
|
||||
var references = jObject["references"]!.ToObject<List<string>>();
|
||||
var createUser = jObject["createUser"]!.ToObject<string>();
|
||||
|
||||
if(Regex.IsMatch(handle,IDIS_Code.AddressRegex) is false)
|
||||
{
|
||||
throw new InvalidOperationException("标识格式不正确");
|
||||
}
|
||||
|
||||
IDIS_Service.Singleton.Register(handle, createUser);
|
||||
foreach (var x in values)
|
||||
{
|
||||
IDIS_Service.Singleton.Register(handle,x.Name, x.Format, x.Value,x.Category);
|
||||
}
|
||||
|
||||
foreach (var x in references)
|
||||
{
|
||||
IDIS_Service.Singleton.RegisterReference(handle,x);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
@@ -1,108 +0,0 @@
|
||||
#if Deprecated
|
||||
using Godot;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using BITKit;
|
||||
|
||||
namespace BITFactory;
|
||||
[GlobalClass]
|
||||
public partial class IDIS_RegisterWeaver : FormWeaverResource
|
||||
{
|
||||
[Export] private NodePath handleEditPath;
|
||||
[Export] private NodePath generateButtonPath;
|
||||
[Export] private NodePath addReferenceButtonPath;
|
||||
[Export] private NodePath referenceEditBuilderPath;
|
||||
[Export] private NodePath templateBuilderPath;
|
||||
|
||||
private LineEdit handleEdit=>formBuilder.GetNode<LineEdit>(handleEditPath);
|
||||
private Button generateButton=>formBuilder.GetNode<Button>(generateButtonPath);
|
||||
private Button addReferenceButton=>formBuilder.GetNode<Button>(addReferenceButtonPath);
|
||||
private NodeBuilder referenceEditBuilder=>formBuilder.GetNode<NodeBuilder>(referenceEditBuilderPath);
|
||||
private TemplateBuilder templateBuilder => formBuilder.GetNode<TemplateBuilder>(templateBuilderPath);
|
||||
|
||||
private readonly List<IDIS_Data> _values=new();
|
||||
private readonly List<string> _references=new();
|
||||
public override void Weaver(Control container, IFormField formField)
|
||||
{
|
||||
var field = (IDIS_TemplateForm)formField;
|
||||
|
||||
var data = new IDIS_Data();
|
||||
|
||||
var vBox = container.Create<HBoxContainer>();
|
||||
|
||||
var label = vBox.Create<Label>();
|
||||
var typeLabel = vBox.Create<Label>();
|
||||
var valueEdit = vBox.Create<LineEdit>();
|
||||
|
||||
var myIndex = _values.Count;
|
||||
_values.Add(data);
|
||||
|
||||
label.SizeFlagsHorizontal = Control.SizeFlags.ExpandFill;
|
||||
typeLabel.SizeFlagsHorizontal = Control.SizeFlags.ExpandFill;
|
||||
valueEdit.SizeFlagsHorizontal = Control.SizeFlags.ExpandFill;
|
||||
|
||||
label.Text = field.Name;
|
||||
typeLabel.Text = field.Type;
|
||||
valueEdit.PlaceholderText = field.DefaultValue;
|
||||
|
||||
data.Category = field.Category;
|
||||
data.Handle = handleEdit.Text;
|
||||
data.Format = field.Type;
|
||||
data.Name = field.Name;
|
||||
data.Value = field.DefaultValue;
|
||||
|
||||
//valueEdit.TextChanged += x => data.Value = x;
|
||||
valueEdit.TextChanged += newValue =>
|
||||
{
|
||||
data.Value = string.IsNullOrEmpty(newValue) ? field.DefaultValue : newValue;
|
||||
};
|
||||
}
|
||||
|
||||
public override string GetContent()
|
||||
{
|
||||
if (string.IsNullOrEmpty(handleEdit.Text))
|
||||
{
|
||||
throw new InvalidOperationException("[color=red]输入的标识码为空[/color]");
|
||||
}
|
||||
|
||||
var value = new Dictionary<object, object>
|
||||
{
|
||||
{ "handle", handleEdit.Text },
|
||||
{ "values",_values},
|
||||
{ "references",_references},
|
||||
{"createUser",templateBuilder.CurrentTemplate.Name}
|
||||
};
|
||||
|
||||
var json = JsonHelper.Get(value);
|
||||
|
||||
return json;
|
||||
}
|
||||
|
||||
public override void Clear()
|
||||
{
|
||||
_values.Clear();
|
||||
_references.Clear();
|
||||
referenceEditBuilder.Clear();
|
||||
}
|
||||
|
||||
public override void OnStart()
|
||||
{
|
||||
generateButton.Pressed += () =>
|
||||
{
|
||||
handleEdit.Text = IDIS_Service.GenerateHandle();
|
||||
};
|
||||
addReferenceButton.Pressed += AddReference;
|
||||
}
|
||||
|
||||
private void AddReference()
|
||||
{
|
||||
var container = referenceEditBuilder.Build<UXContainer>();
|
||||
var myIndex = _references.Count;
|
||||
_references.Add("");
|
||||
container.lineEdit.Text = string.Empty;
|
||||
container.label.Text = "引用标识码:";
|
||||
container.lineEdit.PlaceholderText = "8.123.99/xxxxxxxx";
|
||||
container.lineEdit.TextChanged += x => _references[myIndex] = x;
|
||||
}
|
||||
}
|
||||
#endif
|
@@ -1,37 +0,0 @@
|
||||
using Godot;
|
||||
using System;
|
||||
using BITKit;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace BITFactory;
|
||||
|
||||
[Serializable]
|
||||
[JsonObject(MemberSerialization.OptIn)]
|
||||
public class IDIS_TemplateForm:IFormField
|
||||
{
|
||||
[JsonProperty]
|
||||
public string Name { get; set; }
|
||||
[JsonProperty]
|
||||
public string Type { get; set; }
|
||||
[JsonProperty]
|
||||
public string DefaultValue { get; set; }
|
||||
[JsonProperty]
|
||||
public string Category { get; set; }
|
||||
public int FieldCount => 4;
|
||||
public string[] FieldNames => new string[]
|
||||
{
|
||||
nameof(Name),
|
||||
nameof(Type),
|
||||
nameof(DefaultValue),
|
||||
nameof(Category),
|
||||
};
|
||||
public string[] FieldTypes => FieldNames;
|
||||
public string[] DefaultValues => FieldNames;
|
||||
}
|
||||
|
||||
[GlobalClass]
|
||||
public partial class IDIS_TemplateFormResource : FormResource
|
||||
{
|
||||
public override string Name { get; set; }
|
||||
public override IFormField[] Fields { get; set; }
|
||||
}
|
@@ -1,96 +0,0 @@
|
||||
using Godot;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using BITKit;
|
||||
using BITKit.IO;
|
||||
using Godot.Collections;
|
||||
|
||||
namespace BITFactory;
|
||||
[GlobalClass]
|
||||
public partial class IDIS_TemplateResource : TemplateResource
|
||||
{
|
||||
private static readonly List<FormResource> Templates=new();
|
||||
private static InitializationState state = InitializationState.None;
|
||||
private static string assetPath => PathHelper.GetPath("标识模板资源包.zip");
|
||||
private static string entryPath => "Templates.json";
|
||||
public override FormResource[] GetTemplates()
|
||||
{
|
||||
EnsureCreated();
|
||||
return Templates.ToArray();
|
||||
}
|
||||
public override string[] GetTemplateNames()
|
||||
{
|
||||
EnsureCreated();
|
||||
return Templates.Select(x => x.Name).ToArray();
|
||||
}
|
||||
public override FormResource GetTemplate(string name)
|
||||
{
|
||||
EnsureCreated();
|
||||
return Templates.Single(x => x.Name == name);
|
||||
}
|
||||
public override bool IsSupportCreateTemplate => true;
|
||||
public override FormResource CreateTemplate()
|
||||
{
|
||||
var newResource =
|
||||
new IDIS_TemplateFormResource()
|
||||
{
|
||||
Name = "新的标识模板:"+Guid.NewGuid(),
|
||||
Fields = new IFormField[]
|
||||
{
|
||||
new IDIS_TemplateForm()
|
||||
{
|
||||
Name = "新的标识字段:",
|
||||
Type = "string",
|
||||
DefaultValue = "new",
|
||||
Category = "默认分类"
|
||||
}
|
||||
}
|
||||
};
|
||||
Templates.Add(newResource);
|
||||
return newResource;
|
||||
}
|
||||
|
||||
public override void DeleteTemplate(string name)
|
||||
{
|
||||
var index = Templates.FindIndex(x => x.Name == name);
|
||||
if (index == -1) return;
|
||||
Templates.RemoveAt(index);
|
||||
}
|
||||
|
||||
private void EnsureCreated()
|
||||
{
|
||||
if (state != InitializationState.None) return;
|
||||
if (File.Exists(assetPath))
|
||||
{
|
||||
foreach (var x in BITAssets.Read<KeyValuePair<string,IDIS_TemplateForm[]>[]>(assetPath, entryPath))
|
||||
{
|
||||
Templates.Add(new IDIS_TemplateFormResource()
|
||||
{
|
||||
Name = x.Key,
|
||||
Fields = x.Value.Select(_=>_ as IFormField).ToArray()
|
||||
});
|
||||
}
|
||||
}
|
||||
state = InitializationState.Initialized;
|
||||
}
|
||||
|
||||
public override void OnStop()
|
||||
{
|
||||
ManualSave();
|
||||
}
|
||||
|
||||
public override void ManualSave()
|
||||
{
|
||||
// var values = new System.Collections.Generic.Dictionary<string, List<IFormField>>(
|
||||
// Templates.Select(x=>new KeyValuePair<string, List<IFormField>>(
|
||||
// x.Key,x.Value.Fields.ToList()
|
||||
// ))
|
||||
// );
|
||||
var values = Templates.Select(x => new KeyValuePair<string, object>(
|
||||
x.Name, x.Fields
|
||||
));
|
||||
BITAssets.Build(assetPath,new BITAsset(entryPath,JsonHelper.Get(values)));
|
||||
}
|
||||
}
|
@@ -1,155 +0,0 @@
|
||||
using Godot;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using BITKit;
|
||||
|
||||
namespace BITFactory;
|
||||
[GlobalClass]
|
||||
public partial class IDIS_TemplateWeaver : FormWeaverResource
|
||||
{
|
||||
[Export] private IDIS_TemplateResource templateResource;
|
||||
[ExportCategory(nameof(NodePath))]
|
||||
[Export] private NodePath addFieldsButtonPath;
|
||||
[Export] private NodePath templateBuilderPath;
|
||||
[Export] private NodePath templateNameEditPath;
|
||||
[Export] private NodePath saveTemplateNameButtonPath;
|
||||
[Export] private NodePath deleteTemplateButtonPath;
|
||||
private Button addFieldsButton => formBuilder.GetNode<Button>(addFieldsButtonPath);
|
||||
private TemplateBuilder templateBuilder => formBuilder.GetNode<TemplateBuilder>(templateBuilderPath);
|
||||
private LineEdit templateNameEdit => formBuilder.GetNode<LineEdit>(templateNameEditPath);
|
||||
private Button saveTemplateNameButton => formBuilder.GetNode<Button>(saveTemplateNameButtonPath);
|
||||
private Button deleteTemplateButton => formBuilder.GetNode<Button>(deleteTemplateButtonPath);
|
||||
|
||||
private readonly List<IDIS_TemplateForm> fields = new();
|
||||
public override void Weaver(Control container, IFormField formField)
|
||||
{
|
||||
var field = formField as IDIS_TemplateForm;
|
||||
|
||||
fields.Add(field);
|
||||
|
||||
var hBox = container.Create<HBoxContainer>();
|
||||
var nameEdit = hBox.Create<LineEdit>();
|
||||
var typeButton = hBox.Create<OptionButton>();
|
||||
var defaultValueEdit = hBox.Create<LineEdit>();
|
||||
var categoryEdit = hBox.Create<LineEdit>();
|
||||
var removeButton = hBox.Create<Button>();
|
||||
|
||||
nameEdit.SizeFlagsHorizontal = Control.SizeFlags.ExpandFill;
|
||||
typeButton.SizeFlagsHorizontal = Control.SizeFlags.ExpandFill;
|
||||
defaultValueEdit.SizeFlagsHorizontal = Control.SizeFlags.ExpandFill;
|
||||
categoryEdit.SizeFlagsHorizontal = Control.SizeFlags.ExpandFill;
|
||||
|
||||
nameEdit.PlaceholderText="名称";
|
||||
typeButton.Text = "类型";
|
||||
defaultValueEdit.PlaceholderText="默认值";
|
||||
categoryEdit.PlaceholderText="分类";
|
||||
|
||||
typeButton.GetPopup().AddItem("string");
|
||||
typeButton.GetPopup().AddItem("int");
|
||||
typeButton.GetPopup().AddItem("ulong");
|
||||
typeButton.GetPopup().AddItem("double");
|
||||
typeButton.GetPopup().AddItem("h_site");
|
||||
typeButton.GetPopup().AddItem("base64");
|
||||
typeButton.GetPopup().AddItem("guid");
|
||||
typeButton.GetPopup().AddItem("url");
|
||||
typeButton.GetPopup().AddItem("dateTime");
|
||||
typeButton.GetPopup().AddItem("float");
|
||||
|
||||
typeButton.Selected = 0;
|
||||
|
||||
nameEdit.Text = field!.Name;
|
||||
typeButton.Text = field!.Type;
|
||||
defaultValueEdit.Text = field!.DefaultValue;
|
||||
categoryEdit.Text = field!.Category;
|
||||
removeButton.Text= "删除";
|
||||
|
||||
nameEdit.TextChanged+=x=>field!.Name=x;
|
||||
typeButton.ItemSelected+=x=>field!.Type=typeButton.GetPopup().GetItemText((int)x);
|
||||
defaultValueEdit.TextChanged+=x=>field!.DefaultValue=x;
|
||||
categoryEdit.TextChanged+=x=>field!.Category=x;
|
||||
|
||||
removeButton.Pressed+=()=>
|
||||
{
|
||||
fields.Remove(field!);
|
||||
container.QueueFree();
|
||||
|
||||
var current = templateBuilder.CurrentTemplate.Fields.ToList();
|
||||
current.Remove(formField);
|
||||
templateBuilder.CurrentTemplate.Fields = current.ToArray();
|
||||
};
|
||||
}
|
||||
|
||||
public override string GetContent()
|
||||
{
|
||||
if (fields.Any(x =>
|
||||
{
|
||||
switch (x.Name, x.Type, x.DefaultValue, x.Category)
|
||||
{
|
||||
case ("", _, _, _):
|
||||
case (_, "", _, _):
|
||||
case (_, _, "", _):
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}))
|
||||
{
|
||||
throw new InvalidOperationException("请填写完整");
|
||||
}
|
||||
var value = JsonHelper.Get(fields);
|
||||
return value;
|
||||
}
|
||||
public override void Clear()
|
||||
{
|
||||
fields.Clear();
|
||||
|
||||
if (templateBuilder.CurrentTemplate is null) return;
|
||||
templateNameEdit.Text = templateBuilder.CurrentTemplate?.Name;
|
||||
}
|
||||
public override void OnStart()
|
||||
{
|
||||
addFieldsButton.Pressed+=AddFields;
|
||||
deleteTemplateButton.Pressed += DeleteCurrentTemplate;
|
||||
saveTemplateNameButton.Pressed+=()=>
|
||||
{
|
||||
ChangeCurrentTemplateName(templateNameEdit.Text);
|
||||
};
|
||||
templateNameEdit.TextSubmitted+=ChangeCurrentTemplateName;
|
||||
}
|
||||
private void AddFields()
|
||||
{
|
||||
var current = templateBuilder.CurrentTemplate.Fields.ToList();
|
||||
current.Add(new IDIS_TemplateForm()
|
||||
{
|
||||
Name = "新字段",
|
||||
Type = "string",
|
||||
DefaultValue = "",
|
||||
Category = ""
|
||||
});
|
||||
templateBuilder.CurrentTemplate.Fields = current.ToArray();
|
||||
|
||||
templateBuilder.Rebuild();
|
||||
}
|
||||
|
||||
private void ChangeCurrentTemplateName(string newName)
|
||||
{
|
||||
if(templateBuilder.CurrentTemplate==null) return;
|
||||
|
||||
if (templateBuilder.template.GetTemplates().Any(x => x.Name == newName))
|
||||
// ReSharper disable once StringLiteralTypo
|
||||
newName+=DateTime.Now.ToString("mmss");
|
||||
|
||||
templateBuilder.CurrentTemplate.Name = newName;
|
||||
|
||||
templateBuilder.template.ManualSave();
|
||||
|
||||
templateBuilder.Rebuild();
|
||||
}
|
||||
private void DeleteCurrentTemplate()
|
||||
{
|
||||
if(templateBuilder.CurrentTemplate==null) return;
|
||||
templateResource.DeleteTemplate(templateBuilder.CurrentTemplate.Name);
|
||||
templateBuilder.Rebuild();
|
||||
}
|
||||
}
|
@@ -1,21 +0,0 @@
|
||||
#if Deprecated
|
||||
using Godot;
|
||||
using System;
|
||||
|
||||
namespace BITFactory;
|
||||
[GlobalClass]
|
||||
public partial class IDIS_AutoRegResource : Resource
|
||||
{
|
||||
[Export] public string HandleSeed;
|
||||
|
||||
[ExportCategory("IDIS")]
|
||||
[Export] public string Format;
|
||||
[Export] public string Category;
|
||||
[Export] public string Name;
|
||||
[Export] public string Value;
|
||||
|
||||
[ExportCategory("标识引用")]
|
||||
[Export] public string RefHandleSeed;
|
||||
|
||||
}
|
||||
#endif
|
@@ -1,87 +0,0 @@
|
||||
#if deprecated
|
||||
using Godot;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using BITFactory;
|
||||
using BITKit;
|
||||
using Godot.Collections;
|
||||
|
||||
namespace BITFactory;
|
||||
public partial class IDIS_AutoRegister : Node
|
||||
{
|
||||
[Export] private Array<IDIS_AutoRegResource> regResources;
|
||||
|
||||
[ExportCategory("UI 绑定")]
|
||||
[Export] private Array<ProgressBar> progressBars;
|
||||
[Export] private RichTextLabel logLabel;
|
||||
|
||||
private readonly Queue<ProgressBar> _progressQueue = new();
|
||||
private ProgressBar _currentProgressBar;
|
||||
|
||||
private void Register()
|
||||
{
|
||||
BIT4Log.Log<IDIS_AutoRegister>("开始自动注册中...");
|
||||
var seeds = new List<string>();
|
||||
foreach (var x in regResources)
|
||||
{
|
||||
seeds.Add(x.HandleSeed);
|
||||
if (string.IsNullOrEmpty(x.RefHandleSeed) is false)
|
||||
{
|
||||
seeds.Add(x.RefHandleSeed);
|
||||
}
|
||||
}
|
||||
|
||||
seeds = seeds.Distinct().ToList();
|
||||
|
||||
var handles =
|
||||
new System.Collections.Generic.Dictionary<string, string>(seeds.Select(x =>
|
||||
new KeyValuePair<string, string>(x, IDIS_Service.GenerateHandle())));
|
||||
|
||||
try
|
||||
{
|
||||
foreach (var x in regResources)
|
||||
{
|
||||
var handle = handles[x.HandleSeed];
|
||||
IDIS_Service.Singleton.Register(handle, x.Name, x.Format, x.Value, x.Category);
|
||||
if (string.IsNullOrEmpty(x.RefHandleSeed) is false && handles.TryGetValue(x.RefHandleSeed, out var refHandle))
|
||||
{
|
||||
IDIS_Service.Singleton.RegisterReference(handle, refHandle);
|
||||
}
|
||||
logLabel.Text+=$"\n[{DateTime.Now}]{x.Name} 已注册,使用标识: {handle}";
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
logLabel.Text += $"\n[color=red]错误:\n{e.Message}[/color]";
|
||||
}
|
||||
|
||||
|
||||
|
||||
foreach (var x in progressBars)
|
||||
{
|
||||
x.Value = x.MinValue;
|
||||
_progressQueue.Enqueue(x);
|
||||
}
|
||||
}
|
||||
public override void _Process(double delta)
|
||||
{
|
||||
switch (_currentProgressBar)
|
||||
{
|
||||
case null when _progressQueue.Count == 0:
|
||||
return;
|
||||
case null:
|
||||
_progressQueue.TryDequeue(out _currentProgressBar);
|
||||
return;
|
||||
case (var x) when x.Value >= x.MaxValue:
|
||||
_progressQueue.TryDequeue(out _currentProgressBar);
|
||||
return;
|
||||
default:
|
||||
_currentProgressBar.Value +=
|
||||
Mathf.Lerp(_currentProgressBar.MinValue, _currentProgressBar.MaxValue, delta);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
@@ -1,171 +0,0 @@
|
||||
#if Deprecated
|
||||
|
||||
using Godot;
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using BITKit;
|
||||
using Cysharp.Threading.Tasks;
|
||||
namespace BITFactory;
|
||||
public partial class IDIS_SearchService : Node
|
||||
{
|
||||
[ExportCategory("Service")]
|
||||
[Export] private IDIS_Service service;
|
||||
|
||||
[ExportCategory("UI 绑定 ")]
|
||||
[Export] private LineEdit searchEdit;
|
||||
[Export] private Control searchCandidateContainer;
|
||||
[Export] private StringResource searchButtonVariation;
|
||||
[Export] private Control searchEditPadding;
|
||||
[Export] private Button searchButton;
|
||||
[Export] private Button copyHandleButton;
|
||||
|
||||
[ExportCategory("Query 绑定")]
|
||||
[Export] private Label handleLabel;
|
||||
[Export] private Label nameLabel;
|
||||
[Export] private Label createTimeLabel;
|
||||
[Export] private Label updateTimeLabel;
|
||||
[Export] private Control valueContainer;
|
||||
[Export] private Control referenceContainer;
|
||||
|
||||
[ExportCategory("Template")]
|
||||
[Export] private PackedScene valueTemplate;
|
||||
[Export] private PackedScene referenceTemplate;
|
||||
[Export] private PackedScene categoryTemplate;
|
||||
|
||||
private string currentHandle;
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
MathNode.ClearChild(searchCandidateContainer);
|
||||
MathNode.ClearChild(valueContainer);
|
||||
|
||||
searchEdit.TextChanged += Search;
|
||||
//searchEdit.FocusExited += Clear;
|
||||
searchButton.Pressed+=Search;
|
||||
copyHandleButton.Pressed += CopyCurrentHandle;
|
||||
}
|
||||
|
||||
private void Search()
|
||||
{
|
||||
Search(searchEdit.Text);
|
||||
}
|
||||
private void Search(string word)
|
||||
{
|
||||
var split = word.Split('?');
|
||||
var condition = string.Empty;
|
||||
switch (split)
|
||||
{
|
||||
case var x when x.Length is 1:
|
||||
break;
|
||||
case var x when x.Length is 2:
|
||||
condition = split[1];
|
||||
break;
|
||||
case var x when x.Length > 2:
|
||||
split = word.Split('?', 2);
|
||||
condition = split[1];
|
||||
break;
|
||||
}
|
||||
var rawHandle = split[0];
|
||||
|
||||
|
||||
MathNode.ClearChild(searchCandidateContainer);
|
||||
if (service.Query(word, out IDIS_Query[] queries) is false) return;
|
||||
if (queries.Length is 1 && queries.First().Handle == rawHandle)
|
||||
{
|
||||
QueryIDIS(queries.First());
|
||||
return;
|
||||
}
|
||||
foreach (var query in queries.Take(3))
|
||||
{
|
||||
var button = new Button();
|
||||
|
||||
button.Flat = true;
|
||||
|
||||
searchCandidateContainer.AddChild(button);
|
||||
|
||||
button.Text = $"{query.Handle}:{query.CreateUser}";
|
||||
|
||||
button.Pressed+=OnButtonOnPressed;
|
||||
|
||||
button.ThemeTypeVariation = searchButtonVariation.Value;
|
||||
|
||||
void OnButtonOnPressed()
|
||||
{
|
||||
searchEdit.Text =string.IsNullOrEmpty(condition) ? query.Handle :query.Handle + condition ;
|
||||
Search(query.Handle);
|
||||
QueryIDIS(query);
|
||||
}
|
||||
}
|
||||
}
|
||||
private async void Clear()
|
||||
{
|
||||
await Task.Delay(100);
|
||||
MathNode.ClearChild(searchCandidateContainer);
|
||||
}
|
||||
private void QueryIDIS(IDIS_Query query)
|
||||
{
|
||||
searchEditPadding.Hide();
|
||||
|
||||
handleLabel.Text = query.Handle;
|
||||
|
||||
currentHandle = query.Handle;
|
||||
|
||||
createTimeLabel.Text = query.CreateTime.ToString("yyyy-MM-dd HH:mm:ss",CultureInfo.InvariantCulture);
|
||||
updateTimeLabel.Text = query.UpdateTime.ToString("yyyy-MM-dd HH:mm:ss",CultureInfo.InvariantCulture);
|
||||
|
||||
MathNode.ClearChild(valueContainer);
|
||||
MathNode.ClearChild(referenceContainer);
|
||||
|
||||
foreach (var categoryGroup in query.Datas.GroupBy(x=>x.Category))
|
||||
{
|
||||
var categoryContainer = categoryTemplate.Instantiate<UXContainer>();
|
||||
categoryContainer.Text = categoryGroup.First().Category;
|
||||
foreach (var x in categoryGroup)
|
||||
{
|
||||
var container = valueTemplate.Instantiate<UXContainer>();
|
||||
|
||||
container.labels[0].Text = x.Name;
|
||||
container.labels[1].Text = x.Value;
|
||||
container.labels[2].Text = x.UpdateTime.ToString(CultureInfo.InvariantCulture);
|
||||
container.labels[3].Text = x.CreateTime.ToString(CultureInfo.InvariantCulture);
|
||||
|
||||
categoryContainer.contextContainer.AddChild(container);
|
||||
}
|
||||
valueContainer.AddChild(categoryContainer);
|
||||
}
|
||||
|
||||
foreach (var x in query.References)
|
||||
{
|
||||
var container = referenceTemplate.Instantiate<UXContainer>();
|
||||
|
||||
container.Text = x.RelatedHandle;
|
||||
|
||||
container.button.Pressed += () =>
|
||||
{
|
||||
service.Query(x.RelatedHandle,out IDIS_Query _query);
|
||||
QueryIDIS(_query);
|
||||
};
|
||||
|
||||
referenceContainer.AddChild(container);
|
||||
}
|
||||
}
|
||||
|
||||
private void CopyCurrentHandle()
|
||||
{
|
||||
DisplayServer.ClipboardSet(currentHandle);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@@ -1,128 +0,0 @@
|
||||
#if Deprecated
|
||||
using Godot;
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.Text;
|
||||
using System.Timers;
|
||||
using BITFactory;
|
||||
using BITKit;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using SQLitePCL;
|
||||
using Timer = System.Timers.Timer;
|
||||
// ReSharper disable All
|
||||
|
||||
namespace BITFactory;
|
||||
public partial class IDIS_THService : Node
|
||||
{
|
||||
public enum UpdateMode
|
||||
{
|
||||
None,
|
||||
Update,
|
||||
Insert,
|
||||
UpdateAndInsert,
|
||||
}
|
||||
|
||||
[Export] private UpdateMode currentUpdateMode = UpdateMode.Insert;
|
||||
|
||||
[ExportCategory("Services")]
|
||||
[Export] private IDIS_Service service;
|
||||
|
||||
[Export] private 温湿度Reader thReader;
|
||||
|
||||
[ExportCategory("UI 绑定")]
|
||||
[Export] private Button submitButton;
|
||||
|
||||
[Export] private CheckButton autoUpdateButton;
|
||||
[Export] private OptionButton updateModeButton;
|
||||
[Export] private LineEdit handleEdit;
|
||||
[Export] private LineEdit temperatureEdit;
|
||||
[Export] private LineEdit humidityEdit;
|
||||
[Export] private RichTextLabel hintsLabel;
|
||||
[Export] private RichTextLabel autoUpdateLabel;
|
||||
|
||||
private Timer autoUpdateTimer;
|
||||
public override void _Ready()
|
||||
{
|
||||
submitButton.Pressed += Submit;
|
||||
autoUpdateButton.Toggled += toggle =>
|
||||
{
|
||||
submitButton.Disabled = toggle;
|
||||
handleEdit.Editable = !toggle;
|
||||
temperatureEdit.Editable = !toggle;
|
||||
humidityEdit.Editable = !toggle;
|
||||
autoUpdateTimer.Enabled = toggle;
|
||||
};
|
||||
|
||||
updateModeButton.GetPopup().Clear();
|
||||
updateModeButton.GetPopup().AddItem("不更新");
|
||||
updateModeButton.GetPopup().AddItem("更新记录");
|
||||
updateModeButton.GetPopup().AddItem("添加记录");
|
||||
updateModeButton.GetPopup().IndexPressed += index =>
|
||||
{
|
||||
currentUpdateMode = (UpdateMode)index;
|
||||
};
|
||||
|
||||
autoUpdateTimer = new Timer();
|
||||
autoUpdateTimer.AutoReset = true;
|
||||
autoUpdateTimer.Interval = 1000;
|
||||
autoUpdateTimer.Elapsed += AutoUpdate;
|
||||
}
|
||||
|
||||
private async void AutoUpdate(object sender, ElapsedEventArgs e)
|
||||
{
|
||||
await UniTask.SwitchToSynchronizationContext(BITApp.SynchronizationContext);
|
||||
UpdateTH(handleEdit.Text,thReader.temperature.ToString(),thReader.humidity.ToString());
|
||||
}
|
||||
|
||||
private void Submit()
|
||||
{
|
||||
switch (handleEdit.Text, temperatureEdit.Text, humidityEdit.Text)
|
||||
{
|
||||
case ("", _, _):
|
||||
hintsLabel.Text = "请输入标识码";
|
||||
return;
|
||||
case (_, "", _):
|
||||
hintsLabel.Text = "请输入温度";
|
||||
return;
|
||||
case (_, _, ""):
|
||||
hintsLabel.Text = "请输入湿度";
|
||||
return;
|
||||
}
|
||||
UpdateTH(handleEdit.Text,temperatureEdit.Text,humidityEdit.Text);
|
||||
}
|
||||
|
||||
private void UpdateTH(string handle,string temperature,string humidity)
|
||||
{
|
||||
if (string.IsNullOrEmpty(handle))
|
||||
{
|
||||
autoUpdateLabel.SetTextAsync("空的标识码");
|
||||
return;
|
||||
}
|
||||
|
||||
switch (currentUpdateMode)
|
||||
{
|
||||
case UpdateMode.Insert:
|
||||
service.Register(handle,"温度" ,"float", temperature, "环境");
|
||||
service.Register(handle, "湿度","float", humidity, "环境");
|
||||
break;
|
||||
case UpdateMode.Update:
|
||||
if (service.Update(handle, "当前温度",temperature) is false)
|
||||
{
|
||||
autoUpdateLabel.SetTextAsync("温度更新失败,未知异常");
|
||||
return;
|
||||
}
|
||||
if (service.Update(handle, "当前湿度",humidity) is false)
|
||||
{
|
||||
autoUpdateLabel.SetTextAsync("湿度更新失败,未知异常");
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case UpdateMode.UpdateAndInsert:
|
||||
service.Register(handle,"温度" ,"float", temperature, "环境");
|
||||
service.Register(handle, "湿度","float", humidity, "环境");
|
||||
goto case UpdateMode.Update;
|
||||
}
|
||||
autoUpdateLabel.SetTextAsync($"温湿度已自动更新:{DateTime.Now}");
|
||||
}
|
||||
}
|
||||
#endif
|
@@ -1,168 +0,0 @@
|
||||
#if Deprecated
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using BITKit;
|
||||
using BITKit.IO;
|
||||
using Godot;
|
||||
|
||||
namespace BITFactory;
|
||||
[Serializable]
|
||||
public class IDIS_Template
|
||||
{
|
||||
public string TemplateName="标识注册模板";
|
||||
public string TemplateDescription="该模板通常用于xxx用途";
|
||||
public string IconPath="Register";
|
||||
public DateTime CreateTime=DateTime.Now;
|
||||
public DateTime UpdateTime=DateTime.Now;
|
||||
public List<(string format,string hint,string category)> Formats=new();
|
||||
}
|
||||
public partial class IDIS_TemplateService : Node
|
||||
{
|
||||
private static string assetPath => PathHelper.GetPath("标识注册模板.zip");
|
||||
private const string templateName = $"{nameof(IDIS_Template)}.json";
|
||||
public readonly List<IDIS_Template> templates=new();
|
||||
|
||||
[ExportCategory("Quick Start")]
|
||||
[Export] private Button createButton;
|
||||
[Export] private Button newFormatButton;
|
||||
[Export] private NodeBuilder templateIndexBuilder;
|
||||
[Export] private NodeBuilder templateFormatBuilder;
|
||||
[Export] private LineEdit templateNameEdit;
|
||||
[Export] private LineEdit templateDescriptionEdit;
|
||||
[Export] private Label templateCreateTimeLabel;
|
||||
[Export] private Label templateUpdateTimeLabel;
|
||||
[ExportCategory("Template")]
|
||||
[Export] private PackedScene templateContainer;
|
||||
|
||||
private bool isDirty;
|
||||
|
||||
private IDIS_Template _selectedTemplate;
|
||||
public override void _Ready()
|
||||
{
|
||||
if (File.Exists(assetPath) is false)
|
||||
{
|
||||
BIT4Log.Log<IDIS_TemplateService>($"未找到配置文件:{assetPath}");
|
||||
Save();
|
||||
}
|
||||
var temp = BITAssets.Read<List<IDIS_Template>>(assetPath, templateName);
|
||||
|
||||
templates.AddRange(temp);
|
||||
BIT4Log.Log<IDIS_TemplateService>($"已加载配置文件:{assetPath}");
|
||||
|
||||
createButton.Pressed += CreateTemplate;
|
||||
newFormatButton.Pressed += CreateFormat;
|
||||
|
||||
templateNameEdit.TextChanged += OnTemplateNameChanged;
|
||||
templateDescriptionEdit.TextChanged += OnTemplateDescriptionChanged;
|
||||
|
||||
EnsureConfigure();
|
||||
}
|
||||
|
||||
private void CreateFormat()
|
||||
{
|
||||
if (_selectedTemplate is null) return;
|
||||
_selectedTemplate.Formats ??= new();
|
||||
_selectedTemplate.Formats.Add(("新的数据格式","格式类型","数据类型"));
|
||||
_selectedTemplate.UpdateTime= DateTime.Now;
|
||||
EnsureConfigure();
|
||||
}
|
||||
|
||||
public override void _ExitTree()
|
||||
{
|
||||
Save();
|
||||
}
|
||||
|
||||
private void CreateTemplate()
|
||||
{
|
||||
templates.Add(new IDIS_Template()
|
||||
{
|
||||
TemplateName = "新的标识注册模板"
|
||||
});
|
||||
EnsureConfigure();
|
||||
}
|
||||
|
||||
private void Save()
|
||||
{
|
||||
BITAssets.Build(assetPath,new IAsset[]
|
||||
{
|
||||
new BITAsset(templateName,JsonHelper.Get(templates))
|
||||
});
|
||||
BIT4Log.Log<IDIS_TemplateService>($"已创建配置文件:{assetPath}");
|
||||
}
|
||||
private void OnTemplateNameChanged(string text)
|
||||
{
|
||||
if (_selectedTemplate is null) return;
|
||||
_selectedTemplate.TemplateName = text;
|
||||
_selectedTemplate.UpdateTime= DateTime.Now;
|
||||
}
|
||||
private void OnTemplateDescriptionChanged(string text)
|
||||
{
|
||||
if (_selectedTemplate is null) return;
|
||||
_selectedTemplate.TemplateDescription = text;
|
||||
_selectedTemplate.UpdateTime= DateTime.Now;
|
||||
}
|
||||
|
||||
private void EnsureConfigure()
|
||||
{
|
||||
templateIndexBuilder.Clear();
|
||||
templateFormatBuilder.Clear();
|
||||
|
||||
foreach (var x in templates)
|
||||
{
|
||||
var _container = templateIndexBuilder.Build<UXContainer>();
|
||||
_container.button.Text = x.TemplateName;
|
||||
_container.button.Pressed += () =>
|
||||
{
|
||||
_selectedTemplate = x;
|
||||
EnsureConfigure();
|
||||
};
|
||||
}
|
||||
|
||||
if (_selectedTemplate is null) return;
|
||||
|
||||
templateNameEdit.Text = _selectedTemplate.TemplateName;
|
||||
templateDescriptionEdit.Text = _selectedTemplate.TemplateDescription;
|
||||
templateCreateTimeLabel.Text = _selectedTemplate.CreateTime.ToString(CultureInfo.InvariantCulture);
|
||||
templateUpdateTimeLabel.Text = _selectedTemplate.UpdateTime.ToString(CultureInfo.InvariantCulture);
|
||||
|
||||
for (var i = 0; i < _selectedTemplate.Formats.Count; i++)
|
||||
{
|
||||
var x = _selectedTemplate.Formats[i];
|
||||
var _container = templateFormatBuilder.Build<UXContainer>();
|
||||
|
||||
_container.lineEdits[0].Text = x.format;
|
||||
_container.lineEdits[1].Text = x.hint;
|
||||
_container.lineEdits[2].Text = x.category;
|
||||
|
||||
var index = i;
|
||||
|
||||
_container.lineEdits[0].TextChanged += (s) =>
|
||||
{
|
||||
var current = _selectedTemplate.Formats[index];
|
||||
current.format = s;
|
||||
_selectedTemplate.Formats[index] = current;
|
||||
_selectedTemplate.UpdateTime = DateTime.Now;
|
||||
};
|
||||
_container.lineEdits[1].TextChanged += s =>
|
||||
{
|
||||
var current = _selectedTemplate.Formats[index];
|
||||
current.hint = s;
|
||||
_selectedTemplate.Formats[index] = current;
|
||||
};
|
||||
_container.lineEdits[2].TextChanged += s =>
|
||||
{
|
||||
var current = _selectedTemplate.Formats[index];
|
||||
current.category = s;
|
||||
_selectedTemplate.Formats[index] = current;
|
||||
};
|
||||
_container.button.Pressed += () =>
|
||||
{
|
||||
_selectedTemplate.Formats.RemoveAt(index);
|
||||
EnsureConfigure();
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
@@ -1,85 +0,0 @@
|
||||
#if Deprecated
|
||||
using Godot;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using BITKit;
|
||||
|
||||
namespace BITFactory;
|
||||
public partial class IDIS_UpdateService : Node
|
||||
{
|
||||
[ExportCategory("Service")]
|
||||
[Export] private IDIS_Service service;
|
||||
[Export] private IDIS_TemplateService templateService;
|
||||
|
||||
[ExportCategory("UI 绑定")]
|
||||
[Export] private NodeBuilder indexBuilder;
|
||||
[Export] private NodeBuilder templateBuilder;
|
||||
[Export] private LineEdit handleEdit;
|
||||
[Export] private Button submitButton;
|
||||
[Export] private RichTextLabel hintsLabel;
|
||||
|
||||
private ButtonGroup _buttonGroup;
|
||||
|
||||
private readonly Dictionary<string,LineEdit> dataEdits = new();
|
||||
public override void _Ready()
|
||||
{
|
||||
_buttonGroup = new ButtonGroup();
|
||||
|
||||
submitButton.Pressed += Submit;
|
||||
|
||||
submitButton.Disabled = true;
|
||||
|
||||
Refresh();
|
||||
}
|
||||
|
||||
private void Refresh()
|
||||
{
|
||||
templateBuilder.Clear();
|
||||
indexBuilder.Clear();
|
||||
foreach (var x in templateService.templates)
|
||||
{
|
||||
var container = indexBuilder.Build<UXContainer>();
|
||||
container.button.Text = x.TemplateName;
|
||||
container.button.ButtonPressed = true;
|
||||
container.button.ButtonGroup = _buttonGroup;
|
||||
container.button.Pressed +=()=> Entry(x);
|
||||
}
|
||||
}
|
||||
private void Entry(IDIS_Template template)
|
||||
{
|
||||
templateBuilder.Clear();
|
||||
dataEdits.Clear();
|
||||
foreach (var x in template.Formats)
|
||||
{
|
||||
var container = templateBuilder.Build<UXContainer>();
|
||||
container.Text = x.format;
|
||||
container.lineEdit.PlaceholderText = x.hint;
|
||||
|
||||
dataEdits.TryAdd(x.format, container.lineEdit);
|
||||
}
|
||||
|
||||
submitButton.Disabled = false;
|
||||
}
|
||||
|
||||
private void Submit()
|
||||
{
|
||||
if (string.IsNullOrEmpty(handleEdit.Text))
|
||||
{
|
||||
hintsLabel.Text="请填写标识码";
|
||||
return;
|
||||
}
|
||||
var handle = handleEdit.Text;
|
||||
var values = new Dictionary<string, string>(
|
||||
dataEdits
|
||||
.Where(x=>string.IsNullOrEmpty(x.Value.Text) is false)
|
||||
.Select(x => new KeyValuePair<string, string>(x.Key, x.Value.Text))
|
||||
);
|
||||
foreach (var x in values)
|
||||
{
|
||||
service.Update(handle, x.Key, x.Value);
|
||||
}
|
||||
hintsLabel.Text=$"更新成功,已更新{values.Count}个值"+DateTime.Now;
|
||||
}
|
||||
}
|
||||
#endif
|
@@ -1,17 +0,0 @@
|
||||
using Godot;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using BITKit;
|
||||
|
||||
namespace BITKit;
|
||||
public partial class TemplateCondition : ConditionComponent
|
||||
{
|
||||
public override Type BaseType => typeof(ConditionComponent);
|
||||
[Export] private TemplateResource templateResource;
|
||||
[Export] private string templateName;
|
||||
|
||||
public override bool OnCheck()
|
||||
{
|
||||
return templateResource.GetTemplates().Any(x => x.Name == templateName);
|
||||
}
|
||||
}
|
@@ -1,23 +0,0 @@
|
||||
#if Deprecated
|
||||
using Godot;
|
||||
using System;
|
||||
|
||||
namespace BITFactory;
|
||||
public partial class 生成温湿度 : Node
|
||||
{
|
||||
[Export] private string handle;
|
||||
[Export] private int count;
|
||||
[Export] private LineEdit _lineEdit;
|
||||
|
||||
private void Excute()
|
||||
{
|
||||
var myHandle = handle;
|
||||
if (_lineEdit is not null) myHandle = _lineEdit.Text;
|
||||
for (var i = 0; i < count; i++)
|
||||
{
|
||||
IDIS_Service.Singleton.Register(myHandle, "温度", "float", $"{new Random().Next(10, 60)}", "环境");
|
||||
IDIS_Service.Singleton.Register(myHandle, "湿度", "float", $"{new Random().Next(0, 100)}", "环境");
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
@@ -1,151 +0,0 @@
|
||||
using Godot;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Net.Mime;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Threading;
|
||||
using System.Timers;
|
||||
using BITKit;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using SharpModbus;
|
||||
using Timer = System.Timers.Timer;
|
||||
|
||||
namespace BITFactory;
|
||||
public partial class 温湿度Reader : Node
|
||||
{
|
||||
[ExportCategory("参数")]
|
||||
[Export(PropertyHint.Range,"100,2000")] private int interval=500;
|
||||
|
||||
[ExportCategory("网络设置")]
|
||||
[Export] private string ip="192.168.3.7";
|
||||
[Export] private int port=502;
|
||||
|
||||
[ExportCategory("运行时")]
|
||||
[Export]public double humidity = 50.0;
|
||||
[Export]public double temperature = 26.0;
|
||||
|
||||
[ExportCategory("UI 绑定")]
|
||||
[Export] private Button connectToModbusButton;
|
||||
[Export] private UXContainer temperatureContainer;
|
||||
[Export] private UXContainer humidityContainer;
|
||||
[Export] private LineEdit ipEdit;
|
||||
[Export] private LineEdit portEdit;
|
||||
[Export] private RichTextLabel hintsLabel;
|
||||
|
||||
private ModbusMaster _modbus;
|
||||
private Timer timer;
|
||||
private CancellationTokenSource _CancellationTokenSource;
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
_CancellationTokenSource = new CancellationTokenSource();
|
||||
try
|
||||
{
|
||||
_modbus = ModbusMaster.TCP(ip, port);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
hintsLabel.Text = e.Message;
|
||||
}
|
||||
|
||||
ipEdit.TextChanged+=s=>ip=s;
|
||||
portEdit.TextChanged+=s=>
|
||||
{
|
||||
try
|
||||
{
|
||||
port = int.Parse(s);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
hintsLabel.SetTextAsync(e.Message);
|
||||
}
|
||||
};
|
||||
connectToModbusButton.Pressed += Connect;
|
||||
|
||||
Connect();
|
||||
|
||||
timer = new Timer();
|
||||
timer.Interval = interval;
|
||||
timer.Elapsed += OnTimerElapsed;
|
||||
timer.AutoReset = false;
|
||||
timer.Start();
|
||||
}
|
||||
|
||||
public override void _ExitTree()
|
||||
{
|
||||
_CancellationTokenSource.Cancel();
|
||||
timer.Stop();
|
||||
}
|
||||
/// <summary>
|
||||
/// 连接到Modbus
|
||||
/// </summary>
|
||||
private void Connect()
|
||||
{
|
||||
_modbus?.Dispose();
|
||||
try
|
||||
{
|
||||
_modbus = ModbusMaster.TCP(ip, port);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
BIT4Log.Log<温湿度Reader>(e.Message);
|
||||
hintsLabel.SetTextAsync(e.Message);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 内部方法,定时器回调用于读取Modbus
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private async void OnTimerElapsed(object sender, ElapsedEventArgs e)
|
||||
{
|
||||
await UniTask.SwitchToTaskPool();
|
||||
try
|
||||
{
|
||||
if (_modbus is null)
|
||||
{
|
||||
hintsLabel.SetTextAsync("Modbus未初始化");
|
||||
timer.Start();
|
||||
return;
|
||||
}
|
||||
|
||||
_CancellationTokenSource.Token.ThrowIfCancellationRequested();
|
||||
hintsLabel.SetTextAsync( "正在读取温湿度数据..."+DateTime.Now);
|
||||
|
||||
var vs = _modbus.ReadInputRegisters(1, 0, 2);
|
||||
|
||||
_CancellationTokenSource.Token.ThrowIfCancellationRequested();
|
||||
|
||||
hintsLabel.SetTextAsync( "已采集到数据,正在解析..."+DateTime.Now);
|
||||
|
||||
if (vs is not { Length: 2 })
|
||||
{
|
||||
hintsLabel.SetTextAsync(hintsLabel.Text = $"获取温湿度数据失败:数据长度为:{vs.Length}"+DateTime.Now);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
temperature = vs[0] / 10.0;
|
||||
humidity = vs[1] / 10.0;
|
||||
|
||||
hintsLabel.SetTextAsync("已获取到温湿度数据:"+DateTime.Now);
|
||||
|
||||
temperatureContainer.label.SetTextAsync(temperature.ToString(CultureInfo.InvariantCulture)); ;
|
||||
humidityContainer.label.SetTextAsync(humidity.ToString(CultureInfo.InvariantCulture));
|
||||
|
||||
timer.Start();
|
||||
}
|
||||
catch (OperationCanceledException)
|
||||
{
|
||||
BIT4Log.Log<温湿度Reader>($"Modbus读取任务已取消");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
hintsLabel.SetTextAsync(ex.Message);
|
||||
timer.Start();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://dmk2vf7jamysi"]
|
||||
[gd_scene load_steps=3 format=3 uid="uid://ivjmvpnehgvp"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://58y4a67wwco4" path="res://Artists/Art/Icons/Icon_Settings.png" id="1_hpoox"]
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://cnd2ofcdx0inc"]
|
||||
[gd_scene load_steps=4 format=3 uid="uid://c3bdy10b3s0my"]
|
||||
|
||||
[ext_resource type="Script" path="res://BITKit/Scripts/UX/UXContainer.cs" id="1_4faap"]
|
||||
[ext_resource type="Texture2D" uid="uid://dyxw5ocfiamgi" path="res://Mods/工业数据采集与分析应用分享/Arts/Images/标准ModbusRTU图片.jpg" id="1_yd6oj"]
|
||||
|
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=6 format=3 uid="uid://n3v64dkgpccy"]
|
||||
[gd_scene load_steps=6 format=3 uid="uid://5u6a07w3jmsk"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_d44nr"]
|
||||
length = 0.001
|
||||
|
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://dv3ugwbqu3t77"]
|
||||
[gd_scene load_steps=5 format=3 uid="uid://bo2eturxtac32"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_cpr2j"]
|
||||
bg_color = Color(0.317647, 0.639216, 0.827451, 1)
|
||||
|
@@ -1,32 +0,0 @@
|
||||
# 工业数据采集与分析应用分享
|
||||
|
||||
## 该应用程序使用方式为提供基于教学步骤的数据采集与分析的实践,主要包括以下内容:
|
||||
* 教程文档
|
||||
* 数据显示
|
||||
* 模拟数据
|
||||
* 该软件的作用就像是买书附带的光碟,里面有软件和视频等教辅软件
|
||||
|
||||
## 实践一:温湿度数据采集
|
||||
|
||||
配置:温湿度传感器(485)+以太网转485模块+电源等
|
||||
|
||||
目标:掌握Modbus协议、接线、查看文档等技能
|
||||
|
||||
步骤:查看文档+接线+现场讲解等
|
||||
|
||||
|
||||
## 实践二:模拟量数字量采集
|
||||
|
||||
配置:按钮开关+4-20ma信号发生器+模拟量采集模块+电源等
|
||||
|
||||
目标:掌握常见传感器的数据采集等。
|
||||
|
||||
步骤:查看文档+接线+现场讲解+采集
|
||||
|
||||
|
||||
## 实践三:激光雷达数据采集
|
||||
配置:激光雷达(UDP)+电源等
|
||||
|
||||
目标:掌握非标自定义协议的设备的数据采集。
|
||||
|
||||
步骤:查看文档+接线+现场讲解+采集
|
@@ -1,144 +0,0 @@
|
||||
[gd_scene load_steps=12 format=3 uid="uid://cdivd7qml4dvu"]
|
||||
|
||||
[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_2tjg8")
|
||||
allowCursor = true
|
||||
allowInput = true
|
||||
|
||||
[node name="ColorRect" type="ColorRect" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_right = 1920.0
|
||||
offset_bottom = 1080.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
color = Color(0.0390224, 0.0432458, 0.0516745, 1)
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="."]
|
||||
visible = false
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = 3.0
|
||||
offset_top = 5.0
|
||||
offset_right = 1923.0
|
||||
offset_bottom = 1019.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
texture = ExtResource("2_8n5qp")
|
||||
stretch_mode = 6
|
||||
|
||||
[node name="教程Header" parent="." instance=ExtResource("3_ds640")]
|
||||
visible = false
|
||||
layout_mode = 0
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="教程Header"]
|
||||
self_modulate = Color(0.329412, 0.329412, 0.329412, 1)
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -42.0
|
||||
offset_top = -14.0
|
||||
offset_right = 66.0
|
||||
offset_bottom = 539.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
texture = ExtResource("4_vne04")
|
||||
expand_mode = 1
|
||||
stretch_mode = 6
|
||||
|
||||
[node name="TabContainer" type="TabContainer" parent="."]
|
||||
layout_mode = 2
|
||||
offset_top = 4.0
|
||||
offset_right = 1920.0
|
||||
offset_bottom = 1076.0
|
||||
size_flags_vertical = 3
|
||||
theme = ExtResource("5_sn2kd")
|
||||
theme_override_constants/side_margin = 128
|
||||
|
||||
[node name="标识注册" parent="TabContainer" instance=ExtResource("6_drcgg")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="注册标识" parent="TabContainer/标识注册/VBoxContainer/ScrollContainer/HFlowContainer/StepElement2" index="15"]
|
||||
visible = false
|
||||
|
||||
[node name="Label" parent="TabContainer/标识注册/VBoxContainer/ScrollContainer/HFlowContainer/StepElement9/BaseComponent" index="1"]
|
||||
text = "注册与更新标识"
|
||||
|
||||
[node name="标识解析" parent="TabContainer" instance=ExtResource("7_kffxi")]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GraphFlow" type="Node" parent="."]
|
||||
script = ExtResource("8_xo2g2")
|
||||
nodes = {
|
||||
0: NodePath(""),
|
||||
1: NodePath(""),
|
||||
2: NodePath(""),
|
||||
3: NodePath(""),
|
||||
4: NodePath(""),
|
||||
5: NodePath(""),
|
||||
6: NodePath(""),
|
||||
7: NodePath(""),
|
||||
8: NodePath(""),
|
||||
9: NodePath(""),
|
||||
10: NodePath("")
|
||||
}
|
||||
|
||||
[node name="Return-Button" type="Button" parent="."]
|
||||
layout_mode = 0
|
||||
offset_top = 5.0
|
||||
offset_right = 129.0
|
||||
offset_bottom = 66.0
|
||||
text = "返回"
|
||||
icon = ExtResource("9_6xpog")
|
||||
expand_icon = true
|
||||
script = ExtResource("10_x7i37")
|
||||
|
||||
[node name="SearchRegister" type="Node" parent="." node_paths=PackedStringArray("keyLine", "valueLine", "nameLine", "idLine", "registryRecordLine", "registryButton", "registryResultLabel")]
|
||||
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")
|
||||
idLine = NodePath("../TabContainer/标识注册/VBoxContainer/ScrollContainer/HFlowContainer/StepElement9/HBoxContainer4/idLine")
|
||||
registryRecordLine = NodePath("../TabContainer/标识注册/VBoxContainer/ScrollContainer/HFlowContainer/StepElement9/HBoxContainer5/registryRecordLine")
|
||||
registryButton = NodePath("../TabContainer/标识注册/VBoxContainer/ScrollContainer/HFlowContainer/StepElement9/register-button")
|
||||
registryResultLabel = NodePath("../TabContainer/标识注册/VBoxContainer/ScrollContainer/HFlowContainer/StepElement9/RegistryResultLabel")
|
||||
|
||||
[connection signal="pressed" from="Return-Button" to="Return-Button" method="Return"]
|
||||
|
||||
[editable path="教程Header"]
|
||||
[editable path="TabContainer/标识注册"]
|
||||
[editable path="TabContainer/标识注册/Animations/Start/VBoxContainer/Root/Node-0"]
|
||||
[editable path="TabContainer/标识注册/Animations/Start/VBoxContainer/Node/Node1-1"]
|
||||
[editable path="TabContainer/标识注册/Animations/Start/VBoxContainer/Node/Node-1-2"]
|
||||
[editable path="TabContainer/标识注册/Animations/Start/VBoxContainer/SubNode/Node-2-1"]
|
||||
[editable path="TabContainer/标识注册/Animations/Start/VBoxContainer/SubNode/Node-2-2"]
|
||||
[editable path="TabContainer/标识注册/Animations/Start/VBoxContainer/SubNode/Node-2-3"]
|
||||
[editable path="TabContainer/标识注册/Animations/手动注册与更新标识"]
|
||||
[editable path="TabContainer/标识注册/Animations/更新温湿度传感器的标识"]
|
||||
[editable path="TabContainer/标识注册/VBoxContainer/ScrollContainer/HFlowContainer/StepElement2"]
|
||||
[editable path="TabContainer/标识注册/VBoxContainer/ScrollContainer/HFlowContainer/StepElement9"]
|
||||
[editable path="TabContainer/标识注册/VBoxContainer/ScrollContainer/HFlowContainer/StepElement"]
|
||||
[editable path="TabContainer/标识注册/VBoxContainer/ScrollContainer/HFlowContainer/StepElement5"]
|
||||
[editable path="TabContainer/标识注册/VBoxContainer/ScrollContainer/HFlowContainer/StepElement4"]
|
||||
[editable path="TabContainer/标识注册/VBoxContainer/ScrollContainer/HFlowContainer/StepElement3"]
|
||||
[editable path="TabContainer/标识解析"]
|
@@ -1,781 +0,0 @@
|
||||
[gd_scene load_steps=20 format=3 uid="uid://bx4v3ofh4on5e"]
|
||||
|
||||
[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"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_yhxk4"]
|
||||
resource_name = "Start"
|
||||
length = 6.0
|
||||
tracks/0/type = "animation"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("VBoxContainer/Root/Node-0/AnimationPlayer")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"clips": PackedStringArray("Spawn"),
|
||||
"times": PackedFloat32Array(0)
|
||||
}
|
||||
tracks/1/type = "animation"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("VBoxContainer/Node/Node1-1/AnimationPlayer")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"clips": PackedStringArray("[stop]", "Spawn"),
|
||||
"times": PackedFloat32Array(1.9, 2)
|
||||
}
|
||||
tracks/2/type = "animation"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("VBoxContainer/Node/Node-1-2/AnimationPlayer")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"clips": PackedStringArray("[stop]", "Spawn"),
|
||||
"times": PackedFloat32Array(1.9, 2)
|
||||
}
|
||||
tracks/3/type = "animation"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("VBoxContainer/SubNode/Node-2-1/AnimationPlayer")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"clips": PackedStringArray("[stop]", "Spawn"),
|
||||
"times": PackedFloat32Array(3.9, 4)
|
||||
}
|
||||
tracks/4/type = "animation"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("VBoxContainer/SubNode/Node-2-2/AnimationPlayer")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"clips": PackedStringArray("[stop]", "Spawn"),
|
||||
"times": PackedFloat32Array(3.9, 4)
|
||||
}
|
||||
tracks/5/type = "animation"
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("VBoxContainer/SubNode/Node-2-3/AnimationPlayer")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = {
|
||||
"clips": PackedStringArray("[stop]", "Spawn"),
|
||||
"times": PackedFloat32Array(3.9, 4)
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_efxtn"]
|
||||
_data = {
|
||||
"Start": SubResource("Animation_yhxk4")
|
||||
}
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_i5ei2"]
|
||||
content_margin_left = 8.0
|
||||
content_margin_top = 8.0
|
||||
content_margin_right = 8.0
|
||||
content_margin_bottom = 8.0
|
||||
bg_color = Color(0, 0, 0, 0.501961)
|
||||
corner_radius_top_left = 8
|
||||
corner_radius_top_right = 8
|
||||
corner_radius_bottom_right = 8
|
||||
corner_radius_bottom_left = 8
|
||||
|
||||
[node name="标识注册" type="ColorRect"]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme = ExtResource("1_3wvk5")
|
||||
color = Color(0.121569, 0.129412, 0.145098, 1)
|
||||
|
||||
[node name="Animations" type="TabContainer" parent="."]
|
||||
custom_minimum_size = Vector2(1024, 384)
|
||||
layout_mode = 1
|
||||
anchors_preset = 5
|
||||
anchor_left = 0.5
|
||||
anchor_right = 0.5
|
||||
offset_left = -473.0
|
||||
offset_top = 64.0
|
||||
offset_right = 551.0
|
||||
offset_bottom = 448.0
|
||||
grow_horizontal = 2
|
||||
theme_override_styles/panel = SubResource("StyleBoxEmpty_tkumr")
|
||||
tabs_visible = false
|
||||
|
||||
[node name="Start" type="HBoxContainer" parent="Animations"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 16
|
||||
alignment = 1
|
||||
script = ExtResource("2_xptn7")
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="Animations/Start"]
|
||||
reset_on_save = false
|
||||
method_call_mode = 1
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_efxtn")
|
||||
}
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="Animations/Start"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Root" type="HBoxContainer" parent="Animations/Start/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
alignment = 1
|
||||
|
||||
[node name="Node-0" parent="Animations/Start/VBoxContainer/Root" instance=ExtResource("3_o1m1n")]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="Node" type="HBoxContainer" parent="Animations/Start/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
alignment = 1
|
||||
|
||||
[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"]
|
||||
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("3_o1m1n")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="IconText" parent="Animations/Start/VBoxContainer/Node/Node-1-2/Icon" index="0"]
|
||||
text = "S"
|
||||
|
||||
[node name="Name" parent="Animations/Start/VBoxContainer/Node/Node-1-2" index="1"]
|
||||
text = "二级节点"
|
||||
|
||||
[node name="SubNode" type="HBoxContainer" parent="Animations/Start/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
alignment = 1
|
||||
|
||||
[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"]
|
||||
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("3_o1m1n")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="IconText" parent="Animations/Start/VBoxContainer/SubNode/Node-2-2/Icon" index="0"]
|
||||
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("3_o1m1n")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="IconText" parent="Animations/Start/VBoxContainer/SubNode/Node-2-3/Icon" index="0"]
|
||||
text = "E"
|
||||
|
||||
[node name="Name" parent="Animations/Start/VBoxContainer/SubNode/Node-2-3" index="1"]
|
||||
text = "企业节点"
|
||||
|
||||
[node name="VBoxContainer2" type="VBoxContainer" parent="Animations/Start"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="Animations/Start/VBoxContainer2"]
|
||||
layout_mode = 2
|
||||
theme_override_styles/normal = SubResource("StyleBoxFlat_i5ei2")
|
||||
text = "用户:查询88.123.99的信息"
|
||||
|
||||
[node name="Label2" type="Label" parent="Animations/Start/VBoxContainer2"]
|
||||
layout_mode = 2
|
||||
theme_override_styles/normal = SubResource("StyleBoxFlat_i5ei2")
|
||||
text = "向顶级节点查询88.123.99"
|
||||
|
||||
[node name="HSeparator" type="HSeparator" parent="Animations/Start/VBoxContainer2"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label3" type="Label" parent="Animations/Start/VBoxContainer2"]
|
||||
layout_mode = 2
|
||||
theme_override_styles/normal = SubResource("StyleBoxFlat_i5ei2")
|
||||
text = "顶级节点返回数据类型为HS_SITE.PREFIX的IP地址"
|
||||
|
||||
[node name="Label4" type="Label" parent="Animations/Start/VBoxContainer2"]
|
||||
layout_mode = 2
|
||||
theme_override_styles/normal = SubResource("StyleBoxFlat_i5ei2")
|
||||
text = "通过二级节点查询88.123.99"
|
||||
|
||||
[node name="Label5" type="Label" parent="Animations/Start/VBoxContainer2"]
|
||||
layout_mode = 2
|
||||
theme_override_styles/normal = SubResource("StyleBoxFlat_i5ei2")
|
||||
text = "返回数据类型为HS_SITE的地址"
|
||||
|
||||
[node name="HSeparator2" type="HSeparator" parent="Animations/Start/VBoxContainer2"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label6" type="Label" parent="Animations/Start/VBoxContainer2"]
|
||||
layout_mode = 2
|
||||
theme_override_styles/normal = SubResource("StyleBoxFlat_i5ei2")
|
||||
text = "查询:88.123.99/MyABC"
|
||||
|
||||
[node name="Label7" type="Label" parent="Animations/Start/VBoxContainer2"]
|
||||
layout_mode = 2
|
||||
theme_override_styles/normal = SubResource("StyleBoxFlat_i5ei2")
|
||||
text = "返回标识的相关属性信息"
|
||||
|
||||
[node name="手动注册与更新标识" parent="Animations" instance=ExtResource("4_ruskv")]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
|
||||
[node name="准备环境" type="Control" parent="Animations"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
|
||||
[node name="认识与采集" type="Control" parent="Animations"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
|
||||
[node name="生产模拟" parent="Animations" instance=ExtResource("5_fxufp")]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
|
||||
[node name="更新温湿度传感器的标识" parent="Animations" instance=ExtResource("6_2rvf3")]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="."]
|
||||
layout_mode = 2
|
||||
offset_left = 64.0
|
||||
offset_top = 461.0
|
||||
offset_right = 1864.0
|
||||
offset_bottom = 1018.0
|
||||
|
||||
[node name="HSeparator2" type="HSeparator" parent="VBoxContainer"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 32
|
||||
|
||||
[node name="HSeparator" type="HSeparator" parent="VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 32
|
||||
|
||||
[node name="ScrollContainer" type="ScrollContainer" parent="VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
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("8_m8q0w")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Name" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement2/BaseComponent" index="0"]
|
||||
text = "注册标识"
|
||||
|
||||
[node name="Label" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement2/BaseComponent" index="1"]
|
||||
text = "注册标识"
|
||||
|
||||
[node name="Label2" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement2/BaseComponent" index="3"]
|
||||
text = "为温湿度传感器注册标识码"
|
||||
|
||||
[node name="RichTextLabel" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement2/BaseComponent" index="5"]
|
||||
bbcode_enabled = true
|
||||
text = "通过二级节点向顶级节点发送数据"
|
||||
|
||||
[node name="32493" type="VScrollBar" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement2/BaseComponent/RichTextLabel" index="1"]
|
||||
visible = false
|
||||
layout_mode = 0
|
||||
anchor_left = 1.0
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -8.0
|
||||
max_value = 72.0
|
||||
step = 1.0
|
||||
page = 72.0
|
||||
|
||||
[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement2"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label2" type="Label" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement2/HBoxContainer2"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderSmall"
|
||||
text = "标识码"
|
||||
|
||||
[node name="Label" type="Label" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement2/HBoxContainer2"]
|
||||
layout_mode = 2
|
||||
text = "国家级.重庆市.厂家/你的标识"
|
||||
vertical_alignment = 2
|
||||
|
||||
[node name="LineEdit" type="LineEdit" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement2"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "88.164.143.4154/S84SF1E"
|
||||
caret_blink = true
|
||||
caret_blink_interval = 0.5
|
||||
|
||||
[node name="HSeparator" type="HSeparator" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement2"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement2"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement2/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderSmall"
|
||||
text = "设备名称:"
|
||||
|
||||
[node name="LineEdit" type="LineEdit" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement2/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "温湿度传感器"
|
||||
caret_blink = true
|
||||
caret_blink_interval = 0.5
|
||||
|
||||
[node name="HSeparator2" type="HSeparator" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement2"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="HBoxContainer3" type="HBoxContainer" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement2"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement2/HBoxContainer3"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderSmall"
|
||||
text = "设备Id
|
||||
"
|
||||
|
||||
[node name="LineEdit" type="LineEdit" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement2/HBoxContainer3"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "t.h.sensor_01"
|
||||
caret_blink = true
|
||||
caret_blink_interval = 0.5
|
||||
|
||||
[node name="HSeparator4" type="HSeparator" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement2"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="HBoxContainer5" type="HBoxContainer" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement2"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement2/HBoxContainer5"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderSmall"
|
||||
text = "标识值数量"
|
||||
|
||||
[node name="LineEdit" type="LineEdit" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement2/HBoxContainer5"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
placeholder_text = "自动"
|
||||
caret_blink = true
|
||||
caret_blink_interval = 0.5
|
||||
|
||||
[node name="HSeparator5" type="HSeparator" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement2"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="HBoxContainer6" type="HBoxContainer" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement2"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement2/HBoxContainer6"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderSmall"
|
||||
text = "标识值"
|
||||
|
||||
[node name="LineEdit" type="LineEdit" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement2/HBoxContainer6"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
placeholder_text = "自动"
|
||||
caret_blink = true
|
||||
caret_blink_interval = 0.5
|
||||
|
||||
[node name="HSeparator3" type="HSeparator" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement2"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="HBoxContainer4" type="HBoxContainer" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement2"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement2/HBoxContainer4"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderSmall"
|
||||
text = "注册记录"
|
||||
|
||||
[node name="LineEdit" type="LineEdit" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement2/HBoxContainer4"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "registry-t.h.sensor_01-S84SF1E"
|
||||
caret_blink = true
|
||||
caret_blink_interval = 0.5
|
||||
|
||||
[node name="HSeparator6" type="HSeparator" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement2"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="注册标识" type="Button" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement2"]
|
||||
layout_mode = 2
|
||||
text = "注册标识"
|
||||
icon = ExtResource("9_y30n4")
|
||||
expand_icon = true
|
||||
|
||||
[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"]
|
||||
text = "手动注册与更新标识"
|
||||
|
||||
[node name="Label" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement9/BaseComponent" index="1"]
|
||||
text = "手动注册与更新标识"
|
||||
|
||||
[node name="Label2" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement9/BaseComponent" index="3"]
|
||||
text = "你需要手动注册一些标识数据"
|
||||
|
||||
[node name="RichTextLabel" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement9/BaseComponent" index="5"]
|
||||
text = "在这里手动添加数据"
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement9"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement9/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderSmall"
|
||||
text = "标识码:"
|
||||
|
||||
[node name="keyLine" type="LineEdit" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement9/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "88.123.99/02020220225008"
|
||||
placeholder_text = "88.123.99/XXXXXXX"
|
||||
caret_blink = true
|
||||
caret_blink_interval = 0.5
|
||||
|
||||
[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement9"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement9/HBoxContainer2"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderSmall"
|
||||
text = "标识值:"
|
||||
|
||||
[node name="valueLine" type="LineEdit" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement9/HBoxContainer2"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "myProduct"
|
||||
caret_blink = true
|
||||
caret_blink_interval = 0.5
|
||||
|
||||
[node name="HBoxContainer3" type="HBoxContainer" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement9"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement9/HBoxContainer3"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderSmall"
|
||||
text = "标识名:"
|
||||
|
||||
[node name="nameLine" type="LineEdit" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement9/HBoxContainer3"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "我的产品"
|
||||
caret_blink = true
|
||||
caret_blink_interval = 0.5
|
||||
|
||||
[node name="HBoxContainer4" type="HBoxContainer" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement9"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement9/HBoxContainer4"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderSmall"
|
||||
text = "标识Id:"
|
||||
|
||||
[node name="idLine" type="LineEdit" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement9/HBoxContainer4"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "my.device"
|
||||
caret_blink = true
|
||||
caret_blink_interval = 0.5
|
||||
|
||||
[node name="HBoxContainer5" type="HBoxContainer" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement9"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement9/HBoxContainer5"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderSmall"
|
||||
text = "注册记录:"
|
||||
|
||||
[node name="registryRecordLine" type="LineEdit" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement9/HBoxContainer5"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "registry.my.device.record-001"
|
||||
caret_blink = true
|
||||
caret_blink_interval = 0.5
|
||||
|
||||
[node name="HSeparator" type="HSeparator" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement9"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement9"]
|
||||
layout_mode = 2
|
||||
text = "在标识码和Id相同时提交更新,不相同时注册标识"
|
||||
|
||||
[node name="register-button" type="Button" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement9"]
|
||||
layout_mode = 2
|
||||
text = "手动注册和更新"
|
||||
icon = ExtResource("9_y30n4")
|
||||
expand_icon = true
|
||||
|
||||
[node name="RegistryResultLabel" type="RichTextLabel" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement9"]
|
||||
layout_mode = 2
|
||||
bbcode_enabled = true
|
||||
text = "这里是注册结果"
|
||||
fit_content = true
|
||||
|
||||
[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"]
|
||||
text = "这里是需要安装和配置的软件"
|
||||
|
||||
[node name="32492" type="VScrollBar" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement/BaseComponent/RichTextLabel" index="1"]
|
||||
visible = false
|
||||
layout_mode = 0
|
||||
anchor_left = 1.0
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -8.0
|
||||
max_value = 24.0
|
||||
step = 1.0
|
||||
page = 24.0
|
||||
|
||||
[node name="CheckButton" type="CheckButton" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
text = "ModbusPoll.exe"
|
||||
flat = true
|
||||
|
||||
[node name="CheckButton2" type="CheckButton" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
text = "NetAssist.exe"
|
||||
flat = true
|
||||
|
||||
[node name="CheckButton3" type="CheckButton" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
text = "UartAssist.exe"
|
||||
flat = true
|
||||
|
||||
[node name="CheckButton4" type="CheckButton" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
text = "chfs.exe"
|
||||
flat = true
|
||||
|
||||
[node name="Label" type="Label" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderSmall"
|
||||
text = "准备好了么?"
|
||||
|
||||
[node name="Button" type="Button" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement"]
|
||||
layout_mode = 2
|
||||
text = "一键配置并打开环境"
|
||||
icon = ExtResource("10_vml30")
|
||||
expand_icon = true
|
||||
script = ExtResource("11_0w0p0")
|
||||
path = "EXE"
|
||||
|
||||
[node name="Label2" type="Label" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderSmall"
|
||||
text = "别忘了,我们还有Modbus学习的视频"
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement"]
|
||||
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("12_lmvg6")
|
||||
expand_mode = 3
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="Button" type="Button" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "打开视频"
|
||||
icon = ExtResource("13_h0iu4")
|
||||
script = ExtResource("14_skh1p")
|
||||
url = "https://b23.tv/8YPP7fU"
|
||||
|
||||
[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"]
|
||||
text = "认识与采集"
|
||||
|
||||
[node name="Label" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement5/BaseComponent" index="1"]
|
||||
text = "开始采集"
|
||||
|
||||
[node name="Label2" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement5/BaseComponent" index="3"]
|
||||
text = "配置好环境后开始采集"
|
||||
|
||||
[node name="RichTextLabel" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement5/BaseComponent" index="5"]
|
||||
text = "跟随以下步骤,开始采集数据"
|
||||
|
||||
[node name="32496" type="VScrollBar" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement5/BaseComponent/RichTextLabel" index="1"]
|
||||
visible = false
|
||||
layout_mode = 0
|
||||
anchor_left = 1.0
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -8.0
|
||||
max_value = 24.0
|
||||
step = 1.0
|
||||
page = 24.0
|
||||
|
||||
[node name="Label" type="Label" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement5"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderSmall"
|
||||
text = "查看 温湿度模块 设备使用手册;
|
||||
查看 485转以太网网口串口服务器 设备使用手册;
|
||||
分析需要连接的导线,并完成导线连接;
|
||||
使用Modbus Poll读取数据;
|
||||
使用SCADA等工具采集数据;
|
||||
"
|
||||
|
||||
[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"]
|
||||
text = "开始生产"
|
||||
|
||||
[node name="Label2" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement4/BaseComponent" index="3"]
|
||||
text = "我们来生产笔记本吧"
|
||||
|
||||
[node name="RichTextLabel" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement4/BaseComponent" index="5"]
|
||||
text = "在生产过程中,我们会创建和更新一些标识"
|
||||
|
||||
[node name="Label" type="Label" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement4"]
|
||||
layout_mode = 2
|
||||
text = "订单信息
|
||||
温度数据
|
||||
湿度数据
|
||||
AGV的电量
|
||||
AGV的电流
|
||||
装配机械臂的标识
|
||||
拧紧机械臂的标识
|
||||
夹爪的标识"
|
||||
|
||||
[node name="StepElement3" parent="VBoxContainer/ScrollContainer/HFlowContainer" instance=ExtResource("8_m8q0w")]
|
||||
custom_minimum_size = Vector2(512, 512)
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Name" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement3/BaseComponent" index="0"]
|
||||
text = "获取数据"
|
||||
|
||||
[node name="Label" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement3/BaseComponent" index="1"]
|
||||
text = "获取数据"
|
||||
|
||||
[node name="Label2" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement3/BaseComponent" index="3"]
|
||||
text = "已经采集到数据了"
|
||||
|
||||
[node name="RichTextLabel" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement3/BaseComponent" index="5"]
|
||||
text = "当前传感器数据"
|
||||
|
||||
[node name="32494" type="VScrollBar" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement3/BaseComponent/RichTextLabel" index="1"]
|
||||
visible = false
|
||||
layout_mode = 0
|
||||
anchor_left = 1.0
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -8.0
|
||||
max_value = 24.0
|
||||
step = 1.0
|
||||
page = 24.0
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement3"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="TextEdit" type="TextEdit" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement3/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
placeholder_text = "http://192.168.254.254:81/WebApi/"
|
||||
scroll_fit_content_height = true
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement3/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="VBoxContainer" type="HBoxContainer" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement3/VBoxContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 8
|
||||
|
||||
[node name="Button" type="Button" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement3/VBoxContainer/HBoxContainer/VBoxContainer"]
|
||||
custom_minimum_size = Vector2(256, 128)
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"ColorPanel"
|
||||
text = "温度36"
|
||||
|
||||
[node name="Button2" type="Button" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement3/VBoxContainer/HBoxContainer/VBoxContainer"]
|
||||
custom_minimum_size = Vector2(256, 128)
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"ColorPanel"
|
||||
text = "湿度37"
|
||||
|
||||
[node name="Button" type="Button" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement3"]
|
||||
layout_mode = 2
|
||||
text = "提交标识更新数据"
|
||||
icon = ExtResource("15_asl0l")
|
||||
expand_icon = true
|
||||
|
||||
[node name="Button2" type="Button" parent="VBoxContainer/ScrollContainer/HFlowContainer/StepElement3"]
|
||||
layout_mode = 2
|
||||
text = "打开详细信息"
|
||||
expand_icon = true
|
||||
|
||||
[connection signal="OnDisable" from="Animations/Start" to="Animations/Start/AnimationPlayer" method="stop" binds= [false]]
|
||||
[connection signal="OnEnable" from="Animations/Start" to="Animations/Start/AnimationPlayer" method="play" binds= ["Start"]]
|
||||
[connection signal="draw" from="Animations/Start" to="Animations/Start" method="Enable"]
|
||||
[connection signal="hidden" from="Animations/Start" to="Animations/Start" method="Disable"]
|
||||
[connection signal="ready" from="VBoxContainer/ScrollContainer" to="VBoxContainer/ScrollContainer" method="set_horizontal_scroll_mode" binds= [1]]
|
||||
[connection signal="pressed" from="VBoxContainer/ScrollContainer/HFlowContainer/StepElement2/BaseComponent/Name" to="Animations" method="set_current_tab" binds= [0]]
|
||||
[connection signal="pressed" from="VBoxContainer/ScrollContainer/HFlowContainer/StepElement9/BaseComponent/Name" to="Animations" method="set_current_tab" binds= [1]]
|
||||
[connection signal="pressed" from="VBoxContainer/ScrollContainer/HFlowContainer/StepElement9/register-button" to="Animations/手动注册与更新标识/AnimationPlayer" method="play" binds= ["Start"]]
|
||||
[connection signal="pressed" from="VBoxContainer/ScrollContainer/HFlowContainer/StepElement/BaseComponent/Name" to="Animations" method="set_current_tab" binds= [2]]
|
||||
[connection signal="pressed" from="VBoxContainer/ScrollContainer/HFlowContainer/StepElement/Button" to="VBoxContainer/ScrollContainer/HFlowContainer/StepElement/Button" method="Execute"]
|
||||
[connection signal="pressed" from="VBoxContainer/ScrollContainer/HFlowContainer/StepElement/HBoxContainer/Button" to="VBoxContainer/ScrollContainer/HFlowContainer/StepElement/HBoxContainer/Button" method="Execute"]
|
||||
[connection signal="pressed" from="VBoxContainer/ScrollContainer/HFlowContainer/StepElement5/BaseComponent/Name" to="Animations" method="set_current_tab" binds= [3]]
|
||||
[connection signal="pressed" from="VBoxContainer/ScrollContainer/HFlowContainer/StepElement4/BaseComponent/Name" to="Animations" method="set_current_tab" binds= [4]]
|
||||
[connection signal="pressed" from="VBoxContainer/ScrollContainer/HFlowContainer/StepElement3/BaseComponent/Name" to="Animations" method="set_current_tab" binds= [5]]
|
||||
[connection signal="pressed" from="VBoxContainer/ScrollContainer/HFlowContainer/StepElement3/Button" to="Animations/更新温湿度传感器的标识/AnimationPlayer" method="play" binds= ["Start"]]
|
||||
[connection signal="pressed" from="VBoxContainer/ScrollContainer/HFlowContainer/StepElement3/Button2" to="Animations/更新温湿度传感器的标识/AnimationPlayer" method="play"]
|
||||
|
||||
[editable path="Animations/Start/VBoxContainer/Root/Node-0"]
|
||||
[editable path="Animations/Start/VBoxContainer/Node/Node1-1"]
|
||||
[editable path="Animations/Start/VBoxContainer/Node/Node-1-2"]
|
||||
[editable path="Animations/Start/VBoxContainer/SubNode/Node-2-1"]
|
||||
[editable path="Animations/Start/VBoxContainer/SubNode/Node-2-2"]
|
||||
[editable path="Animations/Start/VBoxContainer/SubNode/Node-2-3"]
|
||||
[editable path="Animations/手动注册与更新标识"]
|
||||
[editable path="Animations/更新温湿度传感器的标识"]
|
||||
[editable path="VBoxContainer/ScrollContainer/HFlowContainer/StepElement2"]
|
||||
[editable path="VBoxContainer/ScrollContainer/HFlowContainer/StepElement9"]
|
||||
[editable path="VBoxContainer/ScrollContainer/HFlowContainer/StepElement"]
|
||||
[editable path="VBoxContainer/ScrollContainer/HFlowContainer/StepElement5"]
|
||||
[editable path="VBoxContainer/ScrollContainer/HFlowContainer/StepElement4"]
|
||||
[editable path="VBoxContainer/ScrollContainer/HFlowContainer/StepElement3"]
|
@@ -1,118 +0,0 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://yxubv8dgqnpa"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://mfyhei8n50j0" path="res://Artists/Art/Icons/icon_gears.png" id="1_2ocw7"]
|
||||
[ext_resource type="Texture2D" uid="uid://dqhcsm0j6w85j" path="res://Artists/Art/Icons/icon_material-symbols_search.png" id="2_bocj6"]
|
||||
[ext_resource type="Texture2D" uid="uid://cdteo2b8x1rkv" path="res://Artists/Art/Icons/icon_tabler_select.png" id="3_lb8sd"]
|
||||
[ext_resource type="PackedScene" uid="uid://cnd2ofcdx0inc" path="res://Mods/工业数据采集与分析应用分享/Templates/TrackContainer.tscn" id="4_a2vxv"]
|
||||
|
||||
[node name="_标识解析" type="ColorRect"]
|
||||
clip_children = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="SearchLogLabel" type="RichTextLabel" parent="."]
|
||||
visible = false
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 2
|
||||
text = ">搜索日志"
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="."]
|
||||
self_modulate = Color(0.113725, 0.113725, 0.113725, 1)
|
||||
layout_mode = 0
|
||||
offset_left = -36.0
|
||||
offset_top = 269.0
|
||||
offset_right = 638.0
|
||||
offset_bottom = 898.0
|
||||
texture = ExtResource("1_2ocw7")
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_constants/margin_top = 64
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 32
|
||||
alignment = 1
|
||||
|
||||
[node name="Label" type="Label" parent="MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderLarge"
|
||||
text = "工业互联网标识查询"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/VBoxContainer"]
|
||||
custom_minimum_size = Vector2(512, 0)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/VBoxContainer/VBoxContainer"]
|
||||
custom_minimum_size = Vector2(768, 0)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
|
||||
[node name="SearchInput" type="LineEdit" parent="MarginContainer/VBoxContainer/VBoxContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="SearchButton" type="Button" parent="MarginContainer/VBoxContainer/VBoxContainer/HBoxContainer"]
|
||||
custom_minimum_size = Vector2(100, 32)
|
||||
layout_mode = 2
|
||||
text = "查询"
|
||||
icon = ExtResource("2_bocj6")
|
||||
expand_icon = true
|
||||
|
||||
[node name="QuickSearchButton" type="MenuButton" parent="MarginContainer/VBoxContainer/VBoxContainer/HBoxContainer"]
|
||||
custom_minimum_size = Vector2(150, 0)
|
||||
layout_mode = 2
|
||||
text = "快速查询"
|
||||
icon = ExtResource("3_lb8sd")
|
||||
flat = false
|
||||
expand_icon = true
|
||||
|
||||
[node name="PopupMenu" type="PopupMenu" parent="MarginContainer/VBoxContainer/VBoxContainer/HBoxContainer"]
|
||||
item_count = 1
|
||||
item_0/text = ""
|
||||
item_0/id = 0
|
||||
|
||||
[node name="Label" type="Label" parent="MarginContainer/VBoxContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "未填写则查找所有条目"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="SearchProgressBar" type="ProgressBar" parent="MarginContainer/VBoxContainer"]
|
||||
visible = false
|
||||
custom_minimum_size = Vector2(512, 0)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
value = 50.0
|
||||
rounded = true
|
||||
|
||||
[node name="ScrollContainer" type="ScrollContainer" parent="MarginContainer/VBoxContainer"]
|
||||
custom_minimum_size = Vector2(1280, 0)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="SearchResult-Container" type="VBoxContainer" parent="MarginContainer/VBoxContainer/ScrollContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_override_constants/separation = 16
|
||||
|
||||
[node name="TrackContainer" parent="MarginContainer/VBoxContainer/ScrollContainer/SearchResult-Container" instance=ExtResource("4_a2vxv")]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
@@ -1,614 +0,0 @@
|
||||
[gd_scene load_steps=28 format=3 uid="uid://cwq2llh4vrnsg"]
|
||||
|
||||
[ext_resource type="Script" path="res://BITKit/Scripts/UX/UXPanel.cs" id="1_rnsr2"]
|
||||
[ext_resource type="PackedScene" uid="uid://d1po2qljd0jh2" path="res://Mods/教育平台/教程header.tscn" id="2_136dc"]
|
||||
[ext_resource type="Texture2D" uid="uid://mfyhei8n50j0" path="res://Artists/Art/Icons/icon_gears.png" id="3_eeavf"]
|
||||
[ext_resource type="Theme" uid="uid://yepsxq6dperk" path="res://Mods/MinimalUI/MinimalUI.tres" id="4_gpphu"]
|
||||
[ext_resource type="Texture2D" uid="uid://bx6yl6f7ndpbr" path="res://Artists/Art/Backgrounds/ppt-background.png" id="5_1s34r"]
|
||||
[ext_resource type="Texture2D" uid="uid://k3xy782w6pa0" path="res://BITKit/Art/Shapes/icon_squad_rounded-4px.png" id="6_eeqvn"]
|
||||
[ext_resource type="Texture2D" uid="uid://dv24ghy23fnje" path="res://Artists/Art/Icons/icon_file-ppt-filled.png" id="7_dalvu"]
|
||||
[ext_resource type="Texture2D" uid="uid://cqp41rmbnhtfg" path="res://Mods/工业数据采集与分析应用分享/Arts/Images/6分钟快速理解Modbus通信协议@硬声APP.jpg" id="8_60o1p"]
|
||||
[ext_resource type="Texture2D" uid="uid://cmerxcdq74b5l" path="res://Artists/Art/Icons/Ionc_save.png" id="9_l3857"]
|
||||
[ext_resource type="Texture2D" uid="uid://df2ytivbngvf4" path="res://Artists/Art/Icons/icon_software.png" id="10_0ydt3"]
|
||||
[ext_resource type="Texture2D" uid="uid://2qyr2fcp2a2j" path="res://Artists/Art/Icons/icon_filetype-exe.png" id="11_0r4eb"]
|
||||
[ext_resource type="Texture2D" uid="uid://jscvym83h015" path="res://Artists/Art/Icons/icon_park-solid_install.png" id="12_pww4y"]
|
||||
[ext_resource type="Texture2D" uid="uid://dhws1cqlkdixm" path="res://Artists/Art/Icons/icon_folder.png" id="13_w2j7y"]
|
||||
[ext_resource type="Texture2D" uid="uid://cai2ch4k68eyi" path="res://Artists/Art/Icons/icon_folder-delete.png" id="14_7e8yu"]
|
||||
[ext_resource type="PackedScene" uid="uid://kjagucr1ngry" path="res://Artists/Templates/RectangleData.tscn" id="15_i3dfc"]
|
||||
[ext_resource type="Texture2D" uid="uid://fkd63fjc550" path="res://Artists/Art/Icons/icon_help.png" id="17_qggt8"]
|
||||
[ext_resource type="Texture2D" uid="uid://c38luts5hc5fj" path="res://Artists/Art/Icons/Arrows/icon_chevron-left-rounded.png" id="18_l665t"]
|
||||
[ext_resource type="Texture2D" uid="uid://bqwchhovknbro" path="res://Artists/Art/Icons/Arrows/icon_chevron-right-rounded.png" id="19_lo7qx"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_8r0uu"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_vv624"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_cjnsr"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_y5boq"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_q3pqj"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_jj7yi"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_cxqrw"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_ksa7w"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_0hfaj"]
|
||||
|
||||
[node name="工业数据采集与分析应用分享" type="VBoxContainer"]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_constants/separation = 0
|
||||
script = ExtResource("1_rnsr2")
|
||||
allowCursor = true
|
||||
allowInput = true
|
||||
|
||||
[node name="教程Header" parent="." instance=ExtResource("2_136dc")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" parent="教程Header" index="0"]
|
||||
text = "温湿度数据采集"
|
||||
|
||||
[node name="SubViewport" type="SubViewport" parent="."]
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="SubViewport"]
|
||||
current = true
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="."]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="ColorRect" type="ColorRect" parent="HBoxContainer"]
|
||||
clip_children = 2
|
||||
custom_minimum_size = Vector2(256, 0)
|
||||
layout_mode = 2
|
||||
color = Color(0.0745098, 0.0745098, 0.0745098, 1)
|
||||
|
||||
[node name="VBoxContainer2" type="VBoxContainer" parent="HBoxContainer/ColorRect"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="HBoxContainer/ColorRect/VBoxContainer2"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 32
|
||||
theme_override_constants/margin_top = 32
|
||||
theme_override_constants/margin_right = 32
|
||||
theme_override_constants/margin_bottom = 32
|
||||
|
||||
[node name="VBoxContainer2" type="VBoxContainer" parent="HBoxContainer/ColorRect/VBoxContainer2/MarginContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="HBoxContainer/ColorRect/VBoxContainer2/MarginContainer/VBoxContainer2"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderLarge"
|
||||
text = "快捷指令"
|
||||
|
||||
[node name="Label2" type="Label" parent="HBoxContainer/ColorRect/VBoxContainer2/MarginContainer/VBoxContainer2"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderSmall"
|
||||
text = "快捷方式在这里"
|
||||
|
||||
[node name="HSeparator" type="HSeparator" parent="HBoxContainer/ColorRect/VBoxContainer2/MarginContainer/VBoxContainer2"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 32
|
||||
|
||||
[node name="ItemList" type="ItemList" parent="HBoxContainer/ColorRect/VBoxContainer2/MarginContainer/VBoxContainer2"]
|
||||
layout_mode = 2
|
||||
theme_override_styles/panel = SubResource("StyleBoxEmpty_8r0uu")
|
||||
theme_override_styles/focus = SubResource("StyleBoxEmpty_vv624")
|
||||
theme_override_styles/selected = SubResource("StyleBoxEmpty_cjnsr")
|
||||
theme_override_styles/selected_focus = SubResource("StyleBoxEmpty_y5boq")
|
||||
theme_override_styles/cursor = SubResource("StyleBoxEmpty_q3pqj")
|
||||
theme_override_styles/cursor_unfocused = SubResource("StyleBoxEmpty_jj7yi")
|
||||
auto_height = true
|
||||
item_count = 5
|
||||
item_0/text = "打开PPT"
|
||||
item_1/text = "播放视频"
|
||||
item_2/text = "一键配置环境"
|
||||
item_3/text = "打开环境文件夹"
|
||||
item_4/text = "扫描并连接温湿度传感器"
|
||||
|
||||
[node name="HSeparator2" type="HSeparator" parent="HBoxContainer/ColorRect/VBoxContainer2/MarginContainer/VBoxContainer2"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 32
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="HBoxContainer/ColorRect"]
|
||||
modulate = Color(0.164706, 0.164706, 0.164706, 1)
|
||||
layout_mode = 0
|
||||
offset_left = -66.0
|
||||
offset_top = 770.0
|
||||
offset_right = 190.0
|
||||
offset_bottom = 1009.0
|
||||
texture = ExtResource("3_eeavf")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="TabContainer" type="TabContainer" parent="HBoxContainer/VBoxContainer"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme = ExtResource("4_gpphu")
|
||||
theme_override_font_sizes/font_size = 24
|
||||
theme_override_styles/panel = SubResource("StyleBoxEmpty_cxqrw")
|
||||
clip_tabs = false
|
||||
tabs_visible = false
|
||||
|
||||
[node name="介绍" type="Control" parent="HBoxContainer/VBoxContainer/TabContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="BoxContainer" type="BoxContainer" parent="HBoxContainer/VBoxContainer/TabContainer/介绍"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="ColorRect" type="ColorRect" parent="HBoxContainer/VBoxContainer/TabContainer/介绍/BoxContainer"]
|
||||
custom_minimum_size = Vector2(384, 0)
|
||||
layout_mode = 2
|
||||
color = Color(0.0627451, 0.0627451, 0.0627451, 1)
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="HBoxContainer/VBoxContainer/TabContainer/介绍/BoxContainer/ColorRect"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme = ExtResource("4_gpphu")
|
||||
theme_override_constants/margin_left = 16
|
||||
theme_override_constants/margin_top = 16
|
||||
theme_override_constants/margin_right = 16
|
||||
theme_override_constants/margin_bottom = 16
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer/VBoxContainer/TabContainer/介绍/BoxContainer/ColorRect/MarginContainer"]
|
||||
layout_mode = 2
|
||||
theme = ExtResource("4_gpphu")
|
||||
|
||||
[node name="Label" type="Label" parent="HBoxContainer/VBoxContainer/TabContainer/介绍/BoxContainer/ColorRect/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme = ExtResource("4_gpphu")
|
||||
theme_type_variation = &"HeaderLarge"
|
||||
text = "目录"
|
||||
|
||||
[node name="Label2" type="Label" parent="HBoxContainer/VBoxContainer/TabContainer/介绍/BoxContainer/ColorRect/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme = ExtResource("4_gpphu")
|
||||
theme_type_variation = &"HeaderMedium"
|
||||
text = "实践一温湿度数据采集"
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="HBoxContainer/VBoxContainer/TabContainer/介绍/BoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_override_constants/margin_left = 16
|
||||
theme_override_constants/margin_top = 16
|
||||
theme_override_constants/margin_right = 16
|
||||
theme_override_constants/margin_bottom = 16
|
||||
|
||||
[node name="RichTextLabel" type="RichTextLabel" parent="HBoxContainer/VBoxContainer/TabContainer/介绍/BoxContainer/MarginContainer"]
|
||||
layout_mode = 2
|
||||
theme = ExtResource("4_gpphu")
|
||||
bbcode_enabled = true
|
||||
text = "# 工业数据采集与分析应用分享
|
||||
|
||||
## 实践一:温湿度数据采集
|
||||
|
||||
配置:温湿度传感器(485)+以太网转485模块+电源等
|
||||
|
||||
目标:掌握Modbus协议、接线、查看文档等技能
|
||||
|
||||
步骤:查看文档+接线+现场讲解等
|
||||
|
||||
|
||||
## 实践二:模拟量数字量采集
|
||||
|
||||
配置:按钮开关+4-20ma信号发生器+模拟量采集模块+电源等
|
||||
|
||||
目标:掌握常见传感器的数据采集等。
|
||||
|
||||
步骤:查看文档+接线+现场讲解+采集
|
||||
|
||||
|
||||
## 实践三:激光雷达数据采集
|
||||
配置:激光雷达(UDP)+电源等
|
||||
|
||||
目标:掌握非标自定义协议的设备的数据采集。
|
||||
|
||||
步骤:查看文档+接线+现场讲解+采集"
|
||||
|
||||
[node name="实战" type="TabContainer" parent="HBoxContainer/VBoxContainer/TabContainer"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
|
||||
[node name="温湿度数据采集(RS485)" type="TabContainer" parent="HBoxContainer/VBoxContainer/TabContainer/实战"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Mudbus认识和学习" type="TabContainer" parent="HBoxContainer/VBoxContainer/TabContainer/实战/温湿度数据采集(RS485)"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="进行采集" type="TabContainer" parent="HBoxContainer/VBoxContainer/TabContainer/实战/温湿度数据采集(RS485)"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
|
||||
[node name="查看设备资料" type="Control" parent="HBoxContainer/VBoxContainer/TabContainer/实战/温湿度数据采集(RS485)/进行采集"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="接线" type="Control" parent="HBoxContainer/VBoxContainer/TabContainer/实战/温湿度数据采集(RS485)/进行采集"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
|
||||
[node name="使用Mudbus Pull工具进行测试" type="Control" parent="HBoxContainer/VBoxContainer/TabContainer/实战/温湿度数据采集(RS485)/进行采集"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
|
||||
[node name="使用串口服务器将ModbusRTU转为Modbus TCP" type="Control" parent="HBoxContainer/VBoxContainer/TabContainer/实战/温湿度数据采集(RS485)/进行采集"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
|
||||
[node name="接入SCADA" type="Control" parent="HBoxContainer/VBoxContainer/TabContainer/实战/温湿度数据采集(RS485)/进行采集"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
|
||||
[node name="模拟量采集" type="TabContainer" parent="HBoxContainer/VBoxContainer/TabContainer/实战"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
|
||||
[node name="激光雷达数据采集(UDP)" type="TabContainer" parent="HBoxContainer/VBoxContainer/TabContainer/实战"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
|
||||
[node name="现场讲解" type="Control" parent="HBoxContainer/VBoxContainer/TabContainer"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
|
||||
[node name="TabContainer2" type="TabContainer" parent="HBoxContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_override_styles/panel = SubResource("StyleBoxEmpty_ksa7w")
|
||||
|
||||
[node name="查看文档" type="MarginContainer" parent="HBoxContainer/VBoxContainer/TabContainer2"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 128
|
||||
theme_override_constants/margin_top = 128
|
||||
theme_override_constants/margin_right = 128
|
||||
theme_override_constants/margin_bottom = 128
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
texture = ExtResource("5_1s34r")
|
||||
expand_mode = 1
|
||||
stretch_mode = 4
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 64
|
||||
alignment = 1
|
||||
|
||||
[node name="ColorRect" type="NinePatchRect" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer"]
|
||||
self_modulate = Color(0, 0, 0, 0.501961)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
texture = ExtResource("6_eeqvn")
|
||||
patch_margin_left = 16
|
||||
patch_margin_top = 16
|
||||
patch_margin_right = 16
|
||||
patch_margin_bottom = 16
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer/ColorRect"]
|
||||
layout_mode = 2
|
||||
offset_left = 77.0
|
||||
offset_right = 293.0
|
||||
offset_bottom = 591.0
|
||||
theme_override_constants/separation = 16
|
||||
alignment = 1
|
||||
|
||||
[node name="Label" type="Label" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer/ColorRect/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme = ExtResource("4_gpphu")
|
||||
theme_type_variation = &"HeaderMedium"
|
||||
text = "这是你你需要的课件
|
||||
可以在这里快速打开"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Button" type="Button" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer/ColorRect/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme = ExtResource("4_gpphu")
|
||||
text = "打开PPT"
|
||||
icon = ExtResource("7_dalvu")
|
||||
|
||||
[node name="Label2" type="Label" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer/ColorRect/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme = ExtResource("4_gpphu")
|
||||
theme_type_variation = &"HeaderMedium"
|
||||
text = "还有你需要的视频"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="RichTextLabel" type="RichTextLabel" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer/ColorRect/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
bbcode_enabled = true
|
||||
text = "[url=https://b23.tv/8YPP7fU]6分钟学会modbus通讯协议[/url]"
|
||||
fit_content = true
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer/ColorRect/VBoxContainer"]
|
||||
custom_minimum_size = Vector2(0, 128)
|
||||
layout_mode = 2
|
||||
texture = ExtResource("8_60o1p")
|
||||
expand_mode = 2
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="Button2" type="Button" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer/ColorRect/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "保存视频到本地"
|
||||
icon = ExtResource("9_l3857")
|
||||
|
||||
[node name="NinePatchRect" type="NinePatchRect" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer"]
|
||||
self_modulate = Color(0, 0, 0, 0.501961)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
texture = ExtResource("6_eeqvn")
|
||||
patch_margin_left = 16
|
||||
patch_margin_top = 16
|
||||
patch_margin_right = 16
|
||||
patch_margin_bottom = 6
|
||||
|
||||
[node name="VBoxContainer2" type="VBoxContainer" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer/NinePatchRect"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -174.5
|
||||
offset_top = -188.0
|
||||
offset_right = 174.5
|
||||
offset_bottom = 188.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_constants/separation = 16
|
||||
alignment = 1
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer/NinePatchRect/VBoxContainer2"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer/NinePatchRect/VBoxContainer2/HBoxContainer"]
|
||||
custom_minimum_size = Vector2(24, 24)
|
||||
layout_mode = 2
|
||||
texture = ExtResource("10_0ydt3")
|
||||
expand_mode = 3
|
||||
|
||||
[node name="Label2" type="Label" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer/NinePatchRect/VBoxContainer2/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme = ExtResource("4_gpphu")
|
||||
theme_type_variation = &"HeaderLarge"
|
||||
text = "一键安装mudbus全家桶"
|
||||
|
||||
[node name="ItemList" type="ItemList" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer/NinePatchRect/VBoxContainer2"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
theme = ExtResource("4_gpphu")
|
||||
theme_override_font_sizes/font_size = 24
|
||||
theme_override_styles/panel = SubResource("StyleBoxEmpty_0hfaj")
|
||||
select_mode = 1
|
||||
allow_rmb_select = true
|
||||
auto_height = true
|
||||
item_count = 4
|
||||
fixed_icon_size = Vector2i(32, 32)
|
||||
item_0/text = "Mudbuspoll"
|
||||
item_0/icon = ExtResource("11_0r4eb")
|
||||
item_1/text = "NetAssists"
|
||||
item_1/icon = ExtResource("11_0r4eb")
|
||||
item_2/text = "UartAssist"
|
||||
item_2/icon = ExtResource("11_0r4eb")
|
||||
item_3/text = "cnfs"
|
||||
item_3/icon = ExtResource("11_0r4eb")
|
||||
|
||||
[node name="Label3" type="Label" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer/NinePatchRect/VBoxContainer2"]
|
||||
layout_mode = 2
|
||||
theme = ExtResource("4_gpphu")
|
||||
theme_type_variation = &"HeaderSmall"
|
||||
text = "装机必备"
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer/NinePatchRect/VBoxContainer2"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="CheckButton" type="CheckButton" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer/NinePatchRect/VBoxContainer2/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Mudbuspoll"
|
||||
icon = ExtResource("11_0r4eb")
|
||||
expand_icon = true
|
||||
|
||||
[node name="CheckButton2" type="CheckButton" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer/NinePatchRect/VBoxContainer2/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "NetAssists"
|
||||
icon = ExtResource("11_0r4eb")
|
||||
expand_icon = true
|
||||
|
||||
[node name="CheckButton3" type="CheckButton" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer/NinePatchRect/VBoxContainer2/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "UartAssist"
|
||||
icon = ExtResource("11_0r4eb")
|
||||
expand_icon = true
|
||||
|
||||
[node name="CheckButton4" type="CheckButton" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer/NinePatchRect/VBoxContainer2/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "cnfs"
|
||||
icon = ExtResource("11_0r4eb")
|
||||
expand_icon = true
|
||||
|
||||
[node name="Button6" type="Button" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer/NinePatchRect/VBoxContainer2"]
|
||||
layout_mode = 2
|
||||
text = "一键所需安装"
|
||||
icon = ExtResource("12_pww4y")
|
||||
|
||||
[node name="Label4" type="Label" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer/NinePatchRect/VBoxContainer2"]
|
||||
layout_mode = 2
|
||||
theme = ExtResource("4_gpphu")
|
||||
theme_type_variation = &"HeaderSmall"
|
||||
text = "推荐安装"
|
||||
|
||||
[node name="VBoxContainer2" type="VBoxContainer" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer/NinePatchRect/VBoxContainer2"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="CheckButton" type="CheckButton" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer/NinePatchRect/VBoxContainer2/VBoxContainer2"]
|
||||
layout_mode = 2
|
||||
text = "vscode"
|
||||
icon = ExtResource("11_0r4eb")
|
||||
expand_icon = true
|
||||
|
||||
[node name="CheckButton2" type="CheckButton" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer/NinePatchRect/VBoxContainer2/VBoxContainer2"]
|
||||
layout_mode = 2
|
||||
text = "abb studio"
|
||||
icon = ExtResource("11_0r4eb")
|
||||
expand_icon = true
|
||||
|
||||
[node name="CheckButton3" type="CheckButton" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer/NinePatchRect/VBoxContainer2/VBoxContainer2"]
|
||||
layout_mode = 2
|
||||
text = "西门子PLC"
|
||||
icon = ExtResource("11_0r4eb")
|
||||
expand_icon = true
|
||||
|
||||
[node name="CheckButton4" type="CheckButton" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer/NinePatchRect/VBoxContainer2/VBoxContainer2"]
|
||||
layout_mode = 2
|
||||
text = "tcping"
|
||||
icon = ExtResource("11_0r4eb")
|
||||
expand_icon = true
|
||||
|
||||
[node name="Button" type="Button" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer/NinePatchRect/VBoxContainer2"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
text = "给我全装上"
|
||||
|
||||
[node name="Button2" type="Button" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer/NinePatchRect/VBoxContainer2"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
text = "只安装已勾选的"
|
||||
|
||||
[node name="Button3" type="Button" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer/NinePatchRect/VBoxContainer2"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
text = "已勾选的安装+未勾选的卸载"
|
||||
|
||||
[node name="Button4" type="Button" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer/NinePatchRect/VBoxContainer2"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
text = "全部卸载"
|
||||
|
||||
[node name="Button5" type="Button" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer/NinePatchRect/VBoxContainer2"]
|
||||
layout_mode = 2
|
||||
text = "一键安装所有环境"
|
||||
icon = ExtResource("12_pww4y")
|
||||
|
||||
[node name="NinePatchRect2" type="NinePatchRect" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer"]
|
||||
self_modulate = Color(0, 0, 0, 0.501961)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
texture = ExtResource("6_eeqvn")
|
||||
patch_margin_left = 16
|
||||
patch_margin_top = 16
|
||||
patch_margin_right = 16
|
||||
patch_margin_bottom = 16
|
||||
|
||||
[node name="VBoxContainer3" type="VBoxContainer" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer/NinePatchRect2"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -143.5
|
||||
offset_top = -295.5
|
||||
offset_right = 143.5
|
||||
offset_bottom = 295.5
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_constants/separation = 16
|
||||
alignment = 1
|
||||
|
||||
[node name="Label" type="Label" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer/NinePatchRect2/VBoxContainer3"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderLarge"
|
||||
text = "当然了,别忘了进入环境"
|
||||
|
||||
[node name="Button" type="Button" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer/NinePatchRect2/VBoxContainer3"]
|
||||
layout_mode = 2
|
||||
text = "打开环境文件夹"
|
||||
icon = ExtResource("13_w2j7y")
|
||||
|
||||
[node name="Label2" type="Label" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer/NinePatchRect2/VBoxContainer3"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderLarge"
|
||||
text = "如果你想移除环境,可以"
|
||||
|
||||
[node name="Button2" type="Button" parent="HBoxContainer/VBoxContainer/TabContainer2/查看文档/HBoxContainer/NinePatchRect2/VBoxContainer3"]
|
||||
layout_mode = 2
|
||||
text = "移除环境文件夹"
|
||||
icon = ExtResource("14_7e8yu")
|
||||
|
||||
[node name="温湿度数据采集" type="MarginContainer" parent="HBoxContainer/VBoxContainer/TabContainer2"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 16
|
||||
theme_override_constants/margin_top = 16
|
||||
theme_override_constants/margin_right = 16
|
||||
theme_override_constants/margin_bottom = 16
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer/VBoxContainer/TabContainer2/温湿度数据采集"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="HBoxContainer/VBoxContainer/TabContainer2/温湿度数据采集/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderLarge"
|
||||
text = "传感器数据"
|
||||
|
||||
[node name="CenterContainer" type="HBoxContainer" parent="HBoxContainer/VBoxContainer/TabContainer2/温湿度数据采集/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 0
|
||||
|
||||
[node name="RectangleData" parent="HBoxContainer/VBoxContainer/TabContainer2/温湿度数据采集/VBoxContainer/CenterContainer" instance=ExtResource("15_i3dfc")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="RectangleData2" parent="HBoxContainer/VBoxContainer/TabContainer2/温湿度数据采集/VBoxContainer/CenterContainer" instance=ExtResource("15_i3dfc")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="HBoxContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 16
|
||||
theme_override_constants/margin_top = 16
|
||||
theme_override_constants/margin_right = 16
|
||||
theme_override_constants/margin_bottom = 16
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="HBoxContainer/VBoxContainer/MarginContainer"]
|
||||
layout_mode = 2
|
||||
alignment = 2
|
||||
|
||||
[node name="Button3" type="Button" parent="HBoxContainer/VBoxContainer/MarginContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "帮助与提示"
|
||||
icon = ExtResource("17_qggt8")
|
||||
|
||||
[node name="Button" type="Button" parent="HBoxContainer/VBoxContainer/MarginContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "上一步"
|
||||
icon = ExtResource("18_l665t")
|
||||
|
||||
[node name="Button2" type="Button" parent="HBoxContainer/VBoxContainer/MarginContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "下一步"
|
||||
icon = ExtResource("19_lo7qx")
|
||||
|
||||
[editable path="教程Header"]
|
||||
[editable path="HBoxContainer/VBoxContainer/TabContainer2/温湿度数据采集/VBoxContainer/CenterContainer/RectangleData2"]
|
@@ -1,259 +0,0 @@
|
||||
[gd_scene load_steps=14 format=3 uid="uid://cgocposhaflgj"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://d1po2qljd0jh2" path="res://Mods/教育平台/教程header.tscn" id="1_1cv3j"]
|
||||
[ext_resource type="Script" path="res://BITKit/Scripts/UX/UXPanel.cs" id="1_67mqa"]
|
||||
[ext_resource type="Texture2D" uid="uid://mfyhei8n50j0" path="res://Artists/Art/Icons/icon_gears.png" id="2_2g7g1"]
|
||||
[ext_resource type="Theme" uid="uid://yepsxq6dperk" path="res://Mods/MinimalUI/MinimalUI.tres" id="3_f6aoa"]
|
||||
[ext_resource type="Texture2D" uid="uid://dv24ghy23fnje" path="res://Artists/Art/Icons/icon_file-ppt-filled.png" id="4_20bfy"]
|
||||
[ext_resource type="PackedScene" uid="uid://kjagucr1ngry" path="res://Artists/Templates/RectangleData.tscn" id="5_p4wj4"]
|
||||
[ext_resource type="Texture2D" uid="uid://janojpok4ssi" path="res://Mods/工业数据采集与分析应用分享/Arts/Images/激光雷达的扫描图形.png" id="6_ok5xs"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_45lqy"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_h4jgh"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_v8w1o"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_enfxp"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_wqqb7"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_yu20n"]
|
||||
|
||||
[node name="激光雷达数据采集" type="VBoxContainer"]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1_67mqa")
|
||||
allowCursor = true
|
||||
allowInput = true
|
||||
|
||||
[node name="教程Header" parent="." instance=ExtResource("1_1cv3j")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" parent="教程Header" index="0"]
|
||||
text = "激光雷达数据采集"
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="."]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="ColorRect" type="ColorRect" parent="HBoxContainer"]
|
||||
clip_children = 2
|
||||
custom_minimum_size = Vector2(256, 0)
|
||||
layout_mode = 2
|
||||
color = Color(0.0745098, 0.0745098, 0.0745098, 1)
|
||||
|
||||
[node name="VBoxContainer2" type="VBoxContainer" parent="HBoxContainer/ColorRect"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="HBoxContainer/ColorRect/VBoxContainer2"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 32
|
||||
theme_override_constants/margin_top = 32
|
||||
theme_override_constants/margin_right = 32
|
||||
theme_override_constants/margin_bottom = 32
|
||||
|
||||
[node name="VBoxContainer2" type="VBoxContainer" parent="HBoxContainer/ColorRect/VBoxContainer2/MarginContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="HBoxContainer/ColorRect/VBoxContainer2/MarginContainer/VBoxContainer2"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderLarge"
|
||||
text = "快捷指令"
|
||||
|
||||
[node name="Label2" type="Label" parent="HBoxContainer/ColorRect/VBoxContainer2/MarginContainer/VBoxContainer2"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderSmall"
|
||||
text = "快捷方式在这里"
|
||||
|
||||
[node name="HSeparator" type="HSeparator" parent="HBoxContainer/ColorRect/VBoxContainer2/MarginContainer/VBoxContainer2"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 32
|
||||
|
||||
[node name="ItemList" type="ItemList" parent="HBoxContainer/ColorRect/VBoxContainer2/MarginContainer/VBoxContainer2"]
|
||||
layout_mode = 2
|
||||
theme_override_styles/panel = SubResource("StyleBoxEmpty_45lqy")
|
||||
theme_override_styles/focus = SubResource("StyleBoxEmpty_h4jgh")
|
||||
theme_override_styles/selected = SubResource("StyleBoxEmpty_v8w1o")
|
||||
theme_override_styles/selected_focus = SubResource("StyleBoxEmpty_enfxp")
|
||||
theme_override_styles/cursor = SubResource("StyleBoxEmpty_wqqb7")
|
||||
theme_override_styles/cursor_unfocused = SubResource("StyleBoxEmpty_yu20n")
|
||||
auto_height = true
|
||||
item_count = 4
|
||||
item_0/text = "打开PPT"
|
||||
item_1/text = "打开激光雷达使用手册"
|
||||
item_2/text = "打开网络调试工具"
|
||||
item_3/text = "加载随机预设"
|
||||
|
||||
[node name="HSeparator2" type="HSeparator" parent="HBoxContainer/ColorRect/VBoxContainer2/MarginContainer/VBoxContainer2"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 32
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="HBoxContainer/ColorRect"]
|
||||
modulate = Color(0.164706, 0.164706, 0.164706, 1)
|
||||
layout_mode = 0
|
||||
offset_left = -66.0
|
||||
offset_top = 770.0
|
||||
offset_right = 190.0
|
||||
offset_bottom = 1009.0
|
||||
texture = ExtResource("2_2g7g1")
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="HBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_override_constants/margin_left = 32
|
||||
theme_override_constants/margin_top = 32
|
||||
theme_override_constants/margin_right = 32
|
||||
theme_override_constants/margin_bottom = 32
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer/MarginContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="Label3" type="Label" parent="HBoxContainer/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderLarge"
|
||||
text = "激光雷达传感器数据采集预设"
|
||||
|
||||
[node name="Label" type="Label" parent="HBoxContainer/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderLarge"
|
||||
text = "激光雷达的相关文档在这里"
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="HBoxContainer/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 16
|
||||
|
||||
[node name="Button" type="Button" parent="HBoxContainer/MarginContainer/VBoxContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme = ExtResource("3_f6aoa")
|
||||
text = "打开PPT"
|
||||
icon = ExtResource("4_20bfy")
|
||||
|
||||
[node name="Button2" type="Button" parent="HBoxContainer/MarginContainer/VBoxContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme = ExtResource("3_f6aoa")
|
||||
text = "激光雷达使用手册"
|
||||
icon = ExtResource("4_20bfy")
|
||||
|
||||
[node name="Button3" type="Button" parent="HBoxContainer/MarginContainer/VBoxContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme = ExtResource("3_f6aoa")
|
||||
text = "打开网络调试工具"
|
||||
icon = ExtResource("4_20bfy")
|
||||
|
||||
[node name="HSeparator" type="HSeparator" parent="HBoxContainer/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 32
|
||||
|
||||
[node name="Label2" type="Label" parent="HBoxContainer/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderLarge"
|
||||
text = "激光雷达传感器数据采集预设"
|
||||
|
||||
[node name="GridContainer" type="GridContainer" parent="HBoxContainer/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/h_separation = 16
|
||||
theme_override_constants/v_separation = 16
|
||||
columns = 8
|
||||
|
||||
[node name="Button" type="Button" parent="HBoxContainer/MarginContainer/VBoxContainer/GridContainer"]
|
||||
layout_mode = 2
|
||||
text = "加载预设"
|
||||
|
||||
[node name="Button2" type="Button" parent="HBoxContainer/MarginContainer/VBoxContainer/GridContainer"]
|
||||
layout_mode = 2
|
||||
text = "加载预设"
|
||||
|
||||
[node name="Button3" type="Button" parent="HBoxContainer/MarginContainer/VBoxContainer/GridContainer"]
|
||||
layout_mode = 2
|
||||
text = "加载预设"
|
||||
|
||||
[node name="Button4" type="Button" parent="HBoxContainer/MarginContainer/VBoxContainer/GridContainer"]
|
||||
layout_mode = 2
|
||||
text = "加载预设"
|
||||
|
||||
[node name="Button5" type="Button" parent="HBoxContainer/MarginContainer/VBoxContainer/GridContainer"]
|
||||
layout_mode = 2
|
||||
text = "加载预设"
|
||||
|
||||
[node name="Button6" type="Button" parent="HBoxContainer/MarginContainer/VBoxContainer/GridContainer"]
|
||||
layout_mode = 2
|
||||
text = "加载预设"
|
||||
|
||||
[node name="Button7" type="Button" parent="HBoxContainer/MarginContainer/VBoxContainer/GridContainer"]
|
||||
layout_mode = 2
|
||||
text = "加载预设"
|
||||
|
||||
[node name="HSeparator2" type="HSeparator" parent="HBoxContainer/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 32
|
||||
|
||||
[node name="HSeparator3" type="HSeparator" parent="HBoxContainer/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 32
|
||||
|
||||
[node name="HBoxContainer2" type="HBoxContainer" parent="HBoxContainer/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer/MarginContainer/VBoxContainer/HBoxContainer2"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label4" type="Label" parent="HBoxContainer/MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderLarge"
|
||||
text = "当前激光雷达的数据数据"
|
||||
|
||||
[node name="RectangleData" parent="HBoxContainer/MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer" instance=ExtResource("5_p4wj4")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" parent="HBoxContainer/MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer/RectangleData" index="1"]
|
||||
text = "ranges"
|
||||
|
||||
[node name="Label2" parent="HBoxContainer/MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer/RectangleData/MarginContainer" index="0"]
|
||||
text = "256"
|
||||
|
||||
[node name="RectangleData2" parent="HBoxContainer/MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer" instance=ExtResource("5_p4wj4")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" parent="HBoxContainer/MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer/RectangleData2" index="1"]
|
||||
text = "scan_time"
|
||||
|
||||
[node name="Label2" parent="HBoxContainer/MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer/RectangleData2/MarginContainer" index="0"]
|
||||
text = "0.06700015"
|
||||
|
||||
[node name="RectangleData3" parent="HBoxContainer/MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer" instance=ExtResource("5_p4wj4")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="RectangleData4" parent="HBoxContainer/MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer" instance=ExtResource("5_p4wj4")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="VSeparator" type="VSeparator" parent="HBoxContainer/MarginContainer/VBoxContainer/HBoxContainer2"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 64
|
||||
|
||||
[node name="VBoxContainer2" type="VBoxContainer" parent="HBoxContainer/MarginContainer/VBoxContainer/HBoxContainer2"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="Label4" type="Label" parent="HBoxContainer/MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer2"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderLarge"
|
||||
text = "当前图形"
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="HBoxContainer/MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer2"]
|
||||
layout_mode = 2
|
||||
texture = ExtResource("6_ok5xs")
|
||||
stretch_mode = 4
|
||||
|
||||
[editable path="教程Header"]
|
||||
[editable path="HBoxContainer/MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer/RectangleData"]
|
||||
[editable path="HBoxContainer/MarginContainer/VBoxContainer/HBoxContainer2/VBoxContainer/RectangleData2"]
|
@@ -1,890 +0,0 @@
|
||||
[gd_scene load_steps=16 format=3 uid="uid://c0p5mw7gbwwk6"]
|
||||
|
||||
[ext_resource type="VideoStream" path="res://Mods/工业数据采集与分析应用分享/Arts/Videos/生产过程模拟.ogv" id="1_n53dq"]
|
||||
[ext_resource type="Script" path="res://BITKit/Scripts/Components/RuntimeNode.cs" id="2_isay2"]
|
||||
[ext_resource type="Script" path="res://Mods/工业数据采集与分析应用分享/Scripts/ProductionAnimation.cs" id="3_6smad"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_mmg2t"]
|
||||
content_margin_left = 8.0
|
||||
content_margin_right = 8.0
|
||||
bg_color = Color(0.92549, 0.92549, 0.92549, 1)
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_631sk"]
|
||||
content_margin_left = 8.0
|
||||
content_margin_top = 8.0
|
||||
content_margin_right = 8.0
|
||||
content_margin_bottom = 8.0
|
||||
bg_color = Color(0.862745, 0.494118, 0.0862745, 1)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_ehfn1"]
|
||||
resource_name = "Start"
|
||||
length = 6.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("0:visible")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("1:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 1),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [false, true]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("2:visible")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0, 2),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [false, true]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("3:visible")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0, 4),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [false, true]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("4:visible")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0, 6),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [false, true]
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("ProgressBar:value")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = {
|
||||
"times": PackedFloat32Array(0, 6),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [0.0, 100.0]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_0nmby"]
|
||||
_data = {
|
||||
"Start": SubResource("Animation_ehfn1")
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_jqadl"]
|
||||
resource_name = "Start"
|
||||
length = 6.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("ProgressBar:value")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 6),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [55.0, 100.0]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("2:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 4),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [false, true]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_mqq75"]
|
||||
_data = {
|
||||
"Start": SubResource("Animation_jqadl")
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_dagmw"]
|
||||
resource_name = "Start"
|
||||
length = 10.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("ProgressBar:value")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 10),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [0.0, 100.0]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("1:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 1),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [false, true]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("2:visible")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0, 3),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [false, true]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("3:visible")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0, 5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [false, true]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("4:visible")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0, 7),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [false, true]
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("5:visible")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = {
|
||||
"times": PackedFloat32Array(0, 10),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [false, true]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_t4po5"]
|
||||
_data = {
|
||||
"Start": SubResource("Animation_dagmw")
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_f1esw"]
|
||||
resource_name = "Start"
|
||||
length = 8.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("ProgressBar:value")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 6.5, 8),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [0.0, 90.0, 100.0]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_br22x"]
|
||||
_data = {
|
||||
"Start": SubResource("Animation_f1esw")
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_b80x7"]
|
||||
resource_name = "Start"
|
||||
length = 10.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("ProgressBar:value")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 4, 10),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [0.0, 80.0, 90.0]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("ProgressBar:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 10),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [true, false]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("2:visible")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0, 2),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [false, true]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("3:visible")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0, 4),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [false, true]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_0dofc"]
|
||||
_data = {
|
||||
"Start": SubResource("Animation_b80x7")
|
||||
}
|
||||
|
||||
[node name="生产模拟" type="ReferenceRect"]
|
||||
offset_right = 1368.0
|
||||
offset_bottom = 384.0
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="VideoStreamPlayer" type="VideoStreamPlayer" parent="HBoxContainer"]
|
||||
custom_minimum_size = Vector2(384, 256)
|
||||
layout_mode = 2
|
||||
stream = ExtResource("1_n53dq")
|
||||
autoplay = true
|
||||
expand = true
|
||||
script = ExtResource("2_isay2")
|
||||
|
||||
[node name="生产步骤" type="VBoxContainer" parent="HBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="Label2" type="Label" parent="HBoxContainer/生产步骤"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderLarge"
|
||||
theme_override_colors/font_color = Color(0.133333, 0.133333, 0.133333, 1)
|
||||
theme_override_styles/normal = SubResource("StyleBoxFlat_mmg2t")
|
||||
text = "生产步骤"
|
||||
|
||||
[node name="Button" type="Button" parent="HBoxContainer/生产步骤"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"Flat"
|
||||
text = "原材料出库"
|
||||
|
||||
[node name="Button4" type="Button" parent="HBoxContainer/生产步骤"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"Flat"
|
||||
text = "底衬压装"
|
||||
|
||||
[node name="Button2" type="Button" parent="HBoxContainer/生产步骤"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"Flat"
|
||||
text = "笔记本装配"
|
||||
|
||||
[node name="Button3" type="Button" parent="HBoxContainer/生产步骤"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"Flat"
|
||||
text = "UV打印"
|
||||
|
||||
[node name="HSeparator" type="HSeparator" parent="HBoxContainer/生产步骤"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="Button5" type="Button" parent="HBoxContainer/生产步骤"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"Flat"
|
||||
text = "交付/入库"
|
||||
|
||||
[node name="生产过程" type="VBoxContainer" parent="HBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="Label" type="Label" parent="HBoxContainer/生产过程"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderLarge"
|
||||
theme_override_colors/font_color = Color(0.133333, 0.133333, 0.133333, 1)
|
||||
theme_override_styles/normal = SubResource("StyleBoxFlat_mmg2t")
|
||||
text = "生产过程"
|
||||
|
||||
[node name="TabContainer" type="TabContainer" parent="HBoxContainer/生产过程"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
clip_tabs = false
|
||||
tabs_visible = false
|
||||
|
||||
[node name="Default" type="Label" parent="HBoxContainer/生产过程/TabContainer"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
text = "在右侧列表中点击需要的指令"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="原材料出库" type="VBoxContainer" parent="HBoxContainer/生产过程/TabContainer" node_paths=PackedStringArray("progressBar")]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
script = ExtResource("3_6smad")
|
||||
progressBar = NodePath("ProgressBar")
|
||||
visibleNodes = Array[NodePath]([NodePath("0"), NodePath("1"), NodePath("2"), NodePath("3"), NodePath("4"), NodePath("5")])
|
||||
autoPlay = true
|
||||
|
||||
[node name="ProgressBar" type="ProgressBar" parent="HBoxContainer/生产过程/TabContainer/原材料出库"]
|
||||
layout_mode = 2
|
||||
min_value = 28.3333
|
||||
value = 28.3333
|
||||
|
||||
[node name="0" type="Label" parent="HBoxContainer/生产过程/TabContainer/原材料出库"]
|
||||
layout_mode = 2
|
||||
text = "出库笔记本壳"
|
||||
|
||||
[node name="1" type="Label" parent="HBoxContainer/生产过程/TabContainer/原材料出库"]
|
||||
layout_mode = 2
|
||||
text = "出库笔记本纸张"
|
||||
|
||||
[node name="2" type="Label" parent="HBoxContainer/生产过程/TabContainer/原材料出库"]
|
||||
layout_mode = 2
|
||||
text = "出库笔记本卡扣"
|
||||
|
||||
[node name="3" type="Label" parent="HBoxContainer/生产过程/TabContainer/原材料出库"]
|
||||
layout_mode = 2
|
||||
text = "运输到装配区"
|
||||
|
||||
[node name="4" type="Label" parent="HBoxContainer/生产过程/TabContainer/原材料出库"]
|
||||
layout_mode = 2
|
||||
text = "放在装配区等待装配"
|
||||
|
||||
[node name="5" type="Label" parent="HBoxContainer/生产过程/TabContainer/原材料出库"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_type_variation = &"SuccessBox"
|
||||
text = "已完成"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="底衬压装" type="VBoxContainer" parent="HBoxContainer/生产过程/TabContainer" node_paths=PackedStringArray("progressBar")]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
script = ExtResource("3_6smad")
|
||||
progressBar = NodePath("ProgressBar")
|
||||
visibleNodes = Array[NodePath]([NodePath("0"), NodePath("1"), NodePath("2"), NodePath("3"), NodePath("4"), NodePath("5"), NodePath("6"), NodePath("SuccessBox")])
|
||||
autoPlay = true
|
||||
|
||||
[node name="ProgressBar" type="ProgressBar" parent="HBoxContainer/生产过程/TabContainer/底衬压装"]
|
||||
layout_mode = 2
|
||||
value = 6.0
|
||||
|
||||
[node name="0" type="Label" parent="HBoxContainer/生产过程/TabContainer/底衬压装"]
|
||||
layout_mode = 2
|
||||
text = "出库衬套"
|
||||
|
||||
[node name="1" type="Label" parent="HBoxContainer/生产过程/TabContainer/底衬压装"]
|
||||
layout_mode = 2
|
||||
text = "运送到冲压区"
|
||||
|
||||
[node name="2" type="Label" parent="HBoxContainer/生产过程/TabContainer/底衬压装"]
|
||||
layout_mode = 2
|
||||
text = "放置在冲压区"
|
||||
|
||||
[node name="3" type="Label" parent="HBoxContainer/生产过程/TabContainer/底衬压装"]
|
||||
layout_mode = 2
|
||||
text = "冲压"
|
||||
|
||||
[node name="4" type="Label" parent="HBoxContainer/生产过程/TabContainer/底衬压装"]
|
||||
layout_mode = 2
|
||||
text = "取回衬套"
|
||||
|
||||
[node name="5" type="Label" parent="HBoxContainer/生产过程/TabContainer/底衬压装"]
|
||||
layout_mode = 2
|
||||
text = "运输到装配区"
|
||||
|
||||
[node name="6" type="Label" parent="HBoxContainer/生产过程/TabContainer/底衬压装"]
|
||||
layout_mode = 2
|
||||
text = "放在装配区"
|
||||
|
||||
[node name="SuccessBox" type="Label" parent="HBoxContainer/生产过程/TabContainer/底衬压装"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_type_variation = &"SuccessBox"
|
||||
text = "已完成"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="笔记本装配" type="VBoxContainer" parent="HBoxContainer/生产过程/TabContainer" node_paths=PackedStringArray("progressBar")]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
script = ExtResource("3_6smad")
|
||||
progressBar = NodePath("ProgressBar")
|
||||
visibleNodes = Array[NodePath]([NodePath("0"), NodePath("1"), NodePath("2"), NodePath("3"), NodePath("SuccessBox")])
|
||||
autoPlay = true
|
||||
|
||||
[node name="ProgressBar" type="ProgressBar" parent="HBoxContainer/生产过程/TabContainer/笔记本装配"]
|
||||
layout_mode = 2
|
||||
min_value = 55.0
|
||||
value = 59.5
|
||||
|
||||
[node name="0" type="Label" parent="HBoxContainer/生产过程/TabContainer/笔记本装配"]
|
||||
layout_mode = 2
|
||||
text = "装配笔记本壳"
|
||||
|
||||
[node name="1" type="Label" parent="HBoxContainer/生产过程/TabContainer/笔记本装配"]
|
||||
layout_mode = 2
|
||||
text = "装配卡扣"
|
||||
|
||||
[node name="2" type="Label" parent="HBoxContainer/生产过程/TabContainer/笔记本装配"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
text = "装配衬套"
|
||||
|
||||
[node name="3" type="Label" parent="HBoxContainer/生产过程/TabContainer/笔记本装配"]
|
||||
layout_mode = 2
|
||||
text = "装配纸张"
|
||||
|
||||
[node name="SuccessBox" type="Label" parent="HBoxContainer/生产过程/TabContainer/笔记本装配"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_type_variation = &"SuccessBox"
|
||||
text = "已完成"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="UV打印" type="VBoxContainer" parent="HBoxContainer/生产过程/TabContainer" node_paths=PackedStringArray("progressBar")]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
script = ExtResource("3_6smad")
|
||||
progressBar = NodePath("ProgressBar")
|
||||
visibleNodes = Array[NodePath]([NodePath("0"), NodePath("1"), NodePath("2"), NodePath("3"), NodePath("4"), NodePath("SuccessBox")])
|
||||
autoPlay = true
|
||||
|
||||
[node name="ProgressBar" type="ProgressBar" parent="HBoxContainer/生产过程/TabContainer/UV打印"]
|
||||
layout_mode = 2
|
||||
value = 8.31
|
||||
|
||||
[node name="0" type="Label" parent="HBoxContainer/生产过程/TabContainer/UV打印"]
|
||||
layout_mode = 2
|
||||
text = "取回装配笔记本"
|
||||
|
||||
[node name="1" type="Label" parent="HBoxContainer/生产过程/TabContainer/UV打印"]
|
||||
layout_mode = 2
|
||||
text = "运输到打印区"
|
||||
|
||||
[node name="2" type="Label" parent="HBoxContainer/生产过程/TabContainer/UV打印"]
|
||||
layout_mode = 2
|
||||
text = "放置笔记本到打印区"
|
||||
|
||||
[node name="3" type="Label" parent="HBoxContainer/生产过程/TabContainer/UV打印"]
|
||||
layout_mode = 2
|
||||
text = "开始打印"
|
||||
|
||||
[node name="4" type="Label" parent="HBoxContainer/生产过程/TabContainer/UV打印"]
|
||||
layout_mode = 2
|
||||
text = "取回打印笔记本"
|
||||
|
||||
[node name="SuccessBox" type="Label" parent="HBoxContainer/生产过程/TabContainer/UV打印"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_type_variation = &"SuccessBox"
|
||||
text = "已完成"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="入库" type="VBoxContainer" parent="HBoxContainer/生产过程/TabContainer" node_paths=PackedStringArray("progressBar")]
|
||||
layout_mode = 2
|
||||
script = ExtResource("3_6smad")
|
||||
progressBar = NodePath("ProgressBar")
|
||||
visibleNodes = Array[NodePath]([NodePath("0"), NodePath("1"), NodePath("SuccessBox")])
|
||||
autoPlay = true
|
||||
|
||||
[node name="ProgressBar" type="ProgressBar" parent="HBoxContainer/生产过程/TabContainer/入库"]
|
||||
layout_mode = 2
|
||||
value = 12.0
|
||||
|
||||
[node name="0" type="Label" parent="HBoxContainer/生产过程/TabContainer/入库"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 1
|
||||
text = "运输到交付区"
|
||||
|
||||
[node name="1" type="Label" parent="HBoxContainer/生产过程/TabContainer/入库"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 1
|
||||
text = "放置笔记本到交付区"
|
||||
|
||||
[node name="SuccessBox" type="Label" parent="HBoxContainer/生产过程/TabContainer/入库"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_type_variation = &"SuccessBox"
|
||||
text = "已完成"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="VSeparator" type="VSeparator" parent="HBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 16
|
||||
|
||||
[node name="注册操作" type="VBoxContainer" parent="HBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="Label2" type="Label" parent="HBoxContainer/注册操作"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderLarge"
|
||||
theme_override_colors/font_color = Color(0.133333, 0.133333, 0.133333, 1)
|
||||
theme_override_styles/normal = SubResource("StyleBoxFlat_mmg2t")
|
||||
text = "注册操作"
|
||||
|
||||
[node name="Button" type="Button" parent="HBoxContainer/注册操作"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"Flat"
|
||||
text = "创建订单"
|
||||
|
||||
[node name="Button4" type="Button" parent="HBoxContainer/注册操作"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"Flat"
|
||||
text = "注册订单标识"
|
||||
|
||||
[node name="Button2" type="Button" parent="HBoxContainer/注册操作"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"Flat"
|
||||
text = "注册设备标识"
|
||||
|
||||
[node name="Button3" type="Button" parent="HBoxContainer/注册操作"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"Flat"
|
||||
text = "注册环境标识"
|
||||
|
||||
[node name="HSeparator" type="HSeparator" parent="HBoxContainer/注册操作"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="Button5" type="Button" parent="HBoxContainer/注册操作"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"Flat"
|
||||
text = "对当前操作抛出异常"
|
||||
|
||||
[node name="注册过程" type="VBoxContainer" parent="HBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="Label" type="Label" parent="HBoxContainer/注册过程"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderLarge"
|
||||
theme_override_colors/font_color = Color(0.133333, 0.133333, 0.133333, 1)
|
||||
theme_override_styles/normal = SubResource("StyleBoxFlat_mmg2t")
|
||||
text = "生产过程"
|
||||
|
||||
[node name="TabContainer" type="TabContainer" parent="HBoxContainer/注册过程"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
tabs_visible = false
|
||||
|
||||
[node name="Default" type="Label" parent="HBoxContainer/注册过程/TabContainer"]
|
||||
layout_mode = 2
|
||||
text = "在右侧列表中点击需要的指令"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="创建订单" type="VBoxContainer" parent="HBoxContainer/注册过程/TabContainer"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
script = ExtResource("2_isay2")
|
||||
|
||||
[node name="ProgressBar" type="ProgressBar" parent="HBoxContainer/注册过程/TabContainer/创建订单"]
|
||||
layout_mode = 2
|
||||
min_value = 28.3333
|
||||
value = 28.3333
|
||||
|
||||
[node name="0" type="Label" parent="HBoxContainer/注册过程/TabContainer/创建订单"]
|
||||
layout_mode = 2
|
||||
text = "正在创建订单"
|
||||
|
||||
[node name="1" type="Label" parent="HBoxContainer/注册过程/TabContainer/创建订单"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
theme_override_styles/normal = SubResource("StyleBoxFlat_631sk")
|
||||
text = "已创建标识为88.123.64/20230704170401订单"
|
||||
|
||||
[node name="2" type="Label" parent="HBoxContainer/注册过程/TabContainer/创建订单"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
text = "正在生成订单号"
|
||||
|
||||
[node name="3" type="Label" parent="HBoxContainer/注册过程/TabContainer/创建订单"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
theme_override_styles/normal = SubResource("StyleBoxFlat_631sk")
|
||||
text = "已生成订单号:20230704170401"
|
||||
|
||||
[node name="4" type="Label" parent="HBoxContainer/注册过程/TabContainer/创建订单"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_type_variation = &"SuccessBox"
|
||||
text = "已创建订单并下发到MES系统"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="HBoxContainer/注册过程/TabContainer/创建订单"]
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_0nmby")
|
||||
}
|
||||
|
||||
[node name="注册订单标识" type="VBoxContainer" parent="HBoxContainer/注册过程/TabContainer"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
script = ExtResource("2_isay2")
|
||||
|
||||
[node name="ProgressBar" type="ProgressBar" parent="HBoxContainer/注册过程/TabContainer/注册订单标识"]
|
||||
layout_mode = 2
|
||||
min_value = 55.0
|
||||
value = 55.0
|
||||
|
||||
[node name="0" type="Label" parent="HBoxContainer/注册过程/TabContainer/注册订单标识"]
|
||||
layout_mode = 2
|
||||
text = "正在请求注册订单标识"
|
||||
|
||||
[node name="1" type="Label" parent="HBoxContainer/注册过程/TabContainer/注册订单标识"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
theme_override_styles/normal = SubResource("StyleBoxFlat_631sk")
|
||||
text = "已提交订单号20230704170401"
|
||||
|
||||
[node name="2" type="Label" parent="HBoxContainer/注册过程/TabContainer/注册订单标识"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
text = "正在等待返回提交结果"
|
||||
|
||||
[node name="3" type="Label" parent="HBoxContainer/注册过程/TabContainer/注册订单标识"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_type_variation = &"SuccessBox"
|
||||
text = "订单已注册到标识"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="HBoxContainer/注册过程/TabContainer/注册订单标识"]
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_mqq75")
|
||||
}
|
||||
|
||||
[node name="注册设备标识" type="VBoxContainer" parent="HBoxContainer/注册过程/TabContainer"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
script = ExtResource("2_isay2")
|
||||
|
||||
[node name="0" type="Label" parent="HBoxContainer/注册过程/TabContainer/注册设备标识"]
|
||||
layout_mode = 2
|
||||
text = "正在注册参与生产的设备"
|
||||
|
||||
[node name="ProgressBar" type="ProgressBar" parent="HBoxContainer/注册过程/TabContainer/注册设备标识"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="1" type="Label" parent="HBoxContainer/注册过程/TabContainer/注册设备标识"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"AccentBox"
|
||||
text = "正在注册装配机械臂SR7C1L"
|
||||
|
||||
[node name="2" type="Label" parent="HBoxContainer/注册过程/TabContainer/注册设备标识"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"AccentBox"
|
||||
text = "正在注册AGV电流与电量"
|
||||
|
||||
[node name="3" type="Label" parent="HBoxContainer/注册过程/TabContainer/注册设备标识"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"AccentBox"
|
||||
text = "正在注册AGV机械臂"
|
||||
|
||||
[node name="4" type="Label" parent="HBoxContainer/注册过程/TabContainer/注册设备标识"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"AccentBox"
|
||||
text = "正在注册SR夹爪"
|
||||
|
||||
[node name="5" type="Label" parent="HBoxContainer/注册过程/TabContainer/注册设备标识"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_type_variation = &"SuccessBox"
|
||||
text = "已注册参与生产的设备"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="HBoxContainer/注册过程/TabContainer/注册设备标识"]
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_t4po5")
|
||||
}
|
||||
|
||||
[node name="注册环境标识" type="VBoxContainer" parent="HBoxContainer/注册过程/TabContainer"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
script = ExtResource("2_isay2")
|
||||
|
||||
[node name="ProgressBar" type="ProgressBar" parent="HBoxContainer/注册过程/TabContainer/注册环境标识"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="0" type="Label" parent="HBoxContainer/注册过程/TabContainer/注册环境标识"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"AccentBox"
|
||||
text = "正在连接到传感器"
|
||||
|
||||
[node name="1" type="Label" parent="HBoxContainer/注册过程/TabContainer/注册环境标识"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderMedium"
|
||||
text = "已获取温度:42℃"
|
||||
|
||||
[node name="2" type="Label" parent="HBoxContainer/注册过程/TabContainer/注册环境标识"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderMedium"
|
||||
text = "已获取湿度:50%"
|
||||
|
||||
[node name="3" type="Label" parent="HBoxContainer/注册过程/TabContainer/注册环境标识"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"AccentBox"
|
||||
text = "正在提交温湿度标识到解析节点"
|
||||
|
||||
[node name="4" type="Label" parent="HBoxContainer/注册过程/TabContainer/注册环境标识"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_type_variation = &"SuccessBox"
|
||||
text = "已提交温湿度数据到解析节点"
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="HBoxContainer/注册过程/TabContainer/注册环境标识"]
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_br22x")
|
||||
}
|
||||
|
||||
[node name="对当前操作抛出异常" type="VBoxContainer" parent="HBoxContainer/注册过程/TabContainer"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
script = ExtResource("2_isay2")
|
||||
|
||||
[node name="ProgressBar" type="ProgressBar" parent="HBoxContainer/注册过程/TabContainer/对当前操作抛出异常"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="1" type="Label" parent="HBoxContainer/注册过程/TabContainer/对当前操作抛出异常"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 1
|
||||
text = "正在提交数据到标识解析节点..."
|
||||
|
||||
[node name="2" type="Label" parent="HBoxContainer/注册过程/TabContainer/对当前操作抛出异常"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 1
|
||||
theme_type_variation = &"AccentBox"
|
||||
text = "提交失败,正在自动校正数据..."
|
||||
|
||||
[node name="3" type="Label" parent="HBoxContainer/注册过程/TabContainer/对当前操作抛出异常"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 1
|
||||
text = "正在提交数据到标识解析节点..."
|
||||
|
||||
[node name="4" type="RichTextLabel" parent="HBoxContainer/注册过程/TabContainer/对当前操作抛出异常"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_type_variation = &"ErrorBox"
|
||||
bbcode_enabled = true
|
||||
text = "[b]Oops[/b]
|
||||
我们尝试了自动纠错与修正,
|
||||
但仍然提交失败
|
||||
你可以手动提交数据到解析节点"
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="HBoxContainer/注册过程/TabContainer/对当前操作抛出异常"]
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_0dofc")
|
||||
}
|
||||
|
||||
[connection signal="OnDisable" from="HBoxContainer/VideoStreamPlayer" to="HBoxContainer/VideoStreamPlayer" method="stop"]
|
||||
[connection signal="OnEnable" from="HBoxContainer/VideoStreamPlayer" to="HBoxContainer/VideoStreamPlayer" method="play"]
|
||||
[connection signal="draw" from="HBoxContainer/VideoStreamPlayer" to="HBoxContainer/VideoStreamPlayer" method="Enable"]
|
||||
[connection signal="finished" from="HBoxContainer/VideoStreamPlayer" to="HBoxContainer/VideoStreamPlayer" method="play"]
|
||||
[connection signal="hidden" from="HBoxContainer/VideoStreamPlayer" to="HBoxContainer/VideoStreamPlayer" method="Disable"]
|
||||
[connection signal="pressed" from="HBoxContainer/生产步骤/Button" to="HBoxContainer/生产过程/TabContainer" method="set_current_tab" binds= [1]]
|
||||
[connection signal="pressed" from="HBoxContainer/生产步骤/Button4" to="HBoxContainer/生产过程/TabContainer" method="set_current_tab" binds= [2]]
|
||||
[connection signal="pressed" from="HBoxContainer/生产步骤/Button2" to="HBoxContainer/生产过程/TabContainer" method="set_current_tab" binds= [3]]
|
||||
[connection signal="pressed" from="HBoxContainer/生产步骤/Button3" to="HBoxContainer/生产过程/TabContainer" method="set_current_tab" binds= [4]]
|
||||
[connection signal="pressed" from="HBoxContainer/生产步骤/Button5" to="HBoxContainer/注册过程/TabContainer" method="set_current_tab"]
|
||||
[connection signal="draw" from="HBoxContainer/生产过程/TabContainer/UV打印" to="HBoxContainer/生产过程/TabContainer/UV打印" method="Enable"]
|
||||
[connection signal="hidden" from="HBoxContainer/生产过程/TabContainer/UV打印" to="HBoxContainer/生产过程/TabContainer/UV打印" method="Disable"]
|
||||
[connection signal="draw" from="HBoxContainer/生产过程/TabContainer/入库" to="HBoxContainer/生产过程/TabContainer/入库" method="Enable"]
|
||||
[connection signal="hidden" from="HBoxContainer/生产过程/TabContainer/入库" to="HBoxContainer/生产过程/TabContainer/入库" method="Disable"]
|
||||
[connection signal="pressed" from="HBoxContainer/注册操作/Button" to="HBoxContainer/注册过程/TabContainer" method="set_current_tab" binds= [1]]
|
||||
[connection signal="pressed" from="HBoxContainer/注册操作/Button4" to="HBoxContainer/注册过程/TabContainer" method="set_current_tab" binds= [2]]
|
||||
[connection signal="pressed" from="HBoxContainer/注册操作/Button2" to="HBoxContainer/注册过程/TabContainer" method="set_current_tab" binds= [3]]
|
||||
[connection signal="pressed" from="HBoxContainer/注册操作/Button3" to="HBoxContainer/注册过程/TabContainer" method="set_current_tab" binds= [4]]
|
||||
[connection signal="pressed" from="HBoxContainer/注册操作/Button5" to="HBoxContainer/注册过程/TabContainer" method="set_current_tab" binds= [5]]
|
||||
[connection signal="OnDisable" from="HBoxContainer/注册过程/TabContainer/创建订单" to="HBoxContainer/注册过程/TabContainer/创建订单/AnimationPlayer" method="stop" binds= [false]]
|
||||
[connection signal="OnEnable" from="HBoxContainer/注册过程/TabContainer/创建订单" to="HBoxContainer/注册过程/TabContainer/创建订单/AnimationPlayer" method="play" binds= ["Start"]]
|
||||
[connection signal="draw" from="HBoxContainer/注册过程/TabContainer/创建订单" to="HBoxContainer/注册过程/TabContainer/创建订单" method="Enable"]
|
||||
[connection signal="hidden" from="HBoxContainer/注册过程/TabContainer/创建订单" to="HBoxContainer/注册过程/TabContainer/创建订单" method="Disable"]
|
||||
[connection signal="OnDisable" from="HBoxContainer/注册过程/TabContainer/注册订单标识" to="HBoxContainer/注册过程/TabContainer/注册订单标识/AnimationPlayer" method="stop" binds= [false]]
|
||||
[connection signal="OnEnable" from="HBoxContainer/注册过程/TabContainer/注册订单标识" to="HBoxContainer/注册过程/TabContainer/注册订单标识/AnimationPlayer" method="play" binds= ["Start"]]
|
||||
[connection signal="draw" from="HBoxContainer/注册过程/TabContainer/注册订单标识" to="HBoxContainer/注册过程/TabContainer/注册订单标识" method="Enable"]
|
||||
[connection signal="hidden" from="HBoxContainer/注册过程/TabContainer/注册订单标识" to="HBoxContainer/注册过程/TabContainer/创建订单" method="Disable"]
|
||||
[connection signal="OnDisable" from="HBoxContainer/注册过程/TabContainer/注册设备标识" to="HBoxContainer/注册过程/TabContainer/注册设备标识/AnimationPlayer" method="stop" binds= [false]]
|
||||
[connection signal="OnEnable" from="HBoxContainer/注册过程/TabContainer/注册设备标识" to="HBoxContainer/注册过程/TabContainer/注册设备标识/AnimationPlayer" method="play" binds= ["Start"]]
|
||||
[connection signal="draw" from="HBoxContainer/注册过程/TabContainer/注册设备标识" to="HBoxContainer/注册过程/TabContainer/注册设备标识" method="Enable"]
|
||||
[connection signal="hidden" from="HBoxContainer/注册过程/TabContainer/注册设备标识" to="HBoxContainer/注册过程/TabContainer/注册设备标识" method="Disable"]
|
||||
[connection signal="OnDisable" from="HBoxContainer/注册过程/TabContainer/注册环境标识" to="HBoxContainer/注册过程/TabContainer/注册环境标识/AnimationPlayer" method="stop" binds= [false]]
|
||||
[connection signal="OnEnable" from="HBoxContainer/注册过程/TabContainer/注册环境标识" to="HBoxContainer/注册过程/TabContainer/注册环境标识/AnimationPlayer" method="play" binds= ["Start"]]
|
||||
[connection signal="draw" from="HBoxContainer/注册过程/TabContainer/注册环境标识" to="HBoxContainer/注册过程/TabContainer/注册环境标识" method="Enable"]
|
||||
[connection signal="hidden" from="HBoxContainer/注册过程/TabContainer/注册环境标识" to="HBoxContainer/注册过程/TabContainer/注册环境标识" method="Disable"]
|
||||
[connection signal="OnDisable" from="HBoxContainer/注册过程/TabContainer/对当前操作抛出异常" to="HBoxContainer/注册过程/TabContainer/对当前操作抛出异常/AnimationPlayer" method="stop" binds= [false]]
|
||||
[connection signal="OnEnable" from="HBoxContainer/注册过程/TabContainer/对当前操作抛出异常" to="HBoxContainer/注册过程/TabContainer/对当前操作抛出异常/AnimationPlayer" method="play" binds= ["Start"]]
|
||||
[connection signal="draw" from="HBoxContainer/注册过程/TabContainer/对当前操作抛出异常" to="HBoxContainer/注册过程/TabContainer/对当前操作抛出异常" method="Enable"]
|
||||
[connection signal="hidden" from="HBoxContainer/注册过程/TabContainer/对当前操作抛出异常" to="HBoxContainer/注册过程/TabContainer/对当前操作抛出异常" method="Disable"]
|
File diff suppressed because it is too large
Load Diff
@@ -1,133 +0,0 @@
|
||||
[gd_scene load_steps=31 format=3 uid="uid://0r070e44ohdv"]
|
||||
|
||||
[ext_resource type="Script" path="res://Mods/工业数据采集与分析应用分享/Scripts/IDIS_SearchService.cs" id="1_6wrj8"]
|
||||
[ext_resource type="Script" path="res://BITKit/Scripts/Resource/StringResource.cs" id="2_7vxuh"]
|
||||
[ext_resource type="PackedScene" uid="uid://dghty7km181mc" path="res://Mods/工业数据采集与分析应用分享/Templates/关联标识.tscn" id="3_stj0i"]
|
||||
[ext_resource type="PackedScene" uid="uid://42locm7i2wvy" path="res://Mods/工业数据采集与分析应用分享/Templates/标识引用模板.tscn" id="4_rgreg"]
|
||||
[ext_resource type="PackedScene" uid="uid://cccx8fmmfttth" path="res://Mods/工业数据采集与分析应用分享/Templates/标识数据模板.tscn" id="5_osv75"]
|
||||
[ext_resource type="Script" path="res://Mods/工业数据采集与分析应用分享/Scripts/IDIS_THService.cs" id="6_7cq43"]
|
||||
[ext_resource type="Script" path="res://Mods/工业数据采集与分析应用分享/Scripts/温湿度Reader.cs" id="7_tx46b"]
|
||||
[ext_resource type="Script" path="res://BITKit/Scripts/Builder/TemplateBuilder/TemplateBuilder.cs" id="8_pjjth"]
|
||||
[ext_resource type="Script" path="res://Mods/工业数据采集与分析应用分享/Scripts/Builder/IDIS_TemplateResource.cs" id="9_cr8hr"]
|
||||
[ext_resource type="Script" path="res://BITKit/Scripts/Builder/Form/FormBuilder.cs" id="10_l8xqp"]
|
||||
[ext_resource type="Script" path="res://Mods/工业数据采集与分析应用分享/Scripts/Builder/IDIS_TemplateWeaver.cs" id="11_iwse4"]
|
||||
[ext_resource type="Script" path="res://Mods/工业数据采集与分析应用分享/Scripts/Builder/IDIS_RegisterWeaver.cs" id="12_nhyfw"]
|
||||
[ext_resource type="Script" path="res://Mods/工业数据采集与分析应用分享/Scripts/Builder/IDIS_RegisterDB.cs" id="13_7qoua"]
|
||||
[ext_resource type="Script" path="res://Mods/工业数据采集与分析应用分享/Scripts/IDIS_AutoRegister.cs" id="14_ehrl5"]
|
||||
[ext_resource type="Resource" uid="uid://cgk1wmiqqedmi" path="res://Mods/工业数据采集与分析应用分享/Resource/自动标识模板/温湿度传感器/温湿度传感器.tres" id="15_nfip6"]
|
||||
[ext_resource type="Resource" uid="uid://b38onsp3c3jem" path="res://Mods/工业数据采集与分析应用分享/Resource/自动标识模板/温湿度/温度.tres" id="16_r5dig"]
|
||||
[ext_resource type="Resource" uid="uid://d3xam2no2uaas" path="res://Mods/工业数据采集与分析应用分享/Resource/自动标识模板/温湿度/湿度.tres" id="17_h4yly"]
|
||||
[ext_resource type="Script" path="res://Mods/工业数据采集与分析应用分享/Scripts/Temp/生成温湿度.cs" id="18_b1euy"]
|
||||
[ext_resource type="Script" path="res://BITKit/Scripts/Quest/QuestService.cs" id="19_xn641"]
|
||||
[ext_resource type="Script" path="res://BITKit/Scripts/ECS/Core/Entity.cs" id="20_pawcj"]
|
||||
[ext_resource type="Script" path="res://BITKit/Scripts/Quest/QuestComponent.cs" id="21_2b2ho"]
|
||||
[ext_resource type="Script" path="res://Mods/工业数据采集与分析应用分享/Scripts/Quest/TemplateCondition.cs" id="22_vdbrc"]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_0tkg4"]
|
||||
script = ExtResource("2_7vxuh")
|
||||
value = "Panel"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_gckd0"]
|
||||
script = ExtResource("9_cr8hr")
|
||||
|
||||
[sub_resource type="Resource" id="Resource_0cbl3"]
|
||||
script = ExtResource("9_cr8hr")
|
||||
|
||||
[sub_resource type="Resource" id="Resource_0ksfr"]
|
||||
script = ExtResource("11_iwse4")
|
||||
templateResource = SubResource("Resource_0cbl3")
|
||||
addFieldsButtonPath = NodePath("../../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识模板生成器/HBoxContainer/标识模板-body/VBoxContainer/ScrollContainer/VBoxContainer/add-button")
|
||||
templateBuilderPath = NodePath("..")
|
||||
templateNameEditPath = NodePath("../../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识模板生成器/HBoxContainer/标识模板-body/VBoxContainer/TemelateName/MarginContainer/HBoxContainer/templateName-edit")
|
||||
saveTemplateNameButtonPath = NodePath("../../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识模板生成器/HBoxContainer/标识模板-body/VBoxContainer/TemelateName/MarginContainer/HBoxContainer/save_name-button")
|
||||
deleteTemplateButtonPath = NodePath("../../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识模板生成器/HBoxContainer/标识模板-body/VBoxContainer/TemelateName/MarginContainer/HBoxContainer/deleteTemplate-button")
|
||||
|
||||
[sub_resource type="Resource" id="Resource_mdhxq"]
|
||||
script = ExtResource("9_cr8hr")
|
||||
|
||||
[sub_resource type="Resource" id="Resource_0enmn"]
|
||||
script = ExtResource("12_nhyfw")
|
||||
handleEditPath = NodePath("../../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识模板注册器/HBoxContainer/VBoxContainer2/VBoxContainer/PanelContainer2/MarginContainer/HBoxContainer/LineEdit")
|
||||
generateButtonPath = NodePath("../../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识模板注册器/HBoxContainer/VBoxContainer2/VBoxContainer/PanelContainer2/MarginContainer/HBoxContainer/Button")
|
||||
addReferenceButtonPath = NodePath("../../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识模板注册器/HBoxContainer/VBoxContainer2/VBoxContainer/ScrollContainer/VBoxContainer/add-button")
|
||||
referenceEditBuilderPath = NodePath("../../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识模板注册器/HBoxContainer/VBoxContainer2/VBoxContainer/ScrollContainer/VBoxContainer/Reference-Layout")
|
||||
templateBuilderPath = NodePath("..")
|
||||
|
||||
[sub_resource type="Resource" id="Resource_0ef5a"]
|
||||
script = ExtResource("13_7qoua")
|
||||
|
||||
[sub_resource type="Resource" id="Resource_c648p"]
|
||||
script = ExtResource("9_cr8hr")
|
||||
|
||||
[node name="标识注册与解析_弃用" type="Node"]
|
||||
|
||||
[node name="_deprecated" type="Node" parent="."]
|
||||
process_mode = 4
|
||||
|
||||
[node name="标识搜索服务" type="Node" parent="_deprecated"]
|
||||
script = ExtResource("1_6wrj8")
|
||||
searchButtonVariation = SubResource("Resource_0tkg4")
|
||||
valueTemplate = ExtResource("3_stj0i")
|
||||
referenceTemplate = ExtResource("4_rgreg")
|
||||
categoryTemplate = ExtResource("5_osv75")
|
||||
searchCandidateContainer = null
|
||||
searchEditPadding = null
|
||||
handleLabel = null
|
||||
createTimeLabel = null
|
||||
updateTimeLabel = null
|
||||
valueContainer = null
|
||||
referenceContainer = null
|
||||
|
||||
[node name="温湿度标识更新服务" type="Node" parent="_deprecated"]
|
||||
script = ExtResource("6_7cq43")
|
||||
currentUpdateMode = 3
|
||||
|
||||
[node name="温湿度传感器Reader" type="Node" parent="_deprecated"]
|
||||
script = ExtResource("7_tx46b")
|
||||
interval = 1000
|
||||
ip = null
|
||||
port = null
|
||||
humidity = null
|
||||
temperature = null
|
||||
|
||||
[node name="标识模板生成器" type="Node" parent="_deprecated"]
|
||||
script = ExtResource("8_pjjth")
|
||||
template = SubResource("Resource_gckd0")
|
||||
|
||||
[node name="FormBuilder" type="Node" parent="_deprecated/标识模板生成器"]
|
||||
script = ExtResource("10_l8xqp")
|
||||
formWeaver = SubResource("Resource_0ksfr")
|
||||
|
||||
[node name="标识模板注册器" type="Node" parent="_deprecated"]
|
||||
script = ExtResource("8_pjjth")
|
||||
template = SubResource("Resource_mdhxq")
|
||||
|
||||
[node name="FormBuilder" type="Node" parent="_deprecated/标识模板注册器"]
|
||||
script = ExtResource("10_l8xqp")
|
||||
formWeaver = SubResource("Resource_0enmn")
|
||||
formDBProvider = SubResource("Resource_0ef5a")
|
||||
|
||||
[node name="自动注册标识" type="Node" parent="_deprecated"]
|
||||
script = ExtResource("14_ehrl5")
|
||||
regResources = Array[Object]([ExtResource("15_nfip6"), ExtResource("16_r5dig"), ExtResource("17_h4yly")])
|
||||
|
||||
[node name="温湿度数据生成" type="Node" parent="_deprecated"]
|
||||
script = ExtResource("18_b1euy")
|
||||
handle = null
|
||||
count = 256
|
||||
|
||||
[node name="模拟生产任务服务" type="Node" parent="_deprecated"]
|
||||
script = ExtResource("19_xn641")
|
||||
|
||||
[node name="注册订单信息" type="Node" parent="_deprecated/模拟生产任务服务"]
|
||||
script = ExtResource("20_pawcj")
|
||||
|
||||
[node name="Quest" type="Node" parent="_deprecated/模拟生产任务服务/注册订单信息"]
|
||||
script = ExtResource("21_2b2ho")
|
||||
QuestName = "注册订单信息"
|
||||
QuestCompleted = null
|
||||
|
||||
[node name="Condition" type="Node" parent="_deprecated/模拟生产任务服务/注册订单信息"]
|
||||
script = ExtResource("22_vdbrc")
|
||||
templateResource = SubResource("Resource_c648p")
|
||||
templateName = "订单信息"
|
Reference in New Issue
Block a user