Пример #1
0
 public void ChangeScreenPositionToWorld(GameObject gameObject, ref Vector2 screenPosition)
 {
     if (gameObject != null)
     {
         gameObject.transform.position = CUIUtility.ScreenToWorldPoint(this.m_renderCamera, screenPosition, 100f);
     }
 }
Пример #2
0
        public void OpenTips(string strContent, bool bReadDatabin = false, float timeDuration = 1.5f, GameObject referenceGameObject = null, params object[] replaceArr)
        {
            string text = strContent;

            if (bReadDatabin)
            {
                text = Singleton <CTextManager> .GetInstance().GetText(strContent);
            }
            if (!string.IsNullOrEmpty(text))
            {
                if (replaceArr != null)
                {
                    try
                    {
                        text = string.Format(text, replaceArr);
                    }
                    catch (FormatException exception)
                    {
                        object[] inParameters = new object[] { text, exception.Message };
                        DebugHelper.Assert(false, "Format Exception for string \"{0}\", Exception:{1}", inParameters);
                    }
                }
                CUIFormScript script = Singleton <CUIManager> .GetInstance().OpenForm("UGUI/Form/Common/Form_Tips.prefab", false, false);

                if (script != null)
                {
                    script.gameObject.transform.Find("Panel/Text").GetComponent <Text>().text = text;
                }
                if ((script != null) && (referenceGameObject != null))
                {
                    RectTransform component  = referenceGameObject.GetComponent <RectTransform>();
                    RectTransform transform2 = script.gameObject.transform.Find("Panel") as RectTransform;
                    if ((component != null) && (transform2 != null))
                    {
                        Vector3[] fourCornersArray = new Vector3[4];
                        component.GetWorldCorners(fourCornersArray);
                        float   num         = Math.Abs((float)(CUIUtility.WorldToScreenPoint(Singleton <CUIManager> .instance.FormCamera, fourCornersArray[2]).x - CUIUtility.WorldToScreenPoint(Singleton <CUIManager> .instance.FormCamera, fourCornersArray[0]).x));
                        float   num2        = Math.Abs((float)(CUIUtility.WorldToScreenPoint(Singleton <CUIManager> .instance.FormCamera, fourCornersArray[2]).y - CUIUtility.WorldToScreenPoint(Singleton <CUIManager> .instance.FormCamera, fourCornersArray[0]).y));
                        Vector2 screenPoint = new Vector2(CUIUtility.WorldToScreenPoint(Singleton <CUIManager> .instance.FormCamera, fourCornersArray[0]).x + (num / 2f), CUIUtility.WorldToScreenPoint(Singleton <CUIManager> .instance.FormCamera, fourCornersArray[0]).y + (num2 / 2f));
                        transform2.position = CUIUtility.ScreenToWorldPoint(null, screenPoint, transform2.position.z);
                    }
                }
                if (script != null)
                {
                    CUITimerScript script2 = script.gameObject.transform.Find("Timer").GetComponent <CUITimerScript>();
                    script2.EndTimer();
                    script2.m_totalTime = timeDuration;
                    script2.StartTimer();
                }
                Singleton <CSoundManager> .instance.PostEvent("UI_Click", null);
            }
        }
Пример #3
0
 private void UpdateAxisPosition()
 {
     if (this.m_axisCurrentScreenPosition != this.m_axisTargetScreenPosition)
     {
         Vector2 vector = this.m_axisTargetScreenPosition - this.m_axisCurrentScreenPosition;
         Vector2 b      = (this.m_axisTargetScreenPosition - this.m_axisCurrentScreenPosition) / 3f;
         if (vector.sqrMagnitude <= 1f)
         {
             this.m_axisCurrentScreenPosition = this.m_axisTargetScreenPosition;
         }
         else
         {
             this.m_axisCurrentScreenPosition += b;
         }
         this.m_axisRectTransform.position = CUIUtility.ScreenToWorldPoint(this.m_belongedFormScript.GetCamera(), this.m_axisCurrentScreenPosition, this.m_axisRectTransform.position.z);
     }
 }
Пример #4
0
        private void MoveAxis(Vector2 position, bool isDown)
        {
            if (isDown || (this.m_axisCurrentScreenPosition == Vector2.zero && this.m_axisTargetScreenPosition == Vector2.zero))
            {
                this.m_axisCurrentScreenPosition = this.GetFixAixsScreenPosition(position);
                this.m_axisTargetScreenPosition  = this.m_axisCurrentScreenPosition;
                DebugHelper.Assert(this.m_belongedFormScript != null);
                this.m_axisRectTransform.position = CUIUtility.ScreenToWorldPoint((!(this.m_belongedFormScript != null)) ? null : this.m_belongedFormScript.GetCamera(), this.m_axisCurrentScreenPosition, this.m_axisRectTransform.position.z);
            }
            Vector2 vector    = position - this.m_axisCurrentScreenPosition;
            Vector2 vector2   = vector;
            float   magnitude = vector.magnitude;
            float   num       = magnitude;

            if (this.m_belongedFormScript != null)
            {
                num       = this.m_belongedFormScript.ChangeScreenValueToForm(magnitude);
                vector2.x = this.m_belongedFormScript.ChangeScreenValueToForm(vector.x);
                vector2.y = this.m_belongedFormScript.ChangeScreenValueToForm(vector.y);
            }
            DebugHelper.Assert(this.m_cursorRectTransform != null);
            this.m_cursorRectTransform.anchoredPosition = ((num <= this.m_cursorDisplayMaxRadius) ? vector2 : (vector2.normalized * this.m_cursorDisplayMaxRadius));
            if (this.m_isAxisMoveable && num > this.m_cursorDisplayMaxRadius)
            {
                DebugHelper.Assert(this.m_belongedFormScript != null);
                this.m_axisTargetScreenPosition = this.m_axisCurrentScreenPosition + (position - CUIUtility.WorldToScreenPoint((!(this.m_belongedFormScript != null)) ? null : this.m_belongedFormScript.GetCamera(), this.m_cursorRectTransform.position));
                this.m_axisTargetScreenPosition = this.GetFixAixsScreenPosition(this.m_axisTargetScreenPosition);
            }
            if (num < this.m_cursorRespondMinRadius)
            {
                this.UpdateAxis(Vector2.zero);
            }
            else
            {
                this.UpdateAxis(vector);
            }
        }