//********************************** Banshee Engine (www.banshee3d.com) **************************************************// //**************** Copyright (c) 2016 Marko Pintera (marko.pintera@gmail.com). All rights reserved. **********************// using System; using System.Collections.Generic; using bs; namespace bs.Editor { /** @addtogroup Inspector * @{ */ /// /// Default implementation of the inspector used when no specified inspector is provided for the type. Inspector /// displays GUI for all the inspectable fields in the object. /// internal sealed class GenericInspector : Inspector { private bool isEmpty = true; /// protected internal override void Initialize() { if (InspectedObject == null) LoadResource(); drawer.AddDefault(InspectedObject); isEmpty = drawer.Fields.Count == 0; base.SetVisible(!isEmpty); } /// protected internal override InspectableState Refresh() { return drawer.Refresh(); } /// internal override void SetVisible(bool visible) { base.SetVisible(!isEmpty && visible); } } /** @} */ }