Beispiel #1
0
    /// <summary>
    /// Adds a new level event to the list on the UI.
    /// </summary>
    /// <param name="levelEvent">Level event to add</param>
    void AddNewLevelEventToUI(Agenda.LevelEvent levelEvent)
    {
        // Instantiate levelEvent GO on the UI and add it to the list.
        LevelEventUI levelEventUI = (Instantiate(levelEventPrefab, contentGO.transform) as GameObject).GetComponent <LevelEventUI>();

        levelEventUI.Initialize(levelEvent.id, agenda, levelEvent.title, levelEvent.description);
        levelEventsUI.Add(levelEventUI);
    }
Beispiel #2
0
    /// <summary>
    /// Provides a simple interface for adding new level envents to the list on the ScriptableObject.
    /// </summary>
    void AddNewLevelEvent()
    {
        newLevelEventTitle       = EditorGUILayout.TextField("Title: ", newLevelEventTitle);
        newLevelEventDescription = EditorGUILayout.TextField("Description: ", newLevelEventDescription);
        newLevelEventYear        = EditorGUILayout.TextField("Year: ", newLevelEventYear);
        newLevelEventMonth       = EditorGUILayout.TextField("Month: ", newLevelEventMonth);
        newLevelEventDay         = EditorGUILayout.TextField("Day: ", newLevelEventDay);
        newLevelEventHour        = EditorGUILayout.TextField("Hour: ", newLevelEventHour);
        newLevelEventMinutes     = EditorGUILayout.TextField("Minutes: ", newLevelEventMinutes);

        if (GUILayout.Button("ADD LEVEL EVENT"))
        {
            if (string.IsNullOrEmpty(newLevelEventTitle) || string.IsNullOrEmpty(newLevelEventDescription))
            {
                Debug.LogError("Level event Title or Description are empty.");
                return;
            }

            int year = 0;
            if (!int.TryParse(newLevelEventYear, out year))
            {
                Debug.LogError("Couldn't parse year into an int");
                return;
            }

            int month = 0;
            if (!int.TryParse(newLevelEventMonth, out month))
            {
                Debug.LogError("Couldn't parse month into an int");
                return;
            }
            else
            {
                month = month < 1 || month > 12 ? 1 : month;
            }

            int day = 0;
            if (!int.TryParse(newLevelEventDay, out day))
            {
                Debug.LogError("Couldn't parse day into an int");
                return;
            }
            else
            {
                day = day < 1 || day > 31 ? 1 : day;
            }

            int hour = 0;
            if (!int.TryParse(newLevelEventHour, out hour))
            {
                Debug.LogError("Couldn't parse hour into an int");
                return;
            }
            else
            {
                hour = hour < 0 || hour > 23 ? 0 : hour;
            }

            int minutes = 0;
            if (!int.TryParse(newLevelEventMinutes, out minutes))
            {
                Debug.LogError("Couldn't parse minutes into an int");
                return;
            }
            else
            {
                minutes = minutes < 0 || minutes > 59 ? 0 : minutes;
            }

            Agenda.LevelEvent levelEvent = new Agenda.LevelEvent(
                levelEvents.levelEvents.Count,
                newLevelEventTitle,
                newLevelEventDescription,
                new System.DateTime(year, month, day, hour, minutes, 0));

            levelEvents.levelEvents.Add(levelEvent);
            EditorUtility.SetDirty(target);
        }
    }