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());
 }
Ejemplo n.º 4
0
    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);
        }
    }
Ejemplo n.º 9
0
    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);
    }
Ejemplo n.º 12
0
 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());
 }
Ejemplo n.º 13
0
 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;
 }
Ejemplo n.º 16
0
 public Situation(string id, Utility.App app)
 {
     this.id  = id;
     this.app = app;
 }
Ejemplo n.º 17
0
 public SceneLoadObject(Utility.App app, string sceneName)
 {
     this.sceneName = sceneName;
     this.app       = app;
 }
Ejemplo n.º 18
0
 public static void Main()
 {
     Utility.App app = new Utility.App();
     app.InitializeComponent();
     app.Run();
 }
Ejemplo n.º 19
0
 public AppInfo GetAppInfo(Utility.App app)
 {
     return(AppInfoList[(int)app]);
 }