Ejemplo n.º 1
0
    //set canvas, alpha and the time that the operation will finish
    public void ConfigureFade(CanvasGroup canvasGroup)
    {
        this.canvasGroup = canvasGroup;
        fadeDone         = false;

        switch (fadeOption)
        {
        case FadeOption.FadeIn: fade = FadeIn; canvasGroup.alpha = 0; break;

        default: fade = FadeOut; canvasGroup.alpha = 1; break;
        }

        endTime = Time.time + delay;         //update the delay to the end time
    }
Ejemplo n.º 2
0
        private void FadeAll(FadeFunction fadeFunction, Action fadeCallback)
        {
            MyContract.RequireFieldNotNull(CoroutineHost, "CoroutineHost");
            HashSet <int> ObjectsToFade    = new HashSet <int>();
            HashSet <int> FadedObjectsFlag = new HashSet <int>();

            foreach (var entry in RegisteredObjects)
            {
                Camera      Cam = entry.Value;
                int         Key = entry.Key;
                CameraFader FadeComponent
                    = Cam.gameObject.GetComponent <CameraFader>();

                if (FadeComponent != null)
                {
                    ObjectsToFade.Add(Key);
                    Action PartialFadeCallback = delegate()
                    {
                        FadedObjectsFlag.Add(Key);
                    };
                    fadeFunction(FadeComponent, PartialFadeCallback);
                }
                else
                {
                    //Debug.Log("Camera "
                    //        + Cam.gameObject.name
                    //        + " has no Camera Fader - Skipping");
                }
            }
            if (fadeCallback != null)
            {
                CoroutineHost.StartCoroutine(
                    FadeCallbackCoroutine(
                        ObjectsToFade,
                        FadedObjectsFlag,
                        fadeCallback
                        )
                    );
            }
        }