Ejemplo n.º 1
0
    void SetRepeatType(repeatOptions op)
    {
        switch (op)
        {
        case repeatOptions.Daily:
            repeatDaily   = true;
            repeatWeekly  = false;
            repeatMonthly = false;
            repeatYearly  = false;
            noRepeat      = false;
            break;

        case repeatOptions.Weekly:
            repeatDaily   = false;
            repeatWeekly  = true;
            repeatMonthly = false;
            repeatYearly  = false;
            noRepeat      = false;
            break;

        case repeatOptions.Monthly:
            repeatDaily   = false;
            repeatWeekly  = false;
            repeatMonthly = true;
            repeatYearly  = false;
            noRepeat      = false;
            break;

        case repeatOptions.Yearly:
            repeatDaily   = false;
            repeatWeekly  = false;
            repeatMonthly = false;
            repeatYearly  = true;
            noRepeat      = false;
            break;

        case repeatOptions.NoRepeat:
            repeatDaily   = false;
            repeatWeekly  = false;
            repeatMonthly = false;
            repeatYearly  = false;
            noRepeat      = true;
            break;

        default:
            Debug.Log("Unrecognized option in SetRepeatType");
            break;
        }
    }
Ejemplo n.º 2
0
    void OnGUI()
    {
        DateTime dateResult;

        EditorGUIUtility.labelWidth = 500;
        GUILayout.Label("Base Settings", EditorStyles.boldLabel);
        nickname  = EditorGUILayout.TextField("Object Name", nickname);
        audioClip = (AudioClip)EditorGUILayout.ObjectField("Clip to trigger", audioClip, typeof(AudioClip), true);
        GizmoGo.transform.position = (Vector3)EditorGUILayout.Vector3Field("Placement Target", GizmoGo.transform.position);



        DateTimeEnabled      = EditorGUILayout.BeginToggleGroup("Trigger By DateTime", DateTimeEnabled);
        targetDateTimeString = EditorGUILayout.TextField("Target Date/Time in format mm/dd/yyyy hh:mm:ss (24 hour clock)", targetDateTimeString);
        if (DateTime.TryParse(targetDateTimeString, out dateResult))
        {
            validDateTime  = true;
            targetDateTime = dateResult;
        }
        else
        {
            Debug.Log("Invalid DateTime!");
        }
        if (isHijri == false)
        {
            calendarType = "Gregorian";
        }
        else
        {
            calendarType = "Hijri";
        }
        isHijri = EditorGUILayout.Toggle("Hijri Calendar?", isHijri);
        EditorGUILayout.SelectableLabel("Calendar type... " + calendarType.ToString());
        op = (repeatOptions)EditorGUILayout.EnumPopup("Repeat type", op);
        EditorGUILayout.EndToggleGroup();
        Debug.Log(targetDateTime.ToString());

        SunAngleEnabled = EditorGUILayout.BeginToggleGroup("Trigger By Sun Angle", SunAngleEnabled);
        EditorGUILayout.EndToggleGroup();

        MoonAngleEnabled = EditorGUILayout.BeginToggleGroup("Trigger by Moon Angle", MoonAngleEnabled);
        EditorGUILayout.EndToggleGroup();

        if (GUILayout.Button("Add to scene"))
        {
            if (!DateTimeEnabled && !MoonAngleEnabled && !SunAngleEnabled)
            {
                tempObj = new GameObject();
                tempObj.transform.position = GizmoGo.transform.position;
                tempObj.AddComponent <AudioSource> ();
                tempObj.GetComponent <AudioSource> ().clip = audioClip;
                tempObj.AddComponent <GenericAudioBehaviour> ();
            }
            if (DateTimeEnabled)
            {
                if (validDateTime)
                {
                    tempObj = new GameObject();
                    tempObj.transform.position = GizmoGo.transform.position;
                    tempObj.AddComponent <AudioSource> ();
                    tempObj.GetComponent <AudioSource> ().clip = audioClip;
                    tempObj.AddComponent <GenericAudioBehaviour> ();
                    tempObj.GetComponent <GenericAudioBehaviour> ().targetDateTime = this.targetDateTime;
                    tempObj.GetComponent <GenericAudioBehaviour> ().noRepeat       = this.noRepeat;
                    tempObj.GetComponent <GenericAudioBehaviour> ().repeatDaily    = this.repeatDaily;
                    tempObj.GetComponent <GenericAudioBehaviour> ().repeatMonthly  = this.repeatMonthly;
                    tempObj.GetComponent <GenericAudioBehaviour> ().repeatWeekly   = this.repeatWeekly;
                    tempObj.GetComponent <GenericAudioBehaviour> ().repeatYearly   = this.repeatYearly;
                    tempObj.name = nickname;
                }
                if (!validDateTime)
                {
                    Debug.LogError("DateTime must be valid!!!");
                }
            }
        }
    }