iFactory.Godot/Artists/Scripts/Factory/PathRenderer.cs

30 lines
684 B
C#
Raw Normal View History

2023-11-02 20:58:36 +08:00
using Godot;
using System;
using System.Collections.Generic;
using BITKit;
using Newtonsoft.Json.Linq;
namespace BITFactory;
public partial class PathRenderer : EntityBehaviour
{
[Export] private DeviceValueComponent valueComponent;
[Export] private Node3D root;
2023-11-30 00:27:34 +08:00
[Export] private Path3D path3D;
2023-11-02 20:58:36 +08:00
public override void OnAwake()
{
base.OnAwake();
valueComponent.OnValueChanged += OnValueChanged;
}
private void OnValueChanged(string arg1, DateTime arg2)
{
2023-11-30 00:27:34 +08:00
path3D.Curve.ClearPoints();
2023-11-02 20:58:36 +08:00
foreach (var pair in JArray.Parse(arg1))
{
var x = pair["X"]!.ToObject<float>()!;
var y = pair["Y"]!.ToObject<float>()!;
2023-11-30 00:27:34 +08:00
path3D.Curve.AddPoint(new Vector3(x,0,y));
2023-11-02 20:58:36 +08:00
}
}
}