Ejemplo n.º 1
0
        private void PlayerImpl()
        {
            GenrateMaterialInstance();

            //把材质设置进动画里
            if (FadeInOutMaterialColor)
            {
                //如果运行模式不是外部指定的
                if (FadeInOutMaterialColor.RunMode == EffectRunMode.OutSiedePointed)
                {
                    FadeInOutMaterialColor.SetMaterialInstance(GetMaterialInstance());
                    FadeInOutMaterialColor.Play();
                }
            }

            if (FadeInOutMaterialFloat)
            {
                //如果运行模式不是外部指定的
                if (FadeInOutMaterialFloat.RunMode == EffectRunMode.OutSiedePointed)
                {
                    FadeInOutMaterialFloat.SetMaterialInstance(GetMaterialInstance());
                    FadeInOutMaterialFloat.Play();
                }
            }

            if (UVTextureAnimator)
            {
                //如果运行模式不是外部指定的
                if (UVTextureAnimator.RunMode == EffectRunMode.OutSiedePointed)
                {
                    UVTextureAnimator.SetMaterialInstance(GetMaterialInstance());
                    UVTextureAnimator.Play();
                }
            }

            if (UVScroll)
            {
                //如果运行模式不是外部指定的
                if (UVScroll.RunMode == EffectRunMode.OutSiedePointed)
                {
                    UVScroll.SetMaterialInstance(GetMaterialInstance());
                    UVScroll.Play();
                }
            }


            if (GradientColor)
            {
                //如果运行模式不是外部指定的
                if (GradientColor.RunMode == EffectRunMode.OutSiedePointed)
                {
                    GradientColor.SetMaterialInstance(GetMaterialInstance());
                    GradientColor.Play();
                }
            }
            if (Duartion > 0.03f)
            {
                GameUtil.StartCoroutineHelper(this, WaitForFinish());
            }
        }
Ejemplo n.º 2
0
        void PlayMaterialControl()
        {
            List <Material> mats = new List <Material>();

            mats.Clear();
            if (useMultiColor)
            {
                foreach (LineRenderer line in m_subLineRenders)
                {
                    mats.AddRange(line.materials);
                }
                UVScroll.SetMaterialInstance(mats);
            }
            else
            {
                mats.AddRange(m_LineRender.materials);
            }

            //把材质设置进动画里
            if (FadeInOutMaterialColor)
            {
                //如果运行模式不是外部指定的
                if (FadeInOutMaterialColor.RunMode == EffectRunMode.OutSiedePointed)
                {
                    FadeInOutMaterialColor.SetMaterialInstance(mats);
                    FadeInOutMaterialColor.Play();
                }
            }

            if (FadeInOutMaterialFloat)
            {
                //如果运行模式不是外部指定的
                if (FadeInOutMaterialFloat.RunMode == EffectRunMode.OutSiedePointed)
                {
                    FadeInOutMaterialFloat.SetMaterialInstance(mats);
                    FadeInOutMaterialFloat.Play();
                }
            }

            if (UVTextureAnimator)
            {
                //如果运行模式不是外部指定的
                if (UVTextureAnimator.RunMode == EffectRunMode.OutSiedePointed)
                {
                    UVTextureAnimator.SetMaterialInstance(mats);
                    UVTextureAnimator.Play();
                }
            }

            if (UVScroll)
            {
                //如果运行模式不是外部指定的
                if (UVScroll.RunMode == EffectRunMode.OutSiedePointed)
                {
                    UVScroll.SetMaterialInstance(mats);
                    UVScroll.Play();
                }
            }
        }
Ejemplo n.º 3
0
        void PlayMaterialControl()
        {
            //把材质设置进动画里
            if (FadeInOutMaterialColor)
            {
                //如果运行模式不是外部指定的
                if (FadeInOutMaterialColor.RunMode == EffectRunMode.OutSiedePointed)
                {
                    FadeInOutMaterialColor.SetMaterialInstance(GenerateMaterialInstance());
                    FadeInOutMaterialColor.Play();
                }
            }

            if (FadeInOutMaterialFloat)
            {
                //如果运行模式不是外部指定的
                if (FadeInOutMaterialFloat.RunMode == EffectRunMode.OutSiedePointed)
                {
                    FadeInOutMaterialFloat.SetMaterialInstance(GenerateMaterialInstance());
                    FadeInOutMaterialFloat.Play();
                }
            }

            if (UVTextureAnimator)
            {
                //如果运行模式不是外部指定的
                if (UVTextureAnimator.RunMode == EffectRunMode.OutSiedePointed)
                {
                    UVTextureAnimator.SetMaterialInstance(GenerateMaterialInstance());
                    UVTextureAnimator.Play();
                }
            }

            if (UVScroll)
            {
                //如果运行模式不是外部指定的
                if (UVScroll.RunMode == EffectRunMode.OutSiedePointed)
                {
                    UVScroll.SetMaterialInstance(GenerateMaterialInstance());
                    UVScroll.Play();
                }
            }

            if (GradientColor)
            {
                //如果运行模式不是外部指定的
                if (GradientColor.RunMode == EffectRunMode.OutSiedePointed)
                {
                    GradientColor.SetMaterialInstance(GenerateMaterialInstance());
                    GradientColor.Play();
                }
            }
        }
Ejemplo n.º 4
0
        public override void OnInspectorGUI()
        {
            GUILayout.TextField("所有跟时间有关的变量小于0.03秒,等同于无效!");
            pa.ColorName = EditorGUILayout.TextField("属性名:", pa.ColorName);

            pa.Loop      = EditorGUILayout.Toggle("循环:", pa.Loop);
            pa.FadeAlpha = EditorGUILayout.Toggle("alpha:", pa.FadeAlpha);
            pa.FadeColor = EditorGUILayout.Toggle("颜色:", pa.FadeColor);

            GUI.enabled = !EditorApplication.isPlaying;
            pa.RunMode  = (EffectRunMode)EditorGUILayout.EnumPopup("运行方式:", pa.RunMode);
            if (pa.RunMode == EffectRunMode.Self)
            {
                pa.UseSharedMaterial = EditorGUILayout.Toggle("使用共享材质:", pa.UseSharedMaterial);
            }
            pa.valueMode = (ValueMode)EditorGUILayout.EnumPopup("运算方式:", pa.valueMode);
            GUI.enabled  = true;

            if (pa.valueMode == ValueMode.Constant)
            {
                ConstantUI();
            }
            else if (pa.valueMode == ValueMode.Curve)
            {
                CurveUI();
            }

            if (GUILayout.Button("Play"))
            {
                pa.Play();
            }
            if (GUILayout.Button("Stop"))
            {
                pa.Stop();
            }
        }