using System.Collections; using System.Collections.Generic; using UnityEngine; using TMPro; using UnityEngine.UI; /// /// Api详情 /// public class ApiDetailPanel : PanelBasic { public RectTransform self_rect_transform; public TextMeshProUGUI api_name_text; /// /// 函数名 /// public TextMeshProUGUI function_name_text; /// /// 参数 /// public TextMeshProUGUI parameter_text; /// /// 描述 /// public TextMeshProUGUI description_text; /// /// 返回值 /// public TextMeshProUGUI return_value_text; /// /// 复制方法名 /// public Button function_copy_button; /// /// 关闭 /// public Button closeBtn; private ApiDetail api_item_data; private void Start() { function_copy_button.onClick.AddListener(OnCopyFunctionName); if(closeBtn!=null) { closeBtn.onClick.AddListener(() => { gameObject.SetActive(false); }); } } public void Init(ApiDetail _api_item_data, RectTransform _api_item_rect) { if (api_item_data == null || api_item_data != _api_item_data) { OnActive(); api_item_data = _api_item_data; api_name_text.text = _api_item_data.apiName; function_name_text.text = _api_item_data.apiFunction; string _api_parameters = ""; for (int i = 0; i < _api_item_data.apiParametersObj.Count; i++) { var _par = string.Format("{0}:{1}\n", _api_item_data.apiParametersObj[i].parameterName, _api_item_data.apiParametersObj[i].parameterType); _api_parameters += _par; } parameter_text.text = (_api_parameters==""?"无": _api_parameters); description_text.text = _api_item_data.apiDescription; //var _y = _api_item_rect.anchoredPosition.y + _api_item_rect.parent.GetComponent().anchoredPosition.y + _api_item_rect.parent.parent.parent.GetComponent().anchoredPosition.y; //self_rect_transform.anchoredPosition = new Vector2(self_rect_transform.anchoredPosition.x, _y); } else { OnSwitch(); } } /// /// 复制函数名 /// private void OnCopyFunctionName() { CancelInvoke("ResumeTextColor"); GUIUtility.systemCopyBuffer = function_name_text.text; function_name_text.color = Color.gray; Invoke("ResumeTextColor", 0.25f); } private void ResumeTextColor() { function_name_text.color = Color.white; } }