Example #1
0
        /// <summary>
        /// Show.
        /// </summary>
        private void _Show()
        {
            if (mStartingTime < 0)
            {
                mStartingTime = Time.time;
            }

            GameObject child      = null;
            int        countChild = mGameObject.transform.childCount;

            for (int i = 0; i < countChild; i++)
            {
                child = mGameObject.transform.GetChild(i).gameObject;
                child.SetActive(child.name.Equals(mLoadingType.ToString()));
            }

            mGameObject.transform.SetAsLastSibling();
            mGameObject.SetActive(true);

            MyUGUIManager.Instance.UpdatePopupOverlay();
        }
Example #2
0
        /// <summary>
        /// Create a template game object.
        /// </summary>
        public static GameObject CreateTemplate()
        {
            GameObject obj = new GameObject(PREFAB_NAME);

            RectTransform obj_rect = obj.AddComponent <RectTransform>();

            MyUtilities.Anchor(ref obj_rect, MyUtilities.EAnchorPreset.DualStretch, MyUtilities.EAnchorPivot.MiddleCenter, Vector2.zero, Vector2.zero);

            int countWaitingPopupID = Enum.GetNames(typeof(ELoadingType)).Length;

            for (int i = 0; i < countWaitingPopupID; i++)
            {
                ELoadingType type = (ELoadingType)Enum.GetValues(typeof(ELoadingType)).GetValue(i);
                if (type == ELoadingType.None)
                {
                    continue;
                }

                GameObject child = new GameObject(type.ToString());
                child.transform.SetParent(obj.transform, false);
                child.SetActive(false);

                RectTransform child_rect = child.AddComponent <RectTransform>();
                MyUtilities.Anchor(ref child_rect, MyUtilities.EAnchorPreset.DualStretch, MyUtilities.EAnchorPivot.MiddleCenter, Vector2.zero, Vector2.zero);

                if (type == ELoadingType.Simple)
                {
                    GameObject imageBG = new GameObject("ImageBackground");
                    imageBG.transform.SetParent(child.transform, false);

                    RectTransform background_rect = imageBG.AddComponent <RectTransform>();
                    MyUtilities.Anchor(ref background_rect, MyUtilities.EAnchorPreset.MiddleCenter, MyUtilities.EAnchorPivot.MiddleCenter, 200, 200, 0, 0);

                    Image background_image = imageBG.AddComponent <Image>();
                    background_image.raycastTarget = false;
                    background_image.color         = Color.black;

                    GameObject image = new GameObject("Image");
                    image.transform.SetParent(child.transform, false);

                    RectTransform image_rect = image.AddComponent <RectTransform>();
                    MyUtilities.Anchor(ref image_rect, MyUtilities.EAnchorPreset.MiddleCenter, MyUtilities.EAnchorPivot.MiddleCenter, 200, 200, 0, 0);

                    Image image_image = image.AddComponent <Image>();
                    image_image.raycastTarget = false;
                    image_image.color         = Color.white;

#if UNITY_EDITOR
                    string[] paths = new string[] { "Assets/MyClasses", "Assets/Core/MyClasses", "Assets/Plugin/MyClasses", "Assets/Plugins/MyClasses", "Assets/Framework/MyClasses", "Assets/Frameworks/MyClasses" };
                    for (int j = 0; j < paths.Length; j++)
                    {
                        if (System.IO.File.Exists(paths[j] + "/Sources/Animations/my_animator_loading_indicator_circle.controller"))
                        {
                            Animator root_animator = child.AddComponent <Animator>();
                            root_animator.runtimeAnimatorController = (RuntimeAnimatorController)UnityEditor.AssetDatabase.LoadAssetAtPath(paths[j] + "/Sources/Animations/my_animator_loading_indicator_circle.controller", typeof(RuntimeAnimatorController));
                            if (System.IO.File.Exists(paths[j] + "/Sources/Images/my_loading_indicator_circle_bg.png"))
                            {
                                background_image.sprite = (Sprite)UnityEditor.AssetDatabase.LoadAssetAtPath(paths[j] + "/Sources/Images/my_loading_indicator_circle_bg.png", typeof(Sprite));
                            }
                            if (System.IO.File.Exists(paths[j] + "/Sources/Images/my_loading_indicator_circle.png"))
                            {
                                image_image.sprite = (Sprite)UnityEditor.AssetDatabase.LoadAssetAtPath(paths[j] + "/Sources/Images/my_loading_indicator_circle.png", typeof(Sprite));
                            }
                            Debug.LogError("[" + typeof(MyUGUILoadingIndicator).Name + "] CreateTemplate(): please setup \"my_animator_loading_indicator_circle\" controller.");
                            Debug.LogError("[" + typeof(MyUGUILoadingIndicator).Name + "] CreateTemplate(): mapping \"my_animation_loading_indicator_circle\" motion for \"Circle\" state.");
                            break;
                        }
                    }
#endif
                }
                else if (type == ELoadingType.Tips)
                {
                    GameObject loading = new GameObject("Loading");
                    loading.transform.SetParent(child.transform, false);

                    RectTransform loadingd_rect = loading.AddComponent <RectTransform>();
                    MyUtilities.Anchor(ref loadingd_rect, MyUtilities.EAnchorPreset.MiddleCenter, MyUtilities.EAnchorPivot.MiddleCenter, 200, 200, 0, 150);

                    GameObject imageBG = new GameObject("ImageBackground");
                    imageBG.transform.SetParent(loading.transform, false);

                    RectTransform background_rect = imageBG.AddComponent <RectTransform>();
                    MyUtilities.Anchor(ref background_rect, MyUtilities.EAnchorPreset.MiddleCenter, MyUtilities.EAnchorPivot.MiddleCenter, 200, 200, 0, 0);

                    Image background_image = imageBG.AddComponent <Image>();
                    background_image.raycastTarget = false;
                    background_image.color         = Color.black;

                    GameObject image = new GameObject("Image");
                    image.transform.SetParent(loading.transform, false);

                    RectTransform image_rect = image.AddComponent <RectTransform>();
                    MyUtilities.Anchor(ref image_rect, MyUtilities.EAnchorPreset.MiddleCenter, MyUtilities.EAnchorPivot.MiddleCenter, 200, 200, 0, 0);

                    Image image_image = image.AddComponent <Image>();
                    image_image.raycastTarget = false;
                    image_image.color         = Color.white;

#if UNITY_EDITOR
                    string[] paths = new string[] { "Assets/MyClasses", "Assets/Core/MyClasses", "Assets/Plugin/MyClasses", "Assets/Plugins/MyClasses", "Assets/Framework/MyClasses", "Assets/Frameworks/MyClasses" };
                    for (int j = 0; j < paths.Length; j++)
                    {
                        if (System.IO.File.Exists(paths[j] + "/Animations/my_animator_loading_indicator_circle.controller"))
                        {
                            Animator root_animator = loading.AddComponent <Animator>();
                            root_animator.runtimeAnimatorController = (RuntimeAnimatorController)UnityEditor.AssetDatabase.LoadAssetAtPath(paths[j] + "/Animations/my_animator_loading_indicator_circle.controller", typeof(RuntimeAnimatorController));
                            if (System.IO.File.Exists(paths[j] + "/Images/my_loading_indicator_circle_bg.png"))
                            {
                                background_image.sprite = (Sprite)UnityEditor.AssetDatabase.LoadAssetAtPath(paths[j] + "/Images/my_loading_indicator_circle_bg.png", typeof(Sprite));
                            }
                            if (System.IO.File.Exists(paths[j] + "/Images/my_loading_indicator_circle.png"))
                            {
                                image_image.sprite = (Sprite)UnityEditor.AssetDatabase.LoadAssetAtPath(paths[j] + "/Images/my_loading_indicator_circle.png", typeof(Sprite));
                            }
                            break;
                        }
                    }
#endif

                    GameObject description = new GameObject("Description");
                    description.transform.SetParent(child.transform, false);

                    RectTransform description_rect = description.AddComponent <RectTransform>();
                    MyUtilities.Anchor(ref description_rect, MyUtilities.EAnchorPreset.HorizontalStretchMiddle, MyUtilities.EAnchorPivot.MiddleCenter, new Vector2(50, -50), new Vector2(-50, 50));

                    Text description_text = description.AddComponent <Text>();
                    description_text.text               = "description";
                    description_text.color              = Color.white;
                    description_text.font               = Resources.GetBuiltinResource <Font>("Arial.ttf");
                    description_text.fontSize           = 40;
                    description_text.alignment          = TextAnchor.MiddleCenter;
                    description_text.horizontalOverflow = HorizontalWrapMode.Wrap;
                    description_text.verticalOverflow   = VerticalWrapMode.Overflow;
                    description_text.raycastTarget      = false;

                    GameObject cancel = new GameObject("ButtonCancel");
                    cancel.transform.SetParent(child.transform, false);

                    RectTransform cancel_rect = cancel.AddComponent <RectTransform>();
                    MyUtilities.Anchor(ref cancel_rect, MyUtilities.EAnchorPreset.MiddleCenter, MyUtilities.EAnchorPivot.MiddleCenter, 240, 80, 0, -120);

                    cancel.AddComponent <Image>();
                    cancel.AddComponent <MyUGUIButton>();

                    GameObject cancel_text = new GameObject("Text");
                    cancel_text.transform.SetParent(cancel.transform, false);

                    RectTransform cancel_text_rect = cancel_text.AddComponent <RectTransform>();
                    MyUtilities.Anchor(ref cancel_text_rect, MyUtilities.EAnchorPreset.DualStretch, MyUtilities.EAnchorPivot.MiddleCenter, Vector2.zero, Vector2.zero);

                    Text cancel_text_text = cancel_text.AddComponent <Text>();
                    cancel_text_text.text               = "Cancel";
                    cancel_text_text.color              = Color.black;
                    cancel_text_text.font               = Resources.GetBuiltinResource <Font>("Arial.ttf");
                    cancel_text_text.fontSize           = 40;
                    cancel_text_text.supportRichText    = false;
                    cancel_text_text.alignment          = TextAnchor.MiddleCenter;
                    cancel_text_text.horizontalOverflow = HorizontalWrapMode.Wrap;
                    cancel_text_text.verticalOverflow   = VerticalWrapMode.Overflow;
                    cancel_text_text.raycastTarget      = false;

                    GameObject tips = new GameObject("Tips");
                    tips.transform.SetParent(child.transform, false);

                    RectTransform tips_rect = tips.AddComponent <RectTransform>();
                    MyUtilities.Anchor(ref tips_rect, MyUtilities.EAnchorPreset.HorizontalStretchBottom, MyUtilities.EAnchorPivot.BottomCenter, new Vector2(50, 0), new Vector2(-50, 100));

                    Text tips_text = tips.AddComponent <Text>();
                    tips_text.text               = "tips";
                    tips_text.color              = Color.white;
                    tips_text.font               = Resources.GetBuiltinResource <Font>("Arial.ttf");
                    tips_text.fontSize           = 40;
                    tips_text.alignment          = TextAnchor.MiddleCenter;
                    tips_text.horizontalOverflow = HorizontalWrapMode.Wrap;
                    tips_text.verticalOverflow   = VerticalWrapMode.Overflow;
                    tips_text.raycastTarget      = false;
                }
            }

            return(obj);
        }