Exemple #1
0
        public void RenderComponents(Entity entity)
        {
            var prop = ptree.AddOrGet("Transform");

            DefaultInspector.mappedPropertyDrawers[typeof(OpenTK.Vector3)].Invoke(prop, "Position", entity.Position, (object val) => { entity.Position = (Vector3)val; });
            DefaultInspector.mappedPropertyDrawers[typeof(OpenTK.Vector3)].Invoke(prop, "Rotation", entity.Rotation, (object val) => { entity.Rotation = (Vector3)val; });
            DefaultInspector.mappedPropertyDrawers[typeof(OpenTK.Vector3)].Invoke(prop, "Scale", entity.Scale, (object val) => { entity.Scale = (Vector3)val; });

            var comps = entity.GetAllComponents();

            foreach (var component in comps)
            {
                prop = ptree.AddOrGet(component.GetType().Name);
                var inspector = new DefaultInspector();
                inspector.properties = prop;
                inspector.getTarget  = component;
                inspector.OnInitializeGUI();
            }
        }