private void RenderGroupChildren(PropertyObject propertyObject) { if (propertyObject is I2DDrawableContainer) { ((I2DDrawableContainer)propertyObject).Drawable?.Draw(Camera.ModelViewMatrix); } foreach (var subProperty in propertyObject.SubObjects) { RenderGroupChildren(subProperty); } }
private void GetPickableSubObjects(PropertyObject prob, List <IPickable2DObject> picks) { if (prob is IPickable2DObject) { picks.Add((IPickable2DObject)prob); } foreach (var subobj in prob.SubObjects) { GetPickableSubObjects(subobj, picks); } }
private void AddGroupChildren(PropertyObject propertyObject) { if (propertyObject is I3DDrawableContainer) { foreach (var drawable in ((I3DDrawableContainer)propertyObject).Drawables) { AddDrawable(drawable); } } foreach (var subProperty in propertyObject.SubObjects) { AddGroupChildren(subProperty); } }
public ObjectGroup(string name, PropertyObject property) { Name = name; Objects.Add(property); }