Example #1
0
        //3D座標を指定するUGUIの場合は親を設定するメリットがないので用意しない
        /// <summary>
        /// 指定された場所に指定された設定でUGUIのメッセージを表示する
        /// </summary>
        public void ShowMessage(string message, Vector3 position, Quaternion rotation, FontSettings settings)
        {
            AbstractUGUIText text = textPool.GetInstance();

            text.transform.SetPositionAndRotation(uiCamera.WorldToScreenPoint(position), rotation);

            InitializeUGUIText(text, message, settings);

            StartCoroutine(settings.showAnimation.GetAnimation(text, settings.showAnimationTime).OnCompleted(() =>
            {
                if (settings.limitLife <= 0.0f)
                {
                    StartCoroutine(settings.hideAnimation.GetAnimation(text, settings.hideAnimationTime).OnCompleted(() =>
                    {
                        textPool.ReturnInstance(text);
                    }));
                }
                else
                {
                    KKUtilities.Delay(settings.limitLife, () =>
                    {
                        StartCoroutine(settings.hideAnimation.GetAnimation(text, settings.hideAnimationTime).OnCompleted(() =>
                        {
                            textPool.ReturnInstance(text);
                        }));
                    }, this);
                }
            }));
        }
Example #2
0
        /// <summary>
        /// 指定された場所に指定された設定でUGUIのメッセージを表示する
        /// </summary>
        public void ShowMessage(string message, Vector2 localPosition, Quaternion localRotation, Transform parent, FontSettings settings)
        {
            AbstractUGUIText text = textPool.GetInstance();

            InitializeUGUIText(text, message, settings);
            text.RectTransform.SetParent(parent);
            text.RectTransform.anchoredPosition = localPosition;
            text.RectTransform.localRotation    = localRotation;


            StartCoroutine(settings.showAnimation.GetAnimation(text, settings.showAnimationTime).OnCompleted(() =>
            {
                if (settings.limitLife <= 0.0f)
                {
                    StartCoroutine(settings.hideAnimation.GetAnimation(text, settings.hideAnimationTime).OnCompleted(() =>
                    {
                        textPool.ReturnInstance(text);
                    }));
                }
                else
                {
                    KKUtilities.Delay(settings.limitLife, () =>
                    {
                        StartCoroutine(settings.hideAnimation.GetAnimation(text, settings.hideAnimationTime).OnCompleted(() =>
                        {
                            textPool.ReturnInstance(text);
                        }));
                    }, this);
                }
            }));
        }
Example #3
0
 void InitializeUGUIText(AbstractUGUIText text, string message, FontSettings settings)
 {
     InitializeUIText(text, message, settings);
     text.transform.localScale = Vector3.one;
     text.gameObject.SetActive(true);
 }