public void register <T>(ITezSinglePrefab prefab) where T : class, ITezSinglePrefab { switch (SinglePrefabContainer <T> .ID) { case TezTypeInfo.ErrorID: SinglePrefabContainer <T> .setID(count ++); break; } SinglePrefabContainer <T> .prefab = prefab; }
private void register(ITezSinglePrefab prefab) { Type type = typeof(SinglePrefabContainer <>); type = type.MakeGenericType(prefab.GetType()); type.InvokeMember("prefab" , BindingFlags.Public | BindingFlags.Static | BindingFlags.SetField , null , null , new object[] { prefab }); // Debug.Log(string.Format("{0}/{1}", prefab.GetType().Name, count)); type.InvokeMember("m_ID" , BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.SetField , null , null , new object[] { count++ }); }
public void setPrefab(ITezSinglePrefab prefab) { this.prefab = prefab; }
/// <summary> /// 不要单独调用此构造函数 /// </summary> public TezPrefabID(int id, ITezSinglePrefab prefab) { this.ID = id; this.prefab = prefab; }