public static ProfileBlock Start(string sampleNameFormat, object obj) { #if ZEN_TESTS_OUTSIDE_UNITY return(null); #else if (UnityMainThread == null || !UnityMainThread.Equals(System.Threading.Thread.CurrentThread)) { return(null); } if (!Profiler.enabled) { return(null); } // We need to ensure that we do not have per-frame allocations in ProfileBlock // to avoid infecting the test too much, so use a cache of formatted strings given // the input values // This only works if the input values do not change per frame var hash = GetHashCode(sampleNameFormat, obj); string formatString; if (!_nameCache.TryGetValue(hash, out formatString)) { formatString = string.Format(sampleNameFormat, obj); _nameCache.Add(hash, formatString); } return(StartInternal(formatString)); #endif }
private void _buildOnlineServer() { UnityMainThread.Spawn(); var manager = NetworkManager.GetInstance(); var secret = "14508888"; var network = manager.GetComponent(); network.Url = "ws://127.0.0.1/socket.io/?EIO=4&transport=websocket"; var i = 0; network.On("open", (e) => { if (i == 0) { network.Emit("serverCreated", JSONObject.Create($"{{\"token\":\"{secret}\"}}")); } i++; }); network.On("serverCreated", _serverCreated); network.Connect(); _gameKiller = _waitServer(); StartCoroutine(_gameKiller); }
static void StartDownloadingData(string url, Action <object> OnGetData) { ServicePointManager.ServerCertificateValidationCallback += (send, certificate, chain, sslPolicyErrors) => { return(true); }; using (WebClient client = new WebClient()) { try { string response = client.DownloadString(url); response = Regex.Replace(response, @"\\u([\dA-Fa-f]{4})", v => ((char)Convert.ToInt32(v.Groups[1].Value, 16)).ToString()); //As we can not access any Unity related API in worker thread dispatching the result in main thread via helper class UnityMainThread.ExecuteOnMainThread(OnGetData, response); } catch (Exception ex) { UnityMainThread.ExecuteOnMainThread(OnGetData, ex); } } }
public static ProfileBlock Start(string sampleName) { #if ZEN_TESTS_OUTSIDE_UNITY return(null); #else if (UnityMainThread == null || !UnityMainThread.Equals(System.Threading.Thread.CurrentThread)) { return(null); } if (!Profiler.enabled) { return(null); } return(StartInternal(sampleName)); #endif }
void Awake() { wkr = this; }
public static SimpleCoroutineAwaiter GetAwaiter(this UnityMainThread instruction) { return(GetAwaiterReturnVoid(instruction)); }