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;
}
}