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; } }
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!!!"); } } } }