unity+实例化
代码如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO;
public class Test : MonoBehaviour {
public RectTransform PDFViewerRef;
public static Test TestRef;
public string Str;
public string PDFName;
private void Awake()
{
TestRef = this;
}
// Use this for initialization
void Start ()
{
Str = "/sdcard/TKData/SaveData/";
if (!Directory.Exists(Str))
{
Directory.CreateDirectory(Str);
}
PDFName = "04.硬件手册.pdf";
}
public void OnCreateObjButton()
{
StartCoroutine(OnCreateProjectContent("PDFViewer", PDFViewerRef));//2019.5.9新版本一个项目在一个json
}
IEnumerator OnCreateProjectContent(string ObjName, RectTransform pathButtonPool)
{
yield return new WaitForSeconds(0.5f);
//Debug.LogError("s" + FactoryNum);
//pathButtonPool.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Top, 60, PuAnGetBrowserPathData.PuAnGetBrowserPathDataInstance.BrowserDataResules.Count * 65);//动态设置面板的长度2019.1.3
//生成按钮对象,给位置,给名字,给点击事件
var CreateProjectObj = OnCreateButton(ObjName, pathButtonPool);
CreateProjectObj.transform.localPosition = new Vector3(0,0, 0);
}
public GameObject OnCreateButton(string InstantiateName, RectTransform InstantiateParent)
{
GameObject InstantiatePath = Resources.Load<GameObject>(InstantiateName);
GameObject ObjectTemp = Instantiate(InstantiatePath, InstantiateParent);
//ObjectTemp.name = InstantiateName;
return ObjectTemp;
}
// Update is called once per frame
void Update () {
}
}
TK里面的ScrollVie子物体实例化
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class TKProjectManager : TKManager
{
//public Button UserButton;
public int ProjectNum;
private GameObject CreateProjectObj;
private Button btn_CreateProjectItem;
public TKFactoryManager TKFactoryManagerRef;
public List<GameObject> ProjectItemList;
Texture2D tempImage;
private void Awake()
{
TKGlobalData.Btn_CuetomName = "Btn_Project";
OnBindEvent();
}
private void OnEnable()
{
UserButton.GetComponent<Image>().color = Color.white;
isReClick = true;
}
private void Start()
{
//Debug.LogError("Project只执行一次,加载数据写在其他地方");
//OnCreateScrollViewContent(TKGlobalData.Btn_CuetomName, pathButtonPool);
//StartCoroutine(OnCreateProjectContent("Btn_Project", pathButtonPool));//旧版本所有项目在一个json
//OnBindEvent();
}
public void OnCreateProjectItem()
{
StartCoroutine(OnCreateProjectContent("Btn_Project", pathButtonPool));//2019.5.9新版本一个项目在一个json
//2019.10.22校验 //2017.10.22校验
TKDataHandle.TKDataHandleInstance.GetCheckUserInformation();
}
public override void OnClonButtonClick(string path)
{
Debug.LogError("项目");
}
IEnumerator LoadImage(string path,RawImage image)
{
string filePath="file://"+TKGlobalData.CurrentLoadDataPath + "document/" + path;
WWW www = new WWW(filePath);
yield return www;
if (www.error != null)
{
//Debug.LogError(filePath + www.error);
image.gameObject.SetActive(false);
}
else
{
//Debug.LogError(filePath);
image.gameObject.SetActive(true);
tempImage = www.texture;
image.texture = tempImage;
}
}
IEnumerator OnCreateProjectContent(string ObjName, RectTransform pathButtonPool)
{
yield return new WaitForSeconds(0.5f);
ProjectNum = TKDataHandle.TKDataHandleInstance.CurrentProjects.Length;
if (ProjectNum != 0)
{
//Debug.LogError("s" + FactoryNum);
//pathButtonPool.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Top, 60, PuAnGetBrowserPathData.PuAnGetBrowserPathDataInstance.BrowserDataResules.Count * 65);//动态设置面板的长度2019.1.3
pathButtonPool.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Top, 0, ProjectNum * 200);//动态设置面板的长度2019.1.3
for (int i = 0; i < ProjectNum; i++)//2019.1.3
{
string txtName = TKDataHandle.TKDataHandleInstance.CurrentProjects[i].projectName;
int currentVisitTitleIDSSS = i;
//生成按钮对象,给位置,给名字,给点击事件
CreateProjectObj = OnCreateButton(ObjName, pathButtonPool);
CreateProjectObj.transform.localPosition = new Vector3(-20, (pathButtonPool.transform.localPosition.y + 50) - 100f * (i + 1), 0);
btn_CreateProjectItem = CreateProjectObj.transform.GetChild(0).GetComponent<Button>();
CreateProjectObj.transform.GetChild(1).transform.GetChild(0).GetComponent<Text>().text = txtName;
//Debug.LogError("i***" + currentVisitTitleIDSSS+btn_CreateProjectItem.name);
btn_CreateProjectItem.onClick.AddListener(delegate () { this.CurrentProjectSelectClick(currentVisitTitleIDSSS); });
//Btn_CurrentVisitTitleList.Add(btn_CreateProjectItem);
ProjectItemList.Add(CreateProjectObj);
var btn_Image = CreateProjectObj.transform.GetChild(2).GetComponent<Button>();
btn_Image.onClick.AddListener(delegate () { this.CurrentProjectSelectClick(currentVisitTitleIDSSS); });
StartCoroutine(LoadImage(TKDataHandle.TKDataHandleInstance.CurrentProjects[i].projectImg, CreateProjectObj.transform.GetChild(2).GetComponent<RawImage>()));
}
}
}
//public void CreateBtn_ImageClick(int projectID)
//{
//}
public void CreateProjectItem( string ObjName, RectTransform pathButtonPool)
{
ProjectNum = TKDataHandle.TKDataHandleInstance.CurrentProjects.Length;
if (ProjectNum != 0)
{
//Debug.LogError("s" + FactoryNum);
//pathButtonPool.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Top, 60, PuAnGetBrowserPathData.PuAnGetBrowserPathDataInstance.BrowserDataResules.Count * 65);//动态设置面板的长度2019.1.3
pathButtonPool.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Top, 0, ProjectNum * 200);//动态设置面板的长度2019.1.3
for (int i = 0; i < ProjectNum; i++)//2019.1.3
{
string txtName = TKDataHandle.TKDataHandleInstance.CurrentProjects[i].projectName;
int currentVisitTitleIDSSS = i;
//生成按钮对象,给位置,给名字,给点击事件
CreateProjectObj = OnCreateButton(ObjName, pathButtonPool);
CreateProjectObj.transform.localPosition = new Vector3(-20, (pathButtonPool.transform.localPosition.y + 50) - 100f * (i + 1), 0);
btn_CreateProjectItem = CreateProjectObj.transform.GetChild(0).GetComponent<Button>();
CreateProjectObj.transform.GetChild(1).transform.GetChild(0).GetComponent<Text>().text = txtName;
//Debug.LogError("i***" + currentVisitTitleIDSSS+btn_CreateProjectItem.name);
btn_CreateProjectItem.onClick.AddListener(delegate () { this.CurrentProjectSelectClick(currentVisitTitleIDSSS); });
//Btn_CurrentVisitTitleList.Add(btn_CreateProjectItem);
}
}
}
private void CurrentProjectSelectClick(int projectID)
{
//Debug.LogError("hah" + projectID);
TKGlobalData.CurrentSelectProjectID = projectID;
if (projectID < TKDataHandle.TKDataHandleInstance.CurrentProjects.Length)
{
TKDataHandle.TKDataHandleInstance.CurrentProject = TKLoadJson.TKLoadJsonInstance.LoadTKProjectJsonDataFromFile(TKDataHandle.TKDataHandleInstance.CurrentProjects[projectID].projectName + ".json");
TKUIStateSelect.TKUIStateSelectInstance.OnSetCurrentUiPanelsState(TKPanelType.FactoryPanel);
// TKFactoryManagerRef.OnCreateFactoryCall(TKDataHandle.TKDataHandleInstance.GetCurrentWorkShop(projectID),TKDataHandle.TKDataHandleInstance.CurrentProjects[projectID].projectName);//旧版本,2019.5.6
TKFactoryManagerRef.OnCreateFactoryCall(TKDataHandle.TKDataHandleInstance.GetProjectCurrentWorkShop(), TKDataHandle.TKDataHandleInstance.CurrentProjects[projectID].projectName);//新版本,一个项目一个.JSON
}
}
public override void OnInit()
{
//OnBindEvent();
}
public override void OnBindEvent()
{
base.OnBindEvent();
EventTriggerListener.Get(UserButton.gameObject).onClick += OnUserButtonClick;
}
//private void OnUserButtonClick(GameObject go)
//{
// if (go == UserButton.gameObject)
// {
// OnUserButton();
// }
//}
//bool isReClick = true;
//private void OnUserButton()
//{
// Debug.Log("UserButton......");
// if (isReClick)
// {
// isReClick = !isReClick;
// UserButton.GetComponent<Image>().color = Color.black;
// TKUIStateSelect.TKUIStateSelectInstance.CurrentUIPanels[(int)TKPanelType.UserInformationPanel].gameObject.SetActive(true);
// }
// else
// {
// isReClick = !isReClick;
// UserButton.GetComponent<Image>().color = Color.white;
// //TKUIStateSelect.TKUIStateSelectInstance.OnSetCurrentUiPanelsState(TKPanelType.ProjectPanel);
// TKUIStateSelect.TKUIStateSelectInstance.CurrentUIPanels[(int)TKPanelType.UserInformationPanel].gameObject.SetActive(false);
// }
//}
}

浙公网安备 33010602011771号