public void ChangeScreenPositionToWorld(GameObject gameObject, ref Vector2 screenPosition) { if (gameObject != null) { gameObject.transform.position = CUIUtility.ScreenToWorldPoint(this.m_renderCamera, screenPosition, 100f); } }
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); } }
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); } }
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); } }