diff --git a/.consulo/compiler.xml b/.consulo/compiler.xml
new file mode 100644
index 0000000..6588eac
--- /dev/null
+++ b/.consulo/compiler.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.consulo/copyright/profiles_settings.xml b/.consulo/copyright/profiles_settings.xml
new file mode 100644
index 0000000..3572571
--- /dev/null
+++ b/.consulo/copyright/profiles_settings.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/.consulo/dictionaries/VISTALL.xml b/.consulo/dictionaries/VISTALL.xml
new file mode 100644
index 0000000..2555bec
--- /dev/null
+++ b/.consulo/dictionaries/VISTALL.xml
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/.consulo/misc.xml b/.consulo/misc.xml
new file mode 100644
index 0000000..aa04165
--- /dev/null
+++ b/.consulo/misc.xml
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.consulo/modules.xml b/.consulo/modules.xml
new file mode 100644
index 0000000..8b95580
--- /dev/null
+++ b/.consulo/modules.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.consulo/uiDesigner.xml b/.consulo/uiDesigner.xml
new file mode 100644
index 0000000..4f4ba57
--- /dev/null
+++ b/.consulo/uiDesigner.xml
@@ -0,0 +1,124 @@
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+
\ No newline at end of file
diff --git a/.consulo/vcs.xml b/.consulo/vcs.xml
new file mode 100644
index 0000000..fa851f7
--- /dev/null
+++ b/.consulo/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index 859bcba..9a521d0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -28,7 +28,6 @@
# Autogenerated VS/MD/Consulo solution and project files
ExportedObj/
-.consulo/
*.csproj
*.unityproj
*.sln
@@ -57,4 +56,7 @@ sysinfo.txt
*.unitypackage
# Crashlytics generated file
-crashlytics-build.properties
\ No newline at end of file
+crashlytics-build.properties
+
+.consulo/workspace.xml
+Managed/
\ No newline at end of file
diff --git a/.npmignore b/.npmignore
index 7af4a4c..bb23b17 100644
--- a/.npmignore
+++ b/.npmignore
@@ -1,2 +1,3 @@
lib/
-.consulo/
\ No newline at end of file
+.consulo/
+Managed/
\ No newline at end of file
diff --git a/CHANGELOG.md.meta b/CHANGELOG.md.meta
index f1fe06b..2180045 100644
--- a/CHANGELOG.md.meta
+++ b/CHANGELOG.md.meta
@@ -1,2 +1,7 @@
fileFormatVersion: 2
-guid: d7263f1482bc4e2289efe6f2e383e913
\ No newline at end of file
+guid: d7263f1482bc4e2289efe6f2e383e913
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Editor.meta b/Editor.meta
index e3ebf18..b31733e 100644
--- a/Editor.meta
+++ b/Editor.meta
@@ -1,2 +1,8 @@
fileFormatVersion: 2
-guid: 107d219d70004926a9a5ab06fe241b25
\ No newline at end of file
+guid: 107d219d70004926a9a5ab06fe241b25
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Editor/Consulo.meta b/Editor/Consulo.meta
index bf77426..087c577 100644
--- a/Editor/Consulo.meta
+++ b/Editor/Consulo.meta
@@ -1,2 +1,8 @@
fileFormatVersion: 2
-guid: eb86f2f5bdd4407aa28051bfd46d107e
\ No newline at end of file
+guid: eb86f2f5bdd4407aa28051bfd46d107e
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Editor/Consulo/ConsuloIntegration.cs b/Editor/Consulo/ConsuloIntegration.cs
index 3b111a8..88b2095 100644
--- a/Editor/Consulo/ConsuloIntegration.cs
+++ b/Editor/Consulo/ConsuloIntegration.cs
@@ -42,6 +42,7 @@ public class ConsuloIntegration
private static int ourLastCheckCacheTime = 5000;
private static int ourLastCheck = -1;
private static bool ourLastCheckResult;
+ private static int ourLastCheckedProcessId = -1;
private static string EditorScriptApp {
get
@@ -129,7 +130,7 @@ static bool OnOpenedAssetCallback(int instanceID, int line)
jsonClass.Add("contentType", new JSONData(selected.GetType().ToString()));
jsonClass.Add("line", new JSONData(line));
- SendToConsulo("unityOpenFile", jsonClass, true);
+ SendToConsulo("unityOpenFile", jsonClass, true, true);
return true;
}
@@ -138,8 +139,9 @@ static bool OnOpenedAssetCallback(int instanceID, int line)
///
///
///
+ /// Focus app
/// Only true if user double click on file
- public static void SendToConsulo(string url, JSONClass jsonClass, bool start = false)
+ public static void SendToConsulo(string url, JSONClass jsonClass, bool focus = false, bool start = false)
{
if(UnityUtil.IsDebugEnabled())
{
@@ -164,10 +166,11 @@ public static void SendToConsulo(string url, JSONClass jsonClass, bool start = f
{
try
{
- SendRequestToConsulo(url, jsonClass);
+ SendRequestToConsulo(url, jsonClass, focus);
}
catch(Exception e)
{
+ UnityEngine.Debug.LogError(e);
EditorUtility.DisplayDialog(PluginConstants.ourDialogTitle, "Consulo is not accessible at http://localhost:" + PluginConstants.ourPort + "/" + url + ", message: " + e.Message, "OK");
}
}
@@ -175,7 +178,7 @@ public static void SendToConsulo(string url, JSONClass jsonClass, bool start = f
{
if(start)
{
- StartConsulo(url, jsonClass);
+ StartConsulo(url, jsonClass, focus);
}
}
}
@@ -185,63 +188,47 @@ public static void SendToConsulo(string url, JSONClass jsonClass, bool start = f
}
}
- #if UNITY_2017_2_OR_NEWER
- private static void SendRequestToConsulo(string url, JSONClass jsonClass)
+ private static void SendRequestToConsulo(string url, JSONClass jsonClass, bool focus)
{
- System.Collections.IEnumerator e = SendRequestToConsuloImpl(url, jsonClass);
- while(e.MoveNext())
+ SendRequestToConsuloImpl(url, jsonClass, () =>
{
- }
+ if (focus)
+ {
+ switch (UnityUtil.OSFamily) {
+ case OSFamily.Windows:
+ if (ourLastCheckedProcessId != -1)
+ {
+ User32Dll.AllowSetForegroundWindow(ourLastCheckedProcessId);
+ }
+ break;
+ }
+ }
+ });
}
- private static System.Collections.IEnumerator SendRequestToConsuloImpl(string url, JSONClass jsonClass)
+ private static void SendRequestToConsuloImpl(string url, JSONClass jsonClass, Action onComplete)
{
string fullUrl = "http://localhost:" + PluginConstants.ourPort + "/api/" + url;
- UnityEngine.Networking.UnityWebRequest post = new UnityEngine.Networking.UnityWebRequest(fullUrl, UnityEngine.Networking.UnityWebRequest.kHttpVerbPOST);
- byte[] jsonToSend = new System.Text.UTF8Encoding().GetBytes(jsonClass.ToString());
- post.uploadHandler = new UnityEngine.Networking.UploadHandlerRaw(jsonToSend);
- post.SetRequestHeader("Content-Type", "application/json");
- post.timeout = ourTimeout;
-
- yield return post.SendWebRequest();
-
- if(post.isHttpError || post.isNetworkError)
- {
- throw new Exception(post.error);
- }
- }
- #else
- private static void SendRequestToConsulo(string url, JSONClass jsonClass)
- {
- WebRequest request = WebRequest.Create("http://localhost:" + PluginConstants.ourPort + "/api/" + url);
- request.Timeout = ourTimeout;
+ HttpWebRequest request = (HttpWebRequest) WebRequest.Create(fullUrl);
request.Method = "POST";
- request.ContentType = "application/json; charset=utf-8";
-
- WebRequestState state = new WebRequestState
+ request.ReadWriteTimeout = 15_000;
+ request.Timeout = 15_000;
+ request.ContentType = "application/json";
+ using (var streamWriter = new StreamWriter(request.GetRequestStream()))
{
- Request = request,
- Json = jsonClass.ToString(),
- };
-
- request.BeginGetRequestStream(new AsyncCallback(WriteCallback), state);
- }
+ string json = jsonClass.ToString();
- private static void WriteCallback(IAsyncResult asynchronousResult)
- {
- WebRequestState state = (WebRequestState) asynchronousResult.AsyncState;
+ streamWriter.Write(json);
+ }
- using (Stream streamResponse = state.Request.EndGetRequestStream(asynchronousResult))
+ using (HttpWebResponse response = (HttpWebResponse) request.GetResponse())
{
- byte[] bytes = Encoding.UTF8.GetBytes(state.Json);
-
- streamResponse.Write(bytes, 0, bytes.Length);
+ // not interest
}
- state.Finished = true;
+ onComplete();
}
- #endif
private static bool IsConsuloStarted(bool useTimeCheck = false)
{
@@ -257,6 +244,7 @@ private static bool IsConsuloStarted(bool useTimeCheck = false)
ourLastCheck = tickCount;
}
+ ourLastCheckedProcessId = -1;
ourLastCheckResult = false;
try
@@ -264,49 +252,75 @@ private static bool IsConsuloStarted(bool useTimeCheck = false)
Process[] processes = Process.GetProcesses();
foreach (Process process in processes)
{
- string processName = process.ProcessName.ToLowerInvariant();
- if(processName.Contains("consulo"))
+ string processName = null;
+
+ try
+ {
+ // System.InvalidOperationException: Process has exited or is inaccessible, so the requested information is not available.
+ processName = process.ProcessName.ToLowerInvariant();
+ }
+ catch
+ {
+ }
+
+ if(processName != null && processName.Contains("consulo"))
{
+ ourLastCheckedProcessId = process.Id;
+
return ourLastCheckResult = true;
}
}
+ }
+ catch (Exception e)
+ {
+ UnityEngine.Debug.LogError(e);
+ }
+ try
+ {
if (UnityUtil.IsSocketSearchingEnabled())
{
- using (Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp))
- {
+ using (Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)) {
sock.ReceiveTimeout = 100;
sock.SendTimeout = 100;
sock.Blocking = true;
sock.Connect("localhost", PluginConstants.ourPort);
- if(sock.Connected)
+ if (sock.Connected)
{
return ourLastCheckResult = true;
}
}
}
}
- catch(Exception e)
+ catch
{
}
return false;
}
- private static void StartConsulo(string url, JSONClass jsonClass)
+ private static void StartConsulo(string url, JSONClass jsonClass, bool focus)
{
+ JSONClass apiCall = new JSONClass();
+ apiCall.Add("url", "/api/" + url);
+ apiCall.Add("body", jsonClass);
+
+ string jsonFilePath = Path.GetTempPath() + Guid.NewGuid().ToString() + ".json";
+
+ File.WriteAllText(jsonFilePath, apiCall.ToString());
+
Process process = new Process();
string scriptApp = EditorScriptApp;
if(new FileInfo(scriptApp).Extension == ".app")
{
process.StartInfo.FileName = "open";
- process.StartInfo.Arguments = string.Format("-n {0}{1}{0} --args {2}", "\"", "/" + scriptApp, "--no-recent-projects");
+ process.StartInfo.Arguments = string.Format("-n {0}{1}{0} --args {2}", "\"", "/" + scriptApp, "--no-recent-projects --json " + jsonFilePath);
}
else
{
process.StartInfo.FileName = scriptApp;
- process.StartInfo.Arguments = "--no-recent-projects";
+ process.StartInfo.Arguments = "--no-recent-projects --json " + jsonFilePath;
process.StartInfo.WorkingDirectory = Directory.GetParent(scriptApp).FullName;
}
@@ -315,31 +329,6 @@ private static void StartConsulo(string url, JSONClass jsonClass)
process.StartInfo.CreateNoWindow = true;
process.StartInfo.RedirectStandardOutput = true;
process.Start();
-
-
- Thread thread = new Thread(() =>
- {
- for(int i = 0; i < 60; i++)
- {
- if(!IsConsuloStarted())
- {
- Thread.Sleep(500);
- continue;
- }
-
- try
- {
- SendRequestToConsulo(url, jsonClass);
- break;
- }
- catch
- {
- Thread.Sleep(500);
- }
- }
- });
- thread.Name = "Sending request to Consulo";
- thread.Start();
}
}
}
\ No newline at end of file
diff --git a/Editor/Consulo/HTTPServer.cs b/Editor/Consulo/HTTPServer.cs
index 0a655b6..0cb04b0 100644
--- a/Editor/Consulo/HTTPServer.cs
+++ b/Editor/Consulo/HTTPServer.cs
@@ -34,7 +34,7 @@
#endif
using UnityEditor;
using UnityEngine;
-using Consulo.Internal.UnityEditor;
+using System.Net.Sockets;
namespace Consulo.Internal.UnityEditor
{
@@ -53,12 +53,31 @@ public HTTPServer(int port)
public void Stop()
{
myStopped = true;
- myListenThread.Abort();
- myListener.Stop();
+ myListenThread?.Abort();
+ myListener?.Stop();
}
private void Listen()
{
+ int count = 0;
+ while(IsPortUsed())
+ {
+ if (myStopped)
+ {
+ return;
+ }
+
+ count ++;
+
+ if (count > 10)
+ {
+ UnityEngine.Debug.LogError(myPort + " used. Can't bind http api server");
+ return;
+ }
+
+ Thread.Sleep(3000);
+ }
+
myListener = new HttpListener();
myListener.Prefixes.Add("http://*:" + myPort + "/");
myListener.Start();
@@ -75,6 +94,23 @@ private void Listen()
}
}
+ private bool IsPortUsed()
+ {
+ try
+ {
+ using (TcpClient ignored = new TcpClient("localhost", myPort))
+ {
+ // jus close it
+ }
+
+ return true;
+ }
+ catch
+ {
+ return false;
+ }
+ }
+
private void Process(HttpListenerContext context)
{
var requestHttpMethod = context.Request.HttpMethod;
diff --git a/Editor/Consulo/OSFamily.cs b/Editor/Consulo/OSFamily.cs
new file mode 100644
index 0000000..dd92155
--- /dev/null
+++ b/Editor/Consulo/OSFamily.cs
@@ -0,0 +1,10 @@
+namespace Consulo.Internal.UnityEditor
+{
+ internal enum OSFamily
+ {
+ Windows,
+ macOS,
+ Linux,
+ Other
+ }
+}
\ No newline at end of file
diff --git a/Editor/Consulo/OSFamily.cs.meta b/Editor/Consulo/OSFamily.cs.meta
new file mode 100644
index 0000000..94cd225
--- /dev/null
+++ b/Editor/Consulo/OSFamily.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d565c5e45d2c24f4290a18a063f2b65b
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Editor/Consulo/PluginConstants.cs b/Editor/Consulo/PluginConstants.cs
index 4519d99..5aba7d0 100644
--- a/Editor/Consulo/PluginConstants.cs
+++ b/Editor/Consulo/PluginConstants.cs
@@ -14,15 +14,13 @@
* limitations under the License.
*/
-using Consulo.Internal.UnityEditor;
-
namespace Consulo.Internal.UnityEditor
{
internal class PluginConstants
{
internal const string ourDialogTitle = "Consulo Plugin";
internal const string ourSocketSearchingKey = "consuloEnableSocketSearching";
- internal const bool ourSocketSearchingValue = true;
+ internal const bool ourSocketSearchingValue = false;
internal const int ourPort = 62242;
//internal const int ourPort = 55333; // dev port
}
diff --git a/Editor/Consulo/Unity.com.consulo.ide.Editor.asmdef.meta b/Editor/Consulo/Unity.com.consulo.ide.Editor.asmdef.meta
index 0e038af..6ca0224 100644
--- a/Editor/Consulo/Unity.com.consulo.ide.Editor.asmdef.meta
+++ b/Editor/Consulo/Unity.com.consulo.ide.Editor.asmdef.meta
@@ -1,2 +1,7 @@
fileFormatVersion: 2
-guid: 334ca48313044c73ab431bee141e6ae9
\ No newline at end of file
+guid: 334ca48313044c73ab431bee141e6ae9
+AssemblyDefinitionImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Editor/Consulo/UnityUtil.cs b/Editor/Consulo/UnityUtil.cs
index 011f8cb..3ed5af6 100644
--- a/Editor/Consulo/UnityUtil.cs
+++ b/Editor/Consulo/UnityUtil.cs
@@ -22,6 +22,21 @@ namespace Consulo.Internal.UnityEditor
{
internal class UnityUtil
{
+ internal static OSFamily OSFamily = FindOSFamily();
+
+ private static OSFamily FindOSFamily()
+ {
+ var os = Environment.OSVersion;
+
+ if(os.VersionString.Contains("Windows"))
+ {
+ return OSFamily.Windows;
+ }
+
+ // TODO [VISTALL] macOS/Linux check need?
+ return OSFamily.Other;
+ }
+
internal static void RunInMainThread(Action action)
{
EditorApplication.CallbackFunction callback = null;
@@ -38,7 +53,7 @@ internal static bool IsDebugEnabled()
#if CONSULO_ACTION_DEBUG
return true;
#else
- return false;
+ return true;
#endif
}
diff --git a/Editor/Consulo/User32Dll.cs b/Editor/Consulo/User32Dll.cs
new file mode 100644
index 0000000..a0ebd75
--- /dev/null
+++ b/Editor/Consulo/User32Dll.cs
@@ -0,0 +1,58 @@
+using System;
+using System.Collections.Generic;
+using System.Runtime.InteropServices;
+
+namespace Consulo.Internal.UnityEditor
+{
+ // https://github.com/JetBrains/resharper-unity/blob/net203/unity/EditorPlugin/NonUnity/User32Dll.cs
+ // Apache 2 License
+ public static class User32Dll
+ {
+ ///
+ /// Gets the ID of the process that owns the window.
+ /// Note that creating a wrapper for that is very expensive because it causes an enumeration of all the system processes to happen.
+ ///
+ public static int GetWindowProcessId(IntPtr hwnd)
+ {
+ uint dwProcessId;
+ GetWindowThreadProcessId(hwnd, out dwProcessId);
+ return unchecked((int) dwProcessId);
+ }
+
+ ///
+ /// Lists the handles of all the top-level windows currently available in the system.
+ ///
+ public static List GetTopLevelWindowHandles()
+ {
+ var retval = new List();
+ EnumWindowsProc callback = (hwnd, param) =>
+ {
+ retval.Add(hwnd);
+ return 1;
+ };
+ EnumWindows(Marshal.GetFunctionPointerForDelegate(callback), IntPtr.Zero);
+ GC.KeepAlive(callback);
+ return retval;
+ }
+
+ public delegate int EnumWindowsProc(IntPtr hwnd, IntPtr lParam);
+
+ [DllImport("user32.dll", CharSet = CharSet.Unicode, PreserveSig = true, SetLastError = true, ExactSpelling = true)]
+ public static extern int EnumWindows(IntPtr lpEnumFunc, IntPtr lParam);
+
+ [DllImport("user32.dll", SetLastError = true)]
+ private static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint lpdwProcessId);
+
+ [DllImport("user32.dll", CharSet = CharSet.Unicode, PreserveSig = true, SetLastError = true, ExactSpelling = true)]
+ public static extern int SetForegroundWindow(IntPtr hWnd);
+
+ [DllImport("user32.dll")]
+ public static extern bool AllowSetForegroundWindow(int dwProcessId);
+
+ [DllImport("user32.dll", CharSet = CharSet.Unicode, PreserveSig = true, SetLastError = true, ExactSpelling = true)]
+ public static extern uint ShowWindow(IntPtr hWnd, int nCmdShow);
+
+ [DllImport("User32.dll")]
+ public static extern bool IsIconic(IntPtr handle);
+ }
+}
\ No newline at end of file
diff --git a/Editor/Consulo/User32Dll.cs.meta b/Editor/Consulo/User32Dll.cs.meta
new file mode 100644
index 0000000..4690535
--- /dev/null
+++ b/Editor/Consulo/User32Dll.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 17c7b59329882bb4f8c0270f37b18d97
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Editor/Consulo/WebApiServer.cs b/Editor/Consulo/WebApiServer.cs
index 229b5dd..a4d8f0b 100644
--- a/Editor/Consulo/WebApiServer.cs
+++ b/Editor/Consulo/WebApiServer.cs
@@ -20,7 +20,6 @@
using System.IO;
using UnityEditor;
using UnityEngine;
-using Consulo.Internal.UnityEditor;
namespace Consulo.Internal.UnityEditor
{
@@ -30,10 +29,17 @@ public class WebApiServer
public static string ourCurrentTestUUID;
public static string ourCurrentTestName;
+ private static string ourDataPathForLogging;
+
private static MessageSender ourMessageSender;
static WebApiServer()
{
+ if(Application.isBatchMode)
+ {
+ return;
+ }
+
Process currentProcess = Process.GetCurrentProcess();
int unityConsuloPluginPort = 56000 + currentProcess.Id % 1000 + 2000; // 56000 + 2000
@@ -50,6 +56,8 @@ static WebApiServer()
UnityUtil.RunInMainThread(() =>
{
+ ourDataPathForLogging = Application.dataPath;
+
AppDomain.CurrentDomain.DomainUnload += (sender, e) =>
{
EditorUserBuildSettings.activeBuildTargetChanged -= action;
@@ -64,7 +72,7 @@ static WebApiServer()
Application.RegisterLogCallback((condition, stackTrace, type) =>
{
// we can't use debug and log handler
- if(UnityUtil.IsDebugEnabled())
+ if(UnityUtil.IsDebugEnabled() || string.IsNullOrEmpty(ourDataPathForLogging))
{
return;
}
@@ -88,14 +96,14 @@ static WebApiServer()
jsonClass.Add("condition", cutTooLogMessage(condition));
jsonClass.Add("stackTrace", stackTrace);
- jsonClass.Add("projectPath", Path.GetDirectoryName(Application.dataPath));
+ jsonClass.Add("projectPath", Path.GetDirectoryName(ourDataPathForLogging));
jsonClass.Add("type", Enum.GetName(typeof(LogType), type));
Push("unityLog", jsonClass);
}
});
- EditorApplication.playmodeStateChanged += delegate
+ EditorApplication.playmodeStateChanged += () =>
{
JSONClass jsonClass = new JSONClass();
@@ -118,6 +126,11 @@ private static string cutTooLogMessage(string message)
public static void Push(string url, JSONClass message)
{
+ if(Application.isBatchMode)
+ {
+ return;
+ }
+
ourMessageSender.Push(url, message);
}
}
diff --git a/LICENSE.md.meta b/LICENSE.md.meta
index 6709c4b..8c4b225 100644
--- a/LICENSE.md.meta
+++ b/LICENSE.md.meta
@@ -1,2 +1,7 @@
fileFormatVersion: 2
-guid: f6b94658802b4c49a7f6b05c3a65bfe7
\ No newline at end of file
+guid: f6b94658802b4c49a7f6b05c3a65bfe7
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/NOTICE.txt b/NOTICE.txt
new file mode 100644
index 0000000..29461b8
--- /dev/null
+++ b/NOTICE.txt
@@ -0,0 +1 @@
+Contains some from https://github.com/JetBrains/resharper-unity Apache 2
\ No newline at end of file
diff --git a/NOTICE.txt.meta b/NOTICE.txt.meta
new file mode 100644
index 0000000..3d72411
--- /dev/null
+++ b/NOTICE.txt.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 6da32d56a15b2734d8942c472e740a70
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/README.md b/README.md
index aee4fc2..1f5aea6 100644
--- a/README.md
+++ b/README.md
@@ -4,39 +4,23 @@ Need add package to package list in `manifest.json`
> Packages/manifest.json
-## Before 2019.3 (due certificate problem - use http protocol)
```json
{
- "scopedRegistries": [
- {
- "name": "Main",
- "url": "http://upm.consulo.io/",
- "scopes": [
- "com.consulo"
- ]
- }
- ],
"dependencies": {
- "com.consulo.ide": "2.2.0"
+ "com.consulo.ide": "https://github.com/consulo/UnityEditorConsuloPlugin.git#2.6.0"
}
}
```
-## After 2019.3
+## For advanced users
+
+Package can use be used as git repository - but be careful, master is dev branch.
```json
-{
- "scopedRegistries": [
- {
- "name": "Main",
- "url": "https://upm.consulo.io/",
- "scopes": [
- "com.consulo"
- ]
- }
- ],
"dependencies": {
- "com.consulo.ide": "2.2.0"
+ "com.consulo.ide": "https://github.com/consulo/UnityEditorConsuloPlugin.git"
}
-}
-```
\ No newline at end of file
+```
+
+# Links
+ * [Help](https://consulo.help/plugins/consulo.unity3d/)
diff --git a/README.md.meta b/README.md.meta
index 5ba2930..bf89cf3 100644
--- a/README.md.meta
+++ b/README.md.meta
@@ -1,2 +1,7 @@
fileFormatVersion: 2
-guid: 9007b5d4b05a474883374a6fa0d7a38d
\ No newline at end of file
+guid: 9007b5d4b05a474883374a6fa0d7a38d
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/package.json b/package.json
index ad09b6c..3ba6f34 100644
--- a/package.json
+++ b/package.json
@@ -1,10 +1,8 @@
{
"name": "com.consulo.ide",
"displayName": "UnityEditor Consulo Plugin",
- "version": "2.2.0",
+ "version": "2.7.0",
"description": "Plugin for UnityEditor add some usefull actions for Consulo",
"author": "https://consulo.io",
- "license": "Apache-2.0",
- "unity": "2018.0",
- "unityRelease": "0a12"
+ "license": "Apache-2.0"
}
\ No newline at end of file
diff --git a/package.json.meta b/package.json.meta
index e374803..46dbf5d 100644
--- a/package.json.meta
+++ b/package.json.meta
@@ -1,2 +1,7 @@
fileFormatVersion: 2
-guid: 99cb47334480420084b52607dec950e8
\ No newline at end of file
+guid: 99cb47334480420084b52607dec950e8
+PackageManifestImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant: