Пример #1
0
    public void OnDrawGizmos()
    {
        if (upgraded)
        {
            return;
        }
        if (transform.localScale != Vector3.one)
        {
            transform.localScale = Vector3.one;
        }
        if (transform.parent.localScale != Vector3.one)
        {
            transform.parent.localScale = Vector3.one;
        }
        gameObject.name = "Line";
        if (Application.isPlaying)
        {
            return;
        }
        LineRenderer lr = GetComponent <LineRenderer>();

        if (_line == null)
        {
            _line = transform.GetComponent <SimpleLineRenderer>();
        }
        if (_line == null)
        {
            _line = gameObject.AddComponent <SimpleLineRenderer>();
        }
        cacheMeshRenderer = GetComponent <MeshRenderer>();
        if (cacheMeshRenderer == null)
        {
            cacheMeshRenderer = gameObject.AddComponent <MeshRenderer>();
        }
        MeshFilter mf = GetComponent <MeshFilter>();

        if (mf == null)
        {
            mf = gameObject.AddComponent <MeshFilter>();
        }
        if (startScaleMultiplier == -1111.0f)
        {
            startScaleMultiplier = GetComponent <LineRenderer>().startWidth;
        }
        if (endScaleMultiplier == -1111.0f)
        {
            endScaleMultiplier = GetComponent <LineRenderer>().endWidth;
        }
        if (lr)
        {
            lineMaterial = lr.sharedMaterial;
            startColor   = lr.startColor;
            endColor     = lr.endColor;
            DestroyImmediate(lr);
        }
        upgraded = true;
        EditorUtility.SetDirty(this);
    }
Пример #2
0
    public void Start()
    {
#if UNITY_EDITOR
        if (!Application.isPlaying)
        {
            return;
        }
#endif
        cacheMeshRenderer = GetComponent <MeshRenderer>();
        if (cacheMeshRenderer.sharedMaterial == null)
        {
            cacheMeshRenderer.sharedMaterial = Instantiate(lineMaterial);
        }
        if (_line == null)
        {
            _line = transform.GetComponent <SimpleLineRenderer>();
        }
        if (_ps == null)
        {
            _ps = transform.GetComponent <ParticleSystem>();
        }
        if (_ps == null)
        {
            _ps = transform.parent.GetComponent <ParticleSystem>();
        }
        if (_light != null)
        {
            _saveLightIntensity = _light.intensity;
        }
        _randomNumber = UnityEngine.Random.value;
        _randomInt    = (int)(_randomNumber * 10);
        _lightFlicker.postWrapMode = WrapMode.Loop;
        startScale.postWrapMode    = WrapMode.Loop;
        endScale.postWrapMode      = WrapMode.Loop;
        if (_randomGradientStart)
        {
            _gradientCounter = _randomNumber;
        }
    }
Пример #3
0
 void Start()
 {
     pathModel    = GetComponent <PathModel>();
     lineRenderer = GetComponent <SimpleLineRenderer>();
     renderer     = GetComponent <Renderer>();
 }
Пример #4
0
 void Awake()
 {
     instance = this;
 }