Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 private void Start()
 {
     _laserBoxCollider = transform.GetComponent <LaserBoxCollider>();
     Debug.AssertFormat(_laserBoxCollider != null,
                        "Caught attempt to use LaserRaycaster without sibling BoxCollider component");
 }