Ejemplo n.º 1
0
        public void Awake()
        {
            rootTransform = GetComponent <Transform>();
            rootAnimation = GetComponent <RemotePlayerAnimation>();

            warpEffect         = UnityEngine.Object.Instantiate <VFWarpEffect>(Configs.builtin.warpEffectPrefab, GetComponent <Transform>());
            warpEffect.enabled = false;

            tunnelMat  = (Material)AccessTools.Field(typeof(VFWarpEffect), "tunnelMat").GetValue(warpEffect);
            distortMat = (Material)AccessTools.Field(typeof(VFWarpEffect), "distortMat").GetValue(warpEffect);
            astrosMat  = (Material)AccessTools.Field(typeof(VFWarpEffect), "astrosMat").GetValue(warpEffect);
            nebulasMat = (Material)AccessTools.Field(typeof(VFWarpEffect), "nebulasMat").GetValue(warpEffect);

            astrosParticles  = warpEffect.astrosParticles;
            nebulasParticles = warpEffect.nebulasParticles;

            tunnelRenderer  = warpEffect.tunnelRenderer;
            distortRenderer = warpEffect.distortRenderer;

            astrosRenderer  = warpEffect.astrosRenderer;
            nebulasRenderer = warpEffect.nebulasRenderer;

            tunnelMul  = (float)AccessTools.Field(typeof(VFWarpEffect), "tunnelMul").GetValue(warpEffect);
            distortMul = (float)AccessTools.Field(typeof(VFWarpEffect), "distortMul").GetValue(warpEffect);
            astrosMul  = (float)AccessTools.Field(typeof(VFWarpEffect), "astrosMul").GetValue(warpEffect);
            nebulasMul = (float)AccessTools.Field(typeof(VFWarpEffect), "nebulasMul").GetValue(warpEffect);

            intensByState_astro = warpEffect.intensByState_astro;
            intensByState       = warpEffect.intensByState;

            warpRotations = new Vector4[24];

            tunnelMat  = UnityEngine.Object.Instantiate <Material>(tunnelRenderer.sharedMaterial);
            distortMat = UnityEngine.Object.Instantiate <Material>(distortRenderer.sharedMaterial);
            astrosMat  = UnityEngine.Object.Instantiate <Material>(astrosRenderer.sharedMaterial);
            nebulasMat = UnityEngine.Object.Instantiate <Material>(nebulasRenderer.sharedMaterial);

            tunnelRenderer.sharedMaterial  = tunnelMat;
            distortRenderer.sharedMaterial = distortMat;
            astrosRenderer.sharedMaterial  = astrosMat;
            nebulasRenderer.sharedMaterial = nebulasMat;

            tunnelMul  = tunnelMat.GetFloat("_Multiplier");
            distortMul = distortMat.GetFloat("_DistortionStrength");
            astrosMul  = astrosMat.GetFloat("_Multiplier");
            nebulasMul = nebulasMat.GetFloat("_Multiplier");

            for (int i = 0; i < warpRotations.Length; i++)
            {
                warpRotations[i] = new Vector4(0f, 0f, 0f, 1f);
            }

            ToggleEffect(false);
        }
Ejemplo n.º 2
0
        public void Awake()
        {
            rootTransform = GetComponent <Transform>();
            rootAnimation = GetComponent <RemotePlayerAnimation>();

            warpEffect         = UnityEngine.Object.Instantiate <VFWarpEffect>(Configs.builtin.warpEffectPrefab, GetComponent <Transform>());
            warpEffect.enabled = false;

            tunnelMat  = (Material)typeof(VFWarpEffect).GetField("tunnelMat", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(warpEffect);
            distortMat = (Material)typeof(VFWarpEffect).GetField("distortMat", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(warpEffect);
            astrosMat  = (Material)typeof(VFWarpEffect).GetField("astrosMat", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(warpEffect);
            nebulasMat = (Material)typeof(VFWarpEffect).GetField("nebulasMat", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(warpEffect);

            astrosParticles  = (ParticleSystem)typeof(VFWarpEffect).GetField("astrosParticles", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(warpEffect);
            nebulasParticles = (ParticleSystem)typeof(VFWarpEffect).GetField("nebulasParticles", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(warpEffect);

            tunnelRenderer  = (MeshRenderer)typeof(VFWarpEffect).GetField("tunnelRenderer", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(warpEffect);
            distortRenderer = (MeshRenderer)typeof(VFWarpEffect).GetField("distortRenderer", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(warpEffect);

            astrosRenderer  = (ParticleSystemRenderer)typeof(VFWarpEffect).GetField("astrosRenderer", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(warpEffect);
            nebulasRenderer = (ParticleSystemRenderer)typeof(VFWarpEffect).GetField("nebulasRenderer", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(warpEffect);

            tunnelMul  = (float)typeof(VFWarpEffect).GetField("tunnelMul", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(warpEffect);
            distortMul = (float)typeof(VFWarpEffect).GetField("distortMul", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(warpEffect);
            astrosMul  = (float)typeof(VFWarpEffect).GetField("astrosMul", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(warpEffect);
            nebulasMul = (float)typeof(VFWarpEffect).GetField("nebulasMul", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(warpEffect);

            intensByState_astro = (AnimationCurve)typeof(VFWarpEffect).GetField("intensByState_astro", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(warpEffect);
            intensByState       = (AnimationCurve)typeof(VFWarpEffect).GetField("intensByState", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(warpEffect);

            warpRotations = new Vector4[24];

            tunnelMat  = UnityEngine.Object.Instantiate <Material>(tunnelRenderer.sharedMaterial);
            distortMat = UnityEngine.Object.Instantiate <Material>(distortRenderer.sharedMaterial);
            astrosMat  = UnityEngine.Object.Instantiate <Material>(astrosRenderer.sharedMaterial);
            nebulasMat = UnityEngine.Object.Instantiate <Material>(nebulasRenderer.sharedMaterial);

            tunnelRenderer.sharedMaterial  = tunnelMat;
            distortRenderer.sharedMaterial = distortMat;
            astrosRenderer.sharedMaterial  = astrosMat;
            nebulasRenderer.sharedMaterial = nebulasMat;

            tunnelMul  = tunnelMat.GetFloat("_Multiplier");
            distortMul = distortMat.GetFloat("_DistortionStrength");
            astrosMul  = astrosMat.GetFloat("_Multiplier");
            nebulasMul = nebulasMat.GetFloat("_Multiplier");

            for (int i = 0; i < warpRotations.Length; i++)
            {
                warpRotations[i] = new Vector4(0f, 0f, 0f, 1f);
            }

            toggleEffect(false);
        }