public static string WriteDataClass(Utility.App app, string templateId, string folderPath) { // remove whitespace and minus string name = templateId + "_" + (int)app + "_" + "NotificationData"; name = name.Replace(" ", "_"); name = name.Replace("-", "_"); string copyPath = Application.dataPath + folderPath + "/DataScripts/" + name + ".cs"; Debug.Log("Creating Classfile: " + copyPath); if (File.Exists(copyPath) == false) { // do not overwrite using (StreamWriter outfile = new StreamWriter(copyPath)) { outfile.WriteLine("using UnityEngine;"); outfile.WriteLine("using System.Collections;"); outfile.WriteLine("using System.Collections.Generic;"); outfile.WriteLine("public class " + name + " : NotificationData"); outfile.WriteLine("{ "); outfile.WriteLine(" "); outfile.WriteLine(" //Auto generated content"); outfile.WriteLine(" protected override void initialize()"); outfile.WriteLine(" {"); outfile.WriteLine(" int appInt = " + (int)app + ";"); outfile.WriteLine(" app = (Utility.App)appInt;"); outfile.WriteLine(" templateId = \"" + templateId + "\";"); outfile.WriteLine(" }"); outfile.WriteLine(" "); outfile.WriteLine("}"); }//File written } return(name); }
public static string WriteViewClass(Utility.App app, string templateId, string folderPath) { // remove whitespace and minus string name = templateId + "_" + (int)app + "_" + "NotificationView"; name = name.Replace(" ", "_"); name = name.Replace("-", "_"); string copyPath = Application.dataPath + folderPath + "/ViewScripts/" + name + ".cs"; Debug.Log("Creating Classfile: " + copyPath); string dataTypeName = templateId + "_" + (int)app + "_" + "NotificationData"; if (File.Exists(copyPath) == false) { // do not overwrite using (StreamWriter outfile = new StreamWriter(copyPath)) { outfile.WriteLine("using UnityEngine;"); outfile.WriteLine("using System.Collections;"); outfile.WriteLine("using System.Collections.Generic;"); outfile.WriteLine("public class " + name + " : NotificationView"); outfile.WriteLine("{ "); outfile.WriteLine(" "); outfile.WriteLine(" public override void ResolveNotificationData(NotificationData notifiData)"); outfile.WriteLine(" {"); outfile.WriteLine(" " + dataTypeName + " data = (" + dataTypeName + ")notifiData;"); outfile.WriteLine(" }"); outfile.WriteLine("}"); }//File written } return(name); }
public GameObject[] GetPrefabList(Utility.App app) { if (ViewTemplatePrefab == null || ViewTemplatePrefab[(int)app] == null) { return(new GameObject[0]); } return(ViewTemplatePrefab[(int)app].ToArray()); }
public void LoadAppScene(Utility.App app, string sceneName) { SceneLoadObject sceneLoadObject = new SceneLoadObject(app, sceneName); m_sceneToLoad.Enqueue(sceneLoadObject); if (m_loadSceneCoroutine == null) { m_loadSceneCoroutine = StartCoroutine(sceneLoading()); } }
public void HideNotification(Utility.App app, string notificationIdentifier) { NotificationId id = new NotificationId(app, notificationIdentifier); NotificationView notificationView; if (tryGetNotificationView(id, out notificationView)) { StartCoroutine(notificationView.HideTransition(m_lerpSpeed, m_lerpThreshold, destroyNotification, notificationView)); } }
public string[] GetTemplateOption(Utility.App app) { GameObject[] prefabs = GetPrefabList(app); string[] option = new string[prefabs.Length]; for (int i = 0; i < option.Length; i++) { option[i] = prefabs[i].GetComponent <NotificationView>().TemplateId; } return(option); }
public NotificationData CreateDataInstance(Utility.App app, string templateId) { GameObject prefab; if (PrefabManager.TryGetPrefab(app, templateId, out prefab)) { System.Type dataType = System.Type.GetType(prefab.GetComponent <NotificationView>().NotificationDataReflection); NotificationData data = (NotificationData)System.Activator.CreateInstance(dataType); data.App = app; data.TemplateId = templateId; return(data); } return(null); }
public static void DeleteDataClass(Utility.App app, string templateId, string folderPath) { string name = templateId + "_" + (int)app + "_" + "NotificationData"; name = name.Replace(" ", "_"); name = name.Replace("-", "_"); string copyPath = Application.dataPath + folderPath + "/DataScripts/" + name + ".cs"; Debug.Log("Delete Classfile: " + copyPath); if (File.Exists(copyPath)) { // do not overwrite UnityEditor.VersionControl.Provider.Delete(copyPath); } }
public void Initialize(Utility.App app, string templateId, string notificationIdentifier) { m_id.app = app; TemplateId = templateId; m_id.id = notificationIdentifier; AppInfo info = Utility.GetAppInfo(app); if (!info) { return; } SetIcon(info.AppIcon); SetTitle(info.AppName); }
public bool TryGetPrefab(Utility.App app, string templateId, out GameObject prefab) { GameObject temp; for (int i = 0; i < ViewTemplatePrefab[(int)app].Count; i++) { temp = ViewTemplatePrefab[(int)app][i]; if (temp.GetComponent <NotificationView>().TemplateId == templateId) { prefab = temp; return(true); } } prefab = null; return(false); }
public bool IsContainPrefab(Utility.App app, string templateId) { if (ViewTemplatePrefab == null) { return(false); } if (ViewTemplatePrefab[(int)app] == null) { return(false); } GameObject temp; for (int i = 0; i < ViewTemplatePrefab[(int)app].Count; i++) { temp = ViewTemplatePrefab[(int)app][i]; if (temp.GetComponent <NotificationView>().TemplateId == templateId) { return(true); } } return(false); }
public void ShowAppContent(Utility.App app) { hidePreApp(); ViewController.Instance.CurrentAppController = Utility.GetAppController(app); if (!ViewController.Instance.CurrentAppController) { return; } if (!ViewController.Instance.CurrentAppController.RootUI) { return; } SetAppContentInfo(ViewController.Instance.CurrentAppController.AppInfo); ViewController.Instance.CurrentAppController.RootUI.gameObject.SetActive(true); AppWindow.gameObject.SetActive(true); if (m_appPanelShowTransition != null) { ViewController.Instance.StopCoroutine(m_appPanelShowTransition); m_appPanelShowTransition = null; } m_appPanelShowTransition = ViewController.Instance.StartCoroutine(showTransition()); }
public void SetValue(Utility.App app, AppInfo value) { AppInfoList[(int)app] = value; }
private void OnGUI() { //Debug.Log(NotificationController.PrefabManager.GetPrefabList(Utility.App.Text).Length); //Debug.Log(m_templateOption[0]); if (!NotificationEditingBehavior.Instance) { EditorGUILayout.LabelField("Notification Editor Not Found", EditorStyles.boldLabel); EditingBehaviorFound = false; return; } if (!EditingBehaviorFound) { EditingBehaviorFound = true; UpdateInfo(); } if (m_fileWritten || m_fileDeleting) { EditorGUILayout.LabelField("Wait to compile"); return; } GUIStyle onRight = new GUIStyle(GUI.skin.button); onRight.alignment = TextAnchor.MiddleRight; EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("App: ", GUILayout.Width(150)); Utility.App tempApp = (Utility.App)EditorGUILayout.EnumPopup(m_selectedApp); if (tempApp != m_selectedApp) { m_selectedApp = tempApp; m_selectedTemplate = 0; UpdateInfo(); } EditorGUILayout.EndHorizontal(); if (!IsCreating) { if (m_templateOption.Length == 0) { m_templateOption = new[] { "" }; } EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Template: ", GUILayout.Width(150)); int tempTemplate = EditorGUILayout.Popup(m_selectedTemplate, m_templateOption); if (tempTemplate != m_selectedTemplate) { m_selectedTemplate = tempTemplate; UpdateInfo(); } EditorGUILayout.EndHorizontal(); } if (!IsCreating) { EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Reload Notification View", GUILayout.Width(150))) { UpdateInfo(); } EditorGUILayout.Space(); EditorGUILayout.EndHorizontal(); } if (!IsCreating) { if (NotificationViewObject) { EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.LabelField(" Notification View Editor ", GUILayout.Width(150)); Editor viewEditor = Editor.CreateEditor(NotificationView); viewEditor.DrawDefaultInspector(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Height", GUILayout.Width(150)); EditorGUI.BeginChangeCheck(); NotificationView.Height = EditorGUILayout.Slider(NotificationView.Height, 0f, 2f); if (EditorGUI.EndChangeCheck()) { Undo.RegisterCompleteObjectUndo(NotificationView, "Change Height"); } EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.Space(); if (GUILayout.Button("Customizable Panel", GUILayout.Width(210))) { Selection.activeGameObject = NotificationView.CustomizablePanel.gameObject; } EditorGUILayout.Space(); EditorGUILayout.EndHorizontal(); } } if (!IsCreating) { if (NotificationViewObject) { EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.Space(); EditorGUILayout.Space(); if (GUILayout.Button("Save", GUILayout.Width(60))) { PrefabUtility.ApplyPrefabInstance(NotificationViewObject, InteractionMode.UserAction); } EditorGUILayout.Space(); if (GUILayout.Button("Delete", GUILayout.Width(60))) { if (EditorUtility.DisplayDialog("Delete Notification Template", "Are you sure you want to delete template: " + m_templateOption[m_selectedTemplate], "Delete", "Cancel")) { deleteFiles(); } } EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.EndHorizontal(); } } if (!IsCreating) { EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.Space(); if (GUILayout.Button("Create new Template", GUILayout.Width(150))) { IsCreating = true; UpdateInfo(); m_templateID2Create = ""; } EditorGUILayout.Space(); EditorGUILayout.EndHorizontal(); } if (!IsCreating) { if (m_notificationData) { EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.LabelField(" Test View with Notification Data"); Editor dataEditor = Editor.CreateEditor(m_notificationData); dataEditor.DrawDefaultInspector(); } } if (IsCreating) { bool containedError = false; bool emptyError = false; EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Template ID : ", GUILayout.Width(100)); m_templateID2Create = EditorGUILayout.TextField(m_templateID2Create, GUILayout.Width(100)); EditorGUILayout.Space(); if (GUILayout.Button("Create", GUILayout.Width(70))) { if (m_templateID2Create == "") { emptyError = true; } else if (NotificationEditingBehavior.Instance.NotificationController.PrefabManager.IsContainPrefab(m_selectedApp, m_templateID2Create)) { containedError = true; } createTemplate(); containedError = false; emptyError = false; } if (GUILayout.Button("Cancel", GUILayout.Width(70))) { IsCreating = false; UpdateInfo(); } EditorGUILayout.EndHorizontal(); if (containedError) { EditorGUILayout.LabelField("[ERROR] Template ID already EXISTS"); } if (emptyError) { EditorGUILayout.LabelField("[ERROR] Template ID cannot be EMPTY"); } } if (!IsCreating) { if (m_notificationData) { EditorGUILayout.Space(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.Space(); if (GUILayout.Button("Reload Data")) { ReloadData(); } EditorGUILayout.Space(); EditorGUILayout.EndHorizontal(); } } //EditorGUILayout.BeginHorizontal(); //EditorGUILayout.Space(); //if (GUILayout.Button("Refresh", GUILayout.Width(70))) //{ // UpdateInfo(); //} //EditorGUILayout.Space(); //EditorGUILayout.EndHorizontal(); }
public NotificationId(Utility.App app, string id) { this.app = app; this.id = id; }
public Situation(string id, Utility.App app) { this.id = id; this.app = app; }
public SceneLoadObject(Utility.App app, string sceneName) { this.sceneName = sceneName; this.app = app; }
public static void Main() { Utility.App app = new Utility.App(); app.InitializeComponent(); app.Run(); }
public AppInfo GetAppInfo(Utility.App app) { return(AppInfoList[(int)app]); }