Beispiel #1
0
 /// <summary>
 /// Active Drunk FX with specific Drunk FX using Drunk_Preset. By default, the timer apparition duration is set to 1 second.
 /// </summary>
 /// <param name="Preset">Use a specific Drunk using Drunk_Preset.</param>
 public static void Drunk_ON(Drunk_Preset Preset)
 {
     if (CurrentCamera == null)
     {
         CurrentCamera = Camera.main;
     }
     if (CamDrunk != null)
     {
         return;
     }
     if (Drunk_Switch)
     {
         return;
     }
     CamDrunk = CurrentCamera.gameObject.AddComponent <CameraPlay_Drunk>() as CameraPlay_Drunk;
     if (CamDrunk.CamTurnOff)
     {
         return;
     }
     Drunk_Switch      = true;
     CamDrunk.Duration = 1;
     CamDrunk.Preset   = (CameraPlay_Drunk.Drunk_Preset)Preset;
 }
Beispiel #2
0
    // Update is called once per frame
    void Update()
    {
#if UNITY_EDITOR
        if (Application.isPlaying != true)
        {
            SCShader = Shader.Find("CameraPlay/Drunk");
        }
#endif
        if (PresetMemo != Preset)
        {
            PresetMemo = Preset;

            float[] P1 = new float[10] {
                1f, 1f, 0f, 0f, 1f, 1f, 0f, 0f, 0f, 0f
            };                                                                     // Default
            float[] P2 = new float[10] {
                1f, 1f, 0f, 0.3f, 1f, 1.67f, 0f, 0f, 0f, 0f
            };                                                                          // Drunk A lot
            float[] P3 = new float[10] {
                1.74f, 0.65f, 0.6f, 0.15f, 1f, -0.65f, -0.34f, 0f, 0f, 0f
            };                                                                                        // Drunk Volka
            float[] P4 = new float[10] {
                1.79f, 1f, 0.125f, 0.35f, 1f, 1.38f, -0.15f, -0.25f, 0.0f, -0.345f
            };                                                                                                 // Drunk Poison
            float[] P5 = new float[10] {
                1.08f, 1f, 0f, 0.35f, 1f, 1.38f, -0.14f, -0.214f, -0.102f, 0.99f
            };                                                                                               // Drunk Yellow
            float[] P6 = new float[10] {
                1.08f, 0.104f, 0f, 0.25f, 1f, -2f, 0.33f, -0.326f, -0.195f, -0.111f
            };                                                                                                  // Drunk Dark
            float[] P7 = new float[10] {
                2.02f, 0.104f, 0.103f, 0.314f, 1f, 1.75f, 0.6f, -0.186f, 0.215f, 0.44f
            };                                                                                                     // Drunk Cold
            float[] P8 = new float[10] {
                0.9f, 0.5f, 0.25f, 0.4f, 1f, 1.75f, 0.5f, 0.375f, 0.100f, -1f
            };                                                                                            // Drunk Burn
            float[] P9 = new float[10] {
                1.41f, 0.33f, 0.155f, 0.1f, 1f, 1.35f, 1.5f, 0.038f, 0f, 0f
            };                                                                                          // Drunk Blood
            float[] P10 = new float[10] {
                0.52f, 1f, 0.272f, 1f, 1f, 2f, 0.5f, 0.039f, 0.2f, 0f
            };                                                                                     // Drunk To Much



            float[] PR = new float[10];
            if (Preset == Drunk_Preset.Default)
            {
                PR = P1;
            }
            if (Preset == Drunk_Preset.Drunk_A_Lot)
            {
                PR = P2;
            }
            if (Preset == Drunk_Preset.Drunk_Vodka)
            {
                PR = P3;
            }
            if (Preset == Drunk_Preset.Drunk_Poison)
            {
                PR = P4;
            }
            if (Preset == Drunk_Preset.Drunk_Yellow)
            {
                PR = P5;
            }
            if (Preset == Drunk_Preset.Drunk_Dark)
            {
                PR = P6;
            }
            if (Preset == Drunk_Preset.Drunk_Cold)
            {
                PR = P7;
            }
            if (Preset == Drunk_Preset.Drunk_Burn)
            {
                PR = P8;
            }
            if (Preset == Drunk_Preset.Drunk_Blood)
            {
                PR = P9;
            }
            if (Preset == Drunk_Preset.Drunk_To_Much)
            {
                PR = P10;
            }

            Speed           = PR[0];
            Wavy            = PR[1];
            Distortion      = PR[2];
            DistortionWave  = PR[3];
            Fade            = PR[4];
            ColoredSaturate = PR[5];
            ColoredChange   = PR[6];
            ChangeRed       = PR[7];
            ChangeGreen     = PR[8];
            ChangeBlue      = PR[9];
        }

        if (CamTurnOff == false)
        {
            Timer += Time.deltaTime * (1 / Duration);
            if (Timer > 1f)
            {
                Timer = 1;
            }
            flashy = Timer;
        }

        if (CamTurnOff)
        {
            Timer -= Time.deltaTime * (1 / Duration);
            flashy = Timer;
            if (Timer < 0)
            {
                CameraPlay.Drunk_Switch = false;
                Object.Destroy(this);
            }
        }
    }
Beispiel #3
0
 /// <summary>
 /// 醉酒效果
 /// </summary>
 /// <param name="Preset"></param>
 /// <param name="time"></param>
 public void Drunk_ON(Drunk_Preset Preset = Drunk_Preset.Default, float time = 1.0f)
 {
     CameraPlay.Drunk_ON(Preset, time);
 }