public override void AssignText(MarkerWithText mrkr, MeshPoint vpoint) { var pvrt = MeshMGMT.GetSelectedVert(); if ((vpoint.uvpoints.Count > 1) || (pvrt == vpoint)) { Texture tex = MeshMGMT.target.meshRenderer.sharedMaterial.mainTexture; if (pvrt == vpoint) { mrkr.textm.text = (vpoint.uvpoints.Count > 1) ? ((vpoint.uvpoints.IndexOf(MeshMGMT.SelectedUV) + 1).ToString() + "/" + vpoint.uvpoints.Count.ToString() + (vpoint.SmoothNormal ? "s" : "")) : ""; float tsize = tex == null ? 128 : tex.width; mrkr.textm.text += ("uv: " + (MeshMGMT.SelectedUV.EditedUV.x * tsize) + "," + (MeshMGMT.SelectedUV.EditedUV.y * tsize)); } else { mrkr.textm.text = vpoint.uvpoints.Count.ToString() + (vpoint.SmoothNormal ? "s" : ""); } } else { mrkr.textm.text = ""; } }
void InitVertsIfNUll() { if (Grid == null) { return; } if (Grid.vertPrefab == null) { Grid.vertPrefab = Resources.Load("prefabs/vertex") as GameObject; } if ((Grid.verts == null) || (Grid.verts.Length == 0) || (Grid.verts[0].go == null)) { Grid.verts = new MarkerWithText[vertsShowMax]; for (int i = 0; i < vertsShowMax; i++) { MarkerWithText v = new MarkerWithText(); Grid.verts[i] = v; v.go = GameObject.Instantiate(Grid.vertPrefab); v.go.transform.parent = Grid.transform; v.Init(); } } Grid.pointedVertex.Init(); Grid.selectedVertex.Init(); #if UNITY_EDITOR EditorApplication.update -= EditingUpdate; if (!PainterCamera.Inst.ApplicationIsAboutToEnterPlayMode()) { EditorApplication.update += EditingUpdate; } #endif }
public override void AssignText(MarkerWithText mrkr, MeshPoint vpoint) { var pvrt = MeshMGMT.GetSelectedVert(); if ((vpoint.uvpoints.Count > 1) || (pvrt == vpoint)) { //Texture tex = meshMGMT.target.GetTextureOnMaterial();//meshRenderer.sharedMaterial.mainTexture; if (pvrt == vpoint) { mrkr.textm.text = (vpoint.uvpoints.Count > 1) ? ((vpoint.uvpoints.IndexOf(MeshMGMT.SelectedUV) + 1).ToString() + "/" + vpoint.uvpoints.Count.ToString() + (vpoint.SmoothNormal ? "s" : "")) : ""; } else { mrkr.textm.text = vpoint.uvpoints.Count.ToString() + (vpoint.SmoothNormal ? "s" : ""); } } else { mrkr.textm.text = ""; } }
public virtual void AssignText(MarkerWithText mrkr, MeshPoint vpoint) { mrkr.textm.text = ""; }
void SORT_AND_UPDATE_UI() { if (Grid == null) { return; } if (Grid.verts[0].go == null) { InitVertsIfNUll(); } // if (_meshTool == MeshTool.vertices) // DrowLinesAroundTargetPiece(); UpdateLocalSpaceV3s(); edMesh.SortAround(collisionPosLocal, false); float scaling = 16; Grid.selectedVertex.go.SetActiveTo(false); Grid.pointedVertex.go.SetActiveTo(false); for (int i = 0; i < vertsShowMax; i++) { Grid.verts[i].go.SetActiveTo(false); } if (MeshTool.ShowVertices) { for (int i = 0; i < vertsShowMax; i++) { if (edMesh.meshPoints.Count > i) { MarkerWithText mrkr = Grid.verts[i]; MeshPoint vpoint = edMesh.meshPoints[i]; Vector3 worldPos = vpoint.WorldPos; float tmpScale; tmpScale = Vector3.Distance(worldPos, Transform.gameObject.TryGetCameraTransform().position) / scaling; if (GetPointedVert() == vpoint) { mrkr = Grid.pointedVertex; tmpScale *= 2; } else if (GetSelectedVert() == edMesh.meshPoints[i]) { mrkr = Grid.selectedVertex; tmpScale *= 1.5f; } mrkr.go.SetActiveTo(true); mrkr.go.transform.position = worldPos; mrkr.go.transform.rotation = Transform.gameObject.TryGetCameraTransform().rotation; mrkr.go.transform.localScale = new Vector3((IsInTrisSet(vpoint) ? 1.5f : 1) * tmpScale, tmpScale, tmpScale); Ray tmpRay = new Ray(); RaycastHit hit; tmpRay.origin = Transform.gameObject.TryGetCameraTransform().position; tmpRay.direction = mrkr.go.transform.position - tmpRay.origin; if ((Physics.Raycast(tmpRay, out hit, 1000)) && (!PlaytimeToolComponent.MeshEditorIgnore.Contains(hit.transform.tag))) { mrkr.go.SetActiveTo(false); } if (SameTrisAsPointed(vpoint)) { mrkr.textm.color = Color.white; } else { mrkr.textm.color = Color.gray; } MeshTool.AssignText(mrkr, vpoint); } } } }