void OnEndPage(AdvPage page) { if (page.CurrentData.IsEmptyText) { return; } AdvBacklog log = page.Engine.BacklogManager.LastLog; if (log == null) { return; } if (itemPrefab == null || targetRoot == null) { Debug.LogError("itemPrefab or targetRoot is null"); return; } if (logs.Count > 0 && logs.Count >= maxLog) { GameObject.Destroy(logs[0]); logs.RemoveAt(0); } GameObject go = targetRoot.AddChildPrefab(itemPrefab); go.SendMessage("OnInitData", log); go.transform.SetSiblingIndex(1); logs.Add(go); }
/// <summary> /// 指定のコンポーネントつきのGameObjectを子オブジェトの先頭からコピーして指定の数になるように追加 /// </summary> /// <typeparam name="T">コンポーネントの型</typeparam> /// <param name="count">子の数</param> public static void InitCloneChildren <T>(this Transform t, int count) where T : Component { //今ある子 T[] chidlren = t.GetComponentsInChildren <T>(true); int addCount = Mathf.Max(0, count - chidlren.Length); for (int i = 0; i < addCount; ++i) { t.AddChildPrefab(chidlren[0].gameObject); } }
/// <summary> /// 指定のコンポーネントつきのGameObjectを子オブジェトの先頭からコピーして指定の数になるように追加 /// </summary> /// <typeparam name="T">コンポーネントの型</typeparam> /// <param name="count">子の数</param> public static void InitCloneChildren <T>(this Transform t, int count) where T : Component { //今ある子 T[] chidlren = t.GetComponentsInChildren <T>(true); if (chidlren.Length <= 0) { Debug.LogError(typeof(T).Name + " is not under " + t.gameObject.name); return; } int addCount = Mathf.Max(0, count - chidlren.Length); for (int i = 0; i < addCount; ++i) { t.AddChildPrefab(chidlren[0].gameObject, chidlren[0].gameObject.transform.localPosition, chidlren[0].gameObject.transform.localScale); } }
/// <summary> /// プレハブからGameObjectを作成して子として追加する /// </summary> /// <param name="prefab">子を作成するためのプレハブ</param> /// <param name="localPosition">子に設定するローカル座標</param> /// <returns>追加済みの子</returns> public static GameObject AddChildPrefab(this Transform t, GameObject prefab, Vector3 localPosition) { return(t.AddChildPrefab(prefab, localPosition, Vector3.one)); }
/// <summary> /// プレハブからGameObjectを作成して子として追加する /// </summary> /// <param name="prefab">子を作成するためのプレハブ</param> /// <returns>追加済みの子</returns> public static GameObject AddChildPrefab(this Transform t, GameObject prefab) { return(t.AddChildPrefab(prefab, Vector3.zero, Vector3.one)); }
public static GameObject AddChildPrefab(Transform parent, GameObject prefab, Vector3 localPosition, Vector3 localScale) { return(parent.AddChildPrefab(prefab, localPosition, localScale)); }
public static GameObject AddChildPrefab(Transform parent, GameObject prefab) { return(parent.AddChildPrefab(prefab, Vector3.get_zero(), Vector3.get_one())); }
public static GameObject AddChildPrefab(Transform parent, GameObject prefab) { return(parent.AddChildPrefab(prefab, Vector3.zero, Vector3.one)); }