예제 #1
0
        public static void Uninstall()
        {
            bool _startUninstall = EditorUtility.DisplayDialog(kUninstallAlertTitle, kUninstallAlertMessage, "Uninstall", "Cancel");

            if (_startUninstall)
            {
                foreach (string _eachFolder in kPluginFolders)
                {
                    string _absolutePath = AssetsUtility.AssetPathToAbsolutePath(_eachFolder);

                    if (Directory.Exists(_absolutePath))
                    {
                        Directory.Delete(_absolutePath, true);

                        // Delete meta files.
                        FileOperations.Delete(_absolutePath + ".meta");
                    }
                }

                // For LITE version we need to remove defines.
                GlobalDefinesManager _definesManager = new GlobalDefinesManager();

                foreach (int _eachCompiler in System.Enum.GetValues(typeof(GlobalDefinesManager.eCompiler)))
                {
                    _definesManager.RemoveDefineSymbol((GlobalDefinesManager.eCompiler)_eachCompiler, NPSettings.kLiteVersionMacro);
                }

                _definesManager.SaveAllCompilers();

                AssetDatabase.Refresh();
                EditorUtility.DisplayDialog("Cross Platform Native Plugins",
                                            "Uninstall successful!",
                                            "Ok");
            }
        }
예제 #2
0
        private void OnTwitterConfigurationChanged()
        {
            // Take action on configuration changes
            OnApplicationConfigurationChanged();

#if !(UNITY_WEBPLAYER || UNITY_WEBGL)
            // Update defines
            GlobalDefinesManager _definesManager = new GlobalDefinesManager();

            if (Application.SupportedFeatures.UsesTwitter)
            {
                _definesManager.AddNewDefineSymbol(GlobalDefinesManager.eCompiler.CSHARP, kTwitterDefine);
                _definesManager.AddNewDefineSymbol(GlobalDefinesManager.eCompiler.BOO, kTwitterDefine);
                _definesManager.AddNewDefineSymbol(GlobalDefinesManager.eCompiler.EDITOR, kTwitterDefine);
                _definesManager.AddNewDefineSymbol(GlobalDefinesManager.eCompiler.UNITY_SCRIPT, kTwitterDefine);
            }
            else
            {
                _definesManager.RemoveDefineSymbol(GlobalDefinesManager.eCompiler.CSHARP, kTwitterDefine);
                _definesManager.RemoveDefineSymbol(GlobalDefinesManager.eCompiler.BOO, kTwitterDefine);
                _definesManager.RemoveDefineSymbol(GlobalDefinesManager.eCompiler.EDITOR, kTwitterDefine);
                _definesManager.RemoveDefineSymbol(GlobalDefinesManager.eCompiler.UNITY_SCRIPT, kTwitterDefine);
            }

            _definesManager.SaveAllCompilers();
#endif
        }
예제 #3
0
 public static void RemoveDefineChecking(string p_defineName, bool p_removeFromGlobalDefineToo = true, bool p_forceSave = false)
 {
     DefineByFolderName.Remove(p_defineName);
     if (p_removeFromGlobalDefineToo)
     {
         GlobalDefinesManager.RemoveDefineChecking(p_defineName);
     }
     if (p_forceSave)
     {
         Save();
     }
 }
예제 #4
0
 public static void CheckDefines()
 {
     foreach (AOTKeyValuePair <string, string> v_pair in DefineByFolderName)
     {
         if (v_pair != null)
         {
             if (KiltUtils.FileExists(v_pair.Key))
             {
                 GlobalDefinesManager.AddDefineChecking(v_pair.Value);
             }
             else
             {
                 GlobalDefinesManager.RemoveDefineChecking(v_pair.Value);
             }
         }
     }
 }
예제 #5
0
    public static void Save(bool p_checkDefines = false)
    {
        Load();
        string v_currentPath = KiltUtils.SearchFile(AUTOMATIC_DEFINE_SAVE);

        if (string.IsNullOrEmpty(v_currentPath))
        {
            SerializerHelper.Serialize(s_defineByFolderName, "Editor", AUTOMATIC_DEFINE_SAVE, true, SerializationTypeEnum.JSON);
        }
        else
        {
            SerializerHelper.Serialize(s_defineByFolderName, v_currentPath, SerializationTypeEnum.JSON);
        }
        AssetDatabase.Refresh();
        if (p_checkDefines)
        {
            CheckDefines();
        }
        GlobalDefinesManager.Save();
    }
예제 #6
0
    void OnGUI()
    {
        Color oldColor = GUI.backgroundColor;

        defs = GlobalDefinesManager.Defines;

        scroll = GUILayout.BeginScrollView(scroll);

        GUI.backgroundColor = Color.cyan;
        if (GUILayout.Button("Add"))
        {
            defs.Add("NEW_DEFINE");
        }
        GUI.backgroundColor = oldColor;

        GUILayout.Space(4);

        List <string> v_definesToRemove = new List <string>();

        for (int i = 0; i < defs.Count; i++)
        {
            GUILayout.BeginHorizontal();

            defs[i] = EditorGUILayout.TextField(defs[i]);

            GUI.backgroundColor = Color.red;
            if (GUILayout.Button("X", GUILayout.MaxWidth(24), GUILayout.MaxHeight(15)))
            {
                v_definesToRemove.AddChecking(defs[i]);
            }
            GUI.backgroundColor = oldColor;

            GUILayout.EndHorizontal();
        }

        foreach (string v_defineToRemove in v_definesToRemove)
        {
            GlobalDefinesManager.RemoveDefineChecking(v_defineToRemove);
        }
        v_definesToRemove.Clear();

        GUILayout.Space(4);

        GUILayout.EndScrollView();


        GUILayout.BeginHorizontal();
        GUI.backgroundColor = Color.green;
        if (GUILayout.Button("Apply"))
        {
            GlobalDefinesManager.Save();
        }
        GUI.backgroundColor = Color.magenta;
        if (GUILayout.Button("Refresh"))
        {
            GlobalDefinesManager.Load();
        }

        GUILayout.EndHorizontal();
        GUI.backgroundColor = oldColor;
    }
예제 #7
0
 void OnEnable()
 {
     GlobalDefinesManager.Load();
 }