private void DrawRectGizmos() { if (Event.current.type == EventType.Repaint) { var selectedSprite = skinningCache.selectedSprite; var sprites = skinningCache.GetSprites(); var unselectedRectColor = new Color(1f, 1f, 1f, 0.5f); foreach (var sprite in sprites) { var skeleton = skinningCache.GetEffectiveSkeleton(sprite); Debug.Assert(skeleton != null); if (skeleton.isPosePreview) { continue; } var color = unselectedRectColor; if (sprite == selectedSprite) { color = DrawingUtility.kSpriteBorderColor; } if (skinningCache.mode == SkinningMode.Character && sprite != selectedSprite) { continue; } var matrix = sprite.GetLocalToWorldMatrixFromMode(); var rect = new Rect(matrix.MultiplyPoint3x4(Vector3.zero), sprite.textureRect.size); DrawingUtility.BeginLines(color); DrawingUtility.DrawBox(rect); DrawingUtility.EndLines(); } } }
private void DrawSpriteMesh(SpriteCache sprite, float weightMapOpacity) { Debug.Assert(m_Material != null); var meshPreview = sprite.GetMeshPreview(); var meshCache = sprite.GetMesh(); Debug.Assert(meshPreview != null); if (meshPreview.mesh == null || meshPreview.mesh.vertexCount == 0) { DrawDefaultSpriteMesh(sprite); } else { m_Material.mainTexture = meshCache.textureDataProvider.texture; m_Material.SetFloat("_Opacity", 1f); m_Material.SetFloat("_VertexColorBlend", weightMapOpacity); m_Material.color = Color.white; DrawingUtility.DrawMesh(meshPreview.mesh, m_Material, sprite.GetLocalToWorldMatrixFromMode()); } }
public void DrawVertexSelected(Vector2 position) { DrawingUtility.DrawGUIStyleCap(0, position, Quaternion.identity, 1f, styles.pointSelectedStyle); }