Suggested solution: to allow values/variables of type component and assignments to CallComponent.Component property. In addition, expressions like this should also be allowed:
Code: Select all
var1 = <component name>;
"Engine extension points" would be defined as CallComponent components and definition of level just assigned appropriate components to CallComponent.Component properties.
Note: Other possible solutions could come from C with pointers to functions, or from other languages supporting lambda calculus or closures. But these features would be too "hardcore" for ZGE, I think.