Description
| Notation |
Meaning |
C{Name} |
Class of Name |
I{Name} |
Interface of Name |
C{Name}Impl |
Class Implementation of Interface of Name |
S{Name} |
Serializable type of {Name} (synchronized between sim and UI) |
E{Name} |
Enum of Name |
R{Name} |
Not sure. Includes blueprints, scm resource, and some debug overlays. |
{Name}TypeInfo |
Part of Reflection (RType). Type info for classes and enums. Useful for finding save/load functions. |
R{Type}Type<{Name}>
{Name}RType<{Name}> |
Type info of container classes. |
Moho::{Name}RType<{Name}> |
Part of Reflection. Type info for templated broadcasters/listeners. |
Course of Action
Write the documents and add them to patterns.md or some other place with guides (for example the wiki page for the repo).
Test Plan
Have someone else read over it to see it makes sense.
Description
C{Name}NameI{Name}NameC{Name}ImplNameS{Name}E{Name}NameR{Name}{Name}TypeInfoR{Type}Type<{Name}>{Name}RType<{Name}>Moho::{Name}RType<{Name}>{Name}Serializer(xrefgpg::SerSaveLoadHelper<{Name}>),{Name}SaveConstruct(xrefgpg::SerSaveConstructHelper<{Name}>),PrimitiveSerHelper<{Name}>, and{Name}Construct(xrefgpg::SerConstructHelper<{Name}>). In short the vftables for those classes are xrefs to or contain functions with xrefs to the structure save/load functions, and those save/load functions describe the structure's offsets using xrefs to other types or archive read/write primitive/pointer calls.Course of Action
Write the documents and add them to
patterns.mdor some other place with guides (for example the wiki page for the repo).Test Plan
Have someone else read over it to see it makes sense.