Esempio n. 1
0
        //播放事件
        protected override void PlayEvent(AnimationEffectManage effectmanage)
        {
            _ghostRenderers.Clear();

            foreach (Renderer renderer in effectmanage.GetComponentsInChildren <Renderer>())
            {
                GhostRenderer ghostRenderer = renderer.GetComponent <GhostRenderer>();
                if (ghostRenderer != null)
                {
                    if (!ghostRenderer.enabled)
                    {
                        ghostRenderer.enabled = true;
                    }
                }
                else
                {
                    ghostRenderer = renderer.gameObject.AddComponent <GhostRenderer>();
                }
                _ghostRenderers.Add(ghostRenderer);

                SyncGhostParamaters(ghostRenderer);

                ghostRenderer.GenerateEnabled  = true;
                ghostRenderer.GenerateFinished = false;
            }

            _startCreatTime = Time.time;
        }
Esempio n. 2
0
        void OnEnable()
        {
            _ghostRenderers.Clear();

            foreach (Renderer renderer in this.gameObject.GetComponentsInChildren <Renderer>())
            {
                GhostRenderer ghostRenderer = renderer.GetComponent <GhostRenderer>();
                if (ghostRenderer != null)
                {
                    if (!ghostRenderer.enabled)
                    {
                        ghostRenderer.enabled = true;
                    }
                }
                else
                {
                    ghostRenderer = renderer.gameObject.AddComponent <GhostRenderer>();
                }
                _ghostRenderers.Add(ghostRenderer);

                SyncGhostParamaters(ghostRenderer);

                ghostRenderer.GenerateEnabled  = true;
                ghostRenderer.GenerateFinished = false;
            }

            _startCreatTime = Time.time;
        }
Esempio n. 3
0
 void SyncGhostParamaters(GhostRenderer ghostRenderer)
 {
     ghostRenderer._intervalTime = _intervalTime;
     ghostRenderer._lifeTime     = _lifeTime;
     ghostRenderer._minDistance  = _minDistance;
     ghostRenderer._material     = _material;
     ghostRenderer._colorKey     = _colorKey;
     //ghostRenderer._rimColor = _rimColor;
     //ghostRenderer._srcBlendMode = _srcBlendMode;
     //ghostRenderer._dstBlendMode = _dstBlendMode;
 }
Esempio n. 4
0
 void OnDisable()
 {
     for (int i = 0; i < _ghostRenderers.Count; i++)
     {
         GhostRenderer ghostRenderer = _ghostRenderers[i];
         if (ghostRenderer != null)
         {
             ghostRenderer.enabled = false;
         }
     }
     _ghostRenderers.Clear();
 }
Esempio n. 5
0
        void Update()
        {
            for (int i = 0; i < _ghostRenderers.Count; i++)
            {
                GhostRenderer ghostRenderer = _ghostRenderers[i];
                if (ghostRenderer != null)
                {
#if UNITY_EDITOR
                    SyncGhostParamaters(ghostRenderer);
#endif
                    ghostRenderer.GenerateEnabled = Time.time < _startCreatTime + _durationTime;
                    if (ghostRenderer.GenerateFinished && _autoDestroy)
                    {
                        Destroy(gameObject);
                    }
                }
            }
        }