public static GameObject InstantiatePrefab(string name, bool playMode = false, bool generateUndo = true, Transform parent = null) { var prefab = DatePicker_Instantiation.LoadResource <GameObject>("Prefabs/" + name); if (prefab == null) { throw new UnityException(String.Format("Could not find prefab '{0}'!", name)); } #if UNITY_EDITOR if (!playMode) { parent = UnityEditor.Selection.activeTransform; } #endif var gameObject = GameObject.Instantiate(prefab) as GameObject; gameObject.name = name; if (parent == null || !(parent is RectTransform)) { parent = GetCanvasTransform(); } gameObject.transform.SetParent(parent); var transform = (RectTransform)gameObject.transform; var prefabTransform = (RectTransform)prefab.transform; FixInstanceTransform(prefabTransform, transform); // Override the prefab's visible date with today's date var datePicker = gameObject.GetComponent <DatePicker>(); if (datePicker != null) { datePicker.VisibleDate = DateTime.Today; } #if UNITY_EDITOR if (generateUndo) { UnityEditor.Undo.RegisterCreatedObjectUndo(gameObject, "Created " + name); } #endif return(gameObject); }
public static void MenuItem_NewDatePickerSharedCalendar() { var datePicker = DatePicker_Instantiation.InstantiatePrefab("DatePicker - Shared Calendar").GetComponent <DatePicker>(); DatePickerTimer.DelayedCall(0.1f, datePicker.UpdateDisplay, datePicker); }
public static void MenuItem_NewDatePickerDateRange() { var datePicker = DatePicker_Instantiation.InstantiatePrefab("DatePicker - Date Range").GetComponent <DatePicker_DateRange>(); DatePickerTimer.DelayedCall(0.1f, datePicker.UpdateDisplay, datePicker); }