/// <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(); }
/// <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); }