100 lines
2.7 KiB
C#
100 lines
2.7 KiB
C#
using System.Collections;
|
||
using System.Collections.Generic;
|
||
using UnityEngine;
|
||
using TMPro;
|
||
using UnityEngine.UI;
|
||
|
||
/// <summary>
|
||
/// Api详情
|
||
/// </summary>
|
||
public class ApiDetailPanel : PanelBasic
|
||
{
|
||
public RectTransform self_rect_transform;
|
||
|
||
public TextMeshProUGUI api_name_text;
|
||
/// <summary>
|
||
/// 函数名
|
||
/// </summary>
|
||
public TextMeshProUGUI function_name_text;
|
||
/// <summary>
|
||
/// 参数
|
||
/// </summary>
|
||
public TextMeshProUGUI parameter_text;
|
||
/// <summary>
|
||
/// 描述
|
||
/// </summary>
|
||
public TextMeshProUGUI description_text;
|
||
/// <summary>
|
||
/// 返回值
|
||
/// </summary>
|
||
public TextMeshProUGUI return_value_text;
|
||
/// <summary>
|
||
/// 复制方法名
|
||
/// </summary>
|
||
public Button function_copy_button;
|
||
|
||
/// <summary>
|
||
/// 关闭
|
||
/// </summary>
|
||
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<RectTransform>().anchoredPosition.y + _api_item_rect.parent.parent.parent.GetComponent<RectTransform>().anchoredPosition.y;
|
||
//self_rect_transform.anchoredPosition = new Vector2(self_rect_transform.anchoredPosition.x, _y);
|
||
}
|
||
else
|
||
{
|
||
OnSwitch();
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// 复制函数名
|
||
/// </summary>
|
||
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;
|
||
}
|
||
}
|