void InitProcessor() { userIssues = new Dictionary <int, UserIssues>(); for (int i = 0; i < checkedUserIds.Length; i++) { UserIssues tmpIssue = new UserIssues(); tmpIssue.isOccluded = false; tmpIssue.onBorderLeft = false; tmpIssue.onBorderRight = false; tmpIssue.onBorderTop = false; userIssues.Add(checkedUserIds[i], tmpIssue); } FrameBorderIssue issue = new FrameBorderIssue(true, true, true); // just to get fov values const float maxDepth = 10f; Vector3 topLeft = new Vector3(-maxDepth * Mathf.Tan(0.5f * issue.hFov), maxDepth * Mathf.Tan(0.5f * issue.vFov), maxDepth); Vector3 topRight = new Vector3(maxDepth * Mathf.Tan(0.5f * issue.hFov), maxDepth * Mathf.Tan(0.5f * issue.vFov), maxDepth); Vector3 bottomLeft = new Vector3(-maxDepth * Mathf.Tan(0.5f * issue.hFov), -maxDepth * Mathf.Tan(0.5f * issue.vFov), maxDepth); Vector3 bottomRight = new Vector3(maxDepth * Mathf.Tan(0.5f * issue.hFov), -maxDepth * Mathf.Tan(0.5f * issue.vFov), maxDepth); borders = new GameObject[3]; for (int i = 0; i < 3; i++) { borders[i] = new GameObject(); borders[i].transform.position = Vector3.zero; borders[i].transform.rotation = Quaternion.identity; MeshFilter meshFilter = borders[i].AddComponent <MeshFilter>(); MeshRenderer meshRenderer = borders[i].AddComponent <MeshRenderer>(); meshRenderer.material = bordersMaterial; Mesh mesh = new Mesh(); borders[i].name = (i == 0) ? "LeftBorder" : (i == 1) ? "RightBorder" : "TopBorder"; mesh.name = borders[i].name; List <Vector3> verts = new List <Vector3>(); verts.Add(Vector3.zero); verts.Add((i == 0) ? topLeft : (i == 1) ? bottomRight : topRight); verts.Add((i == 0) ? bottomLeft : (i == 1) ? topRight : topLeft); List <int> tris = new List <int>(); tris.Add(0); tris.Add(1); tris.Add(2); mesh.SetVertices(verts); mesh.SetTriangles(tris, 0); mesh.RecalculateNormals(); mesh.RecalculateBounds(); meshFilter.mesh = mesh; borders[i].SetActive(false); } nuitrack.Nuitrack.onIssueUpdateEvent += OnIssuesUpdate; }
public async Task <UserIssues> GetIssuesAsync(string assigneeId, string status) { var client = httpClientFactory.CreateClient(Startup.JiraClientName); var usersData = await client.GetAsync( new Uri($"/rest/api/3/search?jql=assignee={assigneeId} and status in (\"{status}\")", UriKind.Relative)) .ConfigureAwait(false); UserIssues result = new UserIssues(); if (usersData.IsSuccessStatusCode) { result = JsonConvert.DeserializeObject <UserIssues>(await usersData.Content.ReadAsStringAsync().ConfigureAwait(false)); } return(result); }