Skip to content

setup: feed a namespace instead of each individual module names #65

@stelcheck

Description

@stelcheck

Description

Find a way to dynamically find all MAGE modules in need of setup at runtime, and set them up.

Purpose

I believe this would help with:

  1. Not forgetting to add a module to the setup list; this is easy to forget and causes minor time wastes.
  2. Avoiding issues with typos in the list; you cannot make typos in code you do not have to write

Notes

                var modulesNamespace = "MyGame.Mage.Modules";
                var modulesList = new List<string> ();
                var types = Assembly
                    .GetExecutingAssembly()
                    .GetTypes();
                
                foreach(Type type in types) {
                    if(type.IsVisible && String.Equals(type.Namespace, modulesNamespace)) {
                        Debug.Log("MAGE: found module " + type.Name);
                        modulesList.Add(type.Name);
                    }
                }

Since this would depend on reflection, I am not sure if this would play well when pushing on a device; I only tested this quickly on a local project running in the editor, and it seemed to work fine. It would be even better if we could feed in the actual namespace instead of a string representation (to avoid typo there by triggering compile-time errors), but would be happy to research that.

cc @AlmirKadric @nullorvoid @kefniark

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions