/// <summary>
        ///
        /// </summary>
        /// <param name="path"></param>
        private void LoadDataFromWWW(string path)
        {
            RequestStartCoroutineVO requestStartCoroutineVO = new RequestStartCoroutineVO();

            requestStartCoroutineVO.coroutine = DoLoadDataFromWWW(path);
            SendNotification(CoreNote.REQUEST_START_COROUTINE, requestStartCoroutineVO);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Execute the specified notification.
        /// </summary>
        /// <param name="notification">Notification.</param>
        public override void Execute(INotification notification)
        {
            DebugLogger.Log("CoreRequestBlackoutCommand::Execute");

            RequestBlackoutVO requestBlackoutVO = notification.Body as RequestBlackoutVO;

            // Get the data proxy to check blackoutstatus
            coreDataProxy = Facade.RetrieveProxy(CoreDataProxy.NAME) as CoreDataProxy;

            if (coreDataProxy.BlackoutStatus != BlackoutStatus.NONE)
            {
                return;
            }

            // First see if blackout canvas already exists in scene
            if (!GameObject.Find("BlackoutCanvas"))
            {
                // Create a canvas to fade to black
                GameObject fadeCanvas = new GameObject("BlackoutCanvas");
                GameObject.DontDestroyOnLoad(fadeCanvas);
                fadeCanvas.AddComponent <Canvas>().renderMode = RenderMode.ScreenSpaceOverlay;
                canvasGroup = fadeCanvas.AddComponent <CanvasGroup>();

                // Create an image component as child of fadeCanvas
                GameObject image = new GameObject("Image");
                image.transform.SetParent(fadeCanvas.transform);
                Image imageComponent = image.AddComponent <Image>();
                imageComponent.color = Color.black;
                RectTransform rectTransform = image.GetComponent <RectTransform>();
                rectTransform.anchorMin = new Vector2(0, 0);
                rectTransform.anchorMax = new Vector2(1, 1);
                rectTransform.offsetMin = new Vector2(0, 0);
                rectTransform.offsetMax = new Vector2(0, 0);
            }
            else
            {
                canvasGroup = GameObject.Find("BlackoutCanvas").GetComponent <CanvasGroup>();
            }

            // Request a coroutine to fade in blackout canvas
            RequestStartCoroutineVO requestStartCoroutineVO = new RequestStartCoroutineVO();

            // Check fade direction
            if (requestBlackoutVO.fadeDirection == FadeDirection.IN)
            {
                coreDataProxy.BlackoutStatus = BlackoutStatus.IN;

                requestStartCoroutineVO.coroutine = DoFadeIn(requestBlackoutVO.delay, requestBlackoutVO.callback, requestBlackoutVO.auto);
            }
            else
            {
                coreDataProxy.BlackoutStatus = BlackoutStatus.OUT;

                SendNotification(CoreNote.REQUEST_STOP_COROUTINE, DoFadeIn());

                requestStartCoroutineVO.coroutine = DoFadeOut(requestBlackoutVO.delay, requestBlackoutVO.callback);
            }

            SendNotification(CoreNote.REQUEST_START_COROUTINE, requestStartCoroutineVO);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="path"></param>
        /// <param name="dataType"></param>
        private void LoadDataFromWWW(string path, Type dataType)
        {
            if (dataType == null)
            {
                LoadDataFromWWW(path);
                return;
            }
            RequestStartCoroutineVO requestStartCoroutineVO = new RequestStartCoroutineVO();

            requestStartCoroutineVO.coroutine = DoLoadDataFromWWW(path, dataType);
            SendNotification(CoreNote.REQUEST_START_COROUTINE, requestStartCoroutineVO);
        }