public void AddPathFeature(PathFeature pathFeaturePrefab) { if (_pathFeature) { DestroyImmediate(_pathFeature.gameObject); _pathFeature = null; } PathFeature pathFeature = PrefabUtility.InstantiatePrefab(pathFeaturePrefab, transform) as PathFeature; _pathFeature = pathFeature; pathFeature.SetPosition(this); }
public void Update() { #if UNITY_EDITOR //_textYOffset = ((GameObject)PrefabUtility.GetCorrespondingObjectFromSource(gameObject)).transform.localPosition.y; if (_lineRenderer && _node1 && _node2) { _lineRenderer.positionCount = 2; _lineRenderer.SetPositions(new Vector3[] { _node1._rectTransform.anchoredPosition, _node2._rectTransform.anchoredPosition }); Vector2 midPoint = ((_lineRenderer.GetPosition(0) + _lineRenderer.GetPosition(1)) / 2f); _movementPointText.transform.position = midPoint + new Vector2(0f, _textYOffset); _movementPointText.text = $"{_movementPointCost}"; } // Position Path Feature if (_pathFeature) { _pathFeature.SetPosition(this); _nodePathVisuals.SetVisualStateForFeature(_pathFeature); } // #endif }