static void Gizmos_EditNone_Box(Transform t, ProxyVolume d, ProxyVolumeUI s, Object o)
        {
            var mat = Gizmos.matrix;

            Gizmos.matrix = t.localToWorldMatrix;

            Gizmos.color = k_GizmoThemeColorProjection;
            Gizmos.DrawWireCube(d.boxOffset, d.boxSize);

            Gizmos.matrix = mat;
        }
        static void Gizmos_EditNone_Box(Transform t, ProxyVolume d, ProxyVolumeUI s, Object o)
        {
            var mat = Gizmos.matrix;

            Gizmos.matrix = Matrix4x4.TRS(t.position, t.rotation, Vector3.one);

            Gizmos.color = k_GizmoThemeColorProjection;
            Gizmos.DrawWireCube(Vector3.zero, d.boxSize);

            Gizmos.matrix = mat;
        }
        static void Gizmos_EditNone_Sphere(Transform t, ProxyVolume d, ProxyVolumeUI s, Object o)
        {
            var mat = Gizmos.matrix;

            Gizmos.matrix = t.localToWorldMatrix;

            Gizmos.color = k_GizmoThemeColorProjection;
            Gizmos.DrawWireSphere(d.sphereOffset, d.sphereRadius);

            Gizmos.matrix = mat;
        }
示例#4
0
        static void Gizmos_Sphere(Transform t, ProxyVolume d)
        {
            var   mat = Gizmos.matrix;
            Color col = Gizmos.color;

            Gizmos.matrix = Matrix4x4.TRS(t.position, t.rotation, Vector3.one);
            Gizmos.color  = k_GizmoThemeColorProjection;

            Gizmos.DrawWireSphere(Vector3.zero, d.sphereRadius);

            Gizmos.color  = col;
            Gizmos.matrix = mat;
        }
示例#5
0
        //gizmo
        public static void DrawGizmos(Transform transform, ProxyVolume proxyVolume)
        {
            switch (proxyVolume.shape)
            {
            case ProxyShape.Box:
                Gizmos_Box(transform, proxyVolume);
                break;

            case ProxyShape.Sphere:
                Gizmos_Sphere(transform, proxyVolume);
                break;
            }
        }
示例#6
0
        public static void DrawHandles_EditBase(Transform transform, ProxyVolume proxyVolume, ProxyVolumeUI ui, Object sourceAsset)
        {
            switch (proxyVolume.shape)
            {
            case ProxyShape.Box:
                Handles_EditBase_Box(transform, proxyVolume, ui, sourceAsset);
                break;

            case ProxyShape.Sphere:
                Handles_EditBase_Sphere(transform, proxyVolume, ui, sourceAsset);
                break;
            }
        }
        public static void DrawGizmos_EditNone(Transform transform, ProxyVolume proxyVolume, ProxyVolumeUI ui, Object sourceAsset)
        {
            switch (proxyVolume.shapeType)
            {
            case ShapeType.Box:
                Gizmos_EditNone_Box(transform, proxyVolume, ui, sourceAsset);
                break;

            case ShapeType.Sphere:
                Gizmos_EditNone_Sphere(transform, proxyVolume, ui, sourceAsset);
                break;
            }
        }
        static void Handles_EditBase_Sphere(Transform transform, ProxyVolume proxyVolume, ProxyVolumeUI s, Object sourceAsset)
        {
            s.sphereProjectionHandle.center = Vector3.zero;
            s.sphereProjectionHandle.radius = proxyVolume.sphereRadius;

            var mat = Handles.matrix;

            Handles.matrix = Matrix4x4.TRS(transform.position, transform.rotation, Vector3.one);
            Handles.color  = k_GizmoThemeColorProjection;
            EditorGUI.BeginChangeCheck();
            s.sphereProjectionHandle.DrawHandle();
            if (EditorGUI.EndChangeCheck())
            {
                Undo.RecordObject(sourceAsset, "Modified Projection Volume");

                proxyVolume.sphereRadius = s.sphereProjectionHandle.radius;

                EditorUtility.SetDirty(sourceAsset);
            }
            Handles.matrix = mat;
        }
示例#9
0
        static void Handles_EditBase_Box(Transform transform, ProxyVolume proxyVolume, ProxyVolumeUI s, Object sourceAsset)
        {
            s.boxProjectionHandle.center = Vector3.zero;
            s.boxProjectionHandle.size   = proxyVolume.boxSize;

            Matrix4x4 mat = Matrix4x4.TRS(transform.position, transform.rotation, Vector3.one);

            EditorGUI.BeginChangeCheck();
            using (new Handles.DrawingScope(k_GizmoThemeColorProjection, mat))
            {
                s.boxProjectionHandle.DrawHandle();
            }
            if (EditorGUI.EndChangeCheck())
            {
                Undo.RecordObject(sourceAsset, "Modified Projection Volume AABB");

                proxyVolume.boxSize = s.boxProjectionHandle.size;

                //the gizmo is not an object of the scene. Flag it as dirty
                EditorUtility.SetDirty(sourceAsset);
            }
        }
        static void Handles_EditBase_Sphere(Transform transform, ProxyVolume proxyVolume, ProxyVolumeUI s, Object sourceAsset)
        {
            s.sphereProjectionHandle.center = proxyVolume.sphereOffset;
            s.sphereProjectionHandle.radius = proxyVolume.sphereRadius;

            var mat = Handles.matrix;

            Handles.matrix = transform.localToWorldMatrix;
            Handles.color  = k_GizmoThemeColorProjection;
            EditorGUI.BeginChangeCheck();
            s.sphereProjectionHandle.DrawHandle();
            if (EditorGUI.EndChangeCheck())
            {
                Undo.RecordObject(sourceAsset, "Modified Projection Volume");

                proxyVolume.sphereOffset = s.sphereProjectionHandle.center;
                proxyVolume.sphereRadius = s.sphereProjectionHandle.radius;

                EditorUtility.SetDirty(sourceAsset);
            }
            Handles.matrix = mat;
        }
示例#11
0
        static void Handles_EditBase_Box(Transform transform, ProxyVolume proxyVolume, ProxyVolumeUI s, Object sourceAsset)
        {
            s.boxProjectionHandle.center = Vector3.zero;
            s.boxProjectionHandle.size   = proxyVolume.boxSize;

            var mat = Handles.matrix;

            Handles.matrix = transform.localToWorldMatrix;

            Handles.color = k_GizmoThemeColorProjection;
            EditorGUI.BeginChangeCheck();
            s.boxProjectionHandle.DrawHandle();
            if (EditorGUI.EndChangeCheck())
            {
                Undo.RecordObject(sourceAsset, "Modified Projection Volume AABB");

                proxyVolume.boxSize = s.boxProjectionHandle.size;

                EditorUtility.SetDirty(sourceAsset);
            }

            Handles.matrix = mat;
        }
 public static void DrawHandles_EditNone(Transform transform, ProxyVolume proxyVolume, ProxyVolumeUI ui, Object sourceAsset)
 {
 }