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);
        }
Ejemplo n.º 2
0
        public static void MenuItem_NewDatePickerSharedCalendar()
        {
            var datePicker = DatePicker_Instantiation.InstantiatePrefab("DatePicker - Shared Calendar").GetComponent <DatePicker>();

            DatePickerTimer.DelayedCall(0.1f, datePicker.UpdateDisplay, datePicker);
        }
Ejemplo n.º 3
0
        public static void MenuItem_NewDatePickerDateRange()
        {
            var datePicker = DatePicker_Instantiation.InstantiatePrefab("DatePicker - Date Range").GetComponent <DatePicker_DateRange>();

            DatePickerTimer.DelayedCall(0.1f, datePicker.UpdateDisplay, datePicker);
        }