private void Start() { // Add sibling components _laserRaycaster = gameObject.AddComponent <LaserRaycaster>(); _laserBoxCollider = gameObject.AddComponent <LaserBoxCollider>(); // Get required components from parent _colorTextureMapping = transform.GetComponentInParent <ColorTextureMapping>(); _gameObjectColor = transform.GetComponentInParent <GameObjectColor>(); Debug.AssertFormat(_colorTextureMapping, "Lasers must have a ColorTextureMapping in their parent" + "so they can paint themselves the correct color."); Debug.AssertFormat(_gameObjectColor, "Lasers must have a GameObjectColor in their parent" + "so they can paint themselves the correct color."); // Setup LineRenderer _lineRenderer = gameObject.AddComponent <LineRenderer>(); _lineRenderer.material = _colorTextureMapping.GetTexture(_gameObjectColor.Value); _lineRenderer.startWidth = 0.1f; _lineRenderer.endWidth = 0.1f; // Setup Color Information _lineRenderer.shadowCastingMode = ShadowCastingMode.On; _laserPseudoIndefiniteEnd = transform.position + (transform.forward * MaxDistance); _lineRenderer.SetPosition(0, transform.position); _lineRenderer.SetPosition(1, _laserPseudoIndefiniteEnd); }
private void Start() { _laserBoxCollider = transform.GetComponent <LaserBoxCollider>(); Debug.AssertFormat(_laserBoxCollider != null, "Caught attempt to use LaserRaycaster without sibling BoxCollider component"); }