Unity 일반 T 사용 방법

1346 단어 Unity 기술
안녕하세요!저는 샤오탕입니다. 오늘 실례화 대상을 할 때 프로젝트가 여러 군데 실례화 대상을 필요로 하고 기능이 비슷하다고 생각해서 공공적인 방법으로 쓰려고 했습니다. 그런데 서로 다른 대상을 실례화한 후에 추가된 각본이 다를 수 있습니다. 지금 각본을 어떻게 유형으로 매개 변수로 전달할 것인가를 생각하고 친구에게 물어봤습니다. 그리고 친구가 저에게 범주형을 사용하라고 알려주었습니다. 그리고 제가 연구를 해서 써서 여러분에게 공유했습니다.범형류와 범형 방법을 썼다.
using UnityEngine;
using System.Collections;

// : 
public class ActivityManageData:MonoBehaviour where T:MonoBehaviour
{
	private T intance;
	public void InstantiateObj(GameObject obj,GameObject ParentObj,Vector3 vec3)
	{
		GameObject mObj = Instantiate (obj, vec3, Quaternion.identity) as GameObject;
		intance=mObj.AddComponent();
		mObj.transform.parent = ParentObj.transform;
		mObj.transform.localScale = Vector3.one;
	}
}


4
// : 
public class MyContent:MonoBehaviour
{
	GameObject mObj;
	GameObject mParentObj;
	Vector3 mVec3;

	public MyContent(GameObject obj,GameObject ParentObj,Vector3 vec3)
	{
		this.mObj = obj;
		this.mParentObj = ParentObj;
		this.mVec3 = vec3;
	}

	public void  InstantiateObj(T t) where T:Component
	{
		mObj = Instantiate (mObj, mVec3, Quaternion.identity) as GameObject;
		mObj.AddComponent();
		mObj.transform.parent = mParentObj.transform;
		mObj.transform.localScale = Vector3.one;
	}	
}
호출할 때 두 가지 방식으로 실례화 대상이 범형 T에 구체적인 유형을 지정하면 OK.

좋은 웹페이지 즐겨찾기