39 lines
1.2 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|
|
} |