Files
Fishing2/Assets/Scripts/Fishing/New/View/FishingLine/Renderer/FishingLineRenderer.cs
2026-04-14 18:07:22 +08:00

39 lines
1.2 KiB
C#

using System;
using System.Collections.Generic;
using UnityEngine;
namespace NBF
{
public class FishingLineRenderer : MonoBehaviour
{
[Header("References")] [SerializeField]
private FishingLineSolver solver;
private List<FishingNodeRope> _ropes = new List<FishingNodeRope>();
private Transform _ropeRoot;
private void Awake()
{
solver = GetComponent<FishingLineSolver>();
var ropeRoot = new GameObject("RopeRenderer");
ropeRoot.transform.SetParent(transform);
_ropeRoot = ropeRoot.transform;
}
private void Start()
{
foreach (var node in solver.LogicalNodes)
{
if (node.Type == FishingLineNode.NodeType.Start) continue;
var ropeObj = new GameObject($"Rope_{node.Type}");
ropeObj.transform.SetParent(_ropeRoot);
var rope = ropeObj.AddComponent<FishingNodeRope>();
rope.startAnchor = node.Joint.connectedBody;
rope.endAnchor = node.body;
rope.SetLength(0.5f);
_ropes.Add(rope);
}
}
}
}