//********************************** Banshee Engine (www.banshee3d.com) **************************************************//
//**************** Copyright (c) 2016 Marko Pintera (marko.pintera@gmail.com). All rights reserved. **********************//
using bs;
namespace bs.Editor
{
/** @addtogroup Gizmos
* @{
*/
///
/// Handles drawing of gizmos for the component.
///
internal class AnimationGizmo
{
///
/// Method called by the runtime when gizmos are meant to be drawn.
///
/// Animation component to draw gizmo for.
[DrawGizmo(DrawGizmoFlags.Selected | DrawGizmoFlags.ParentSelected)]
private static void DrawGizmo(Animation animation)
{
SceneObject so = animation.SceneObject;
Gizmos.Color = Color.Green;
Gizmos.Transform = Matrix4.Identity;
AABox bounds = new AABox();
bool useAnimBounds = animation.UseBounds;
if (!useAnimBounds)
{
Renderable renderable = so.GetComponent();
if (renderable != null)
bounds = renderable.Bounds.Box;
else
useAnimBounds = true;
}
if (useAnimBounds)
{
bounds = animation.Bounds;
bounds.TransformAffine(so.WorldTransform);
}
Gizmos.DrawWireCube(bounds.Center, bounds.Size * 0.5f);
}
}
/** @} */
}