A library to unify and streamline the process of adding custom nodes into Plasma
Note: This library requires that its methods are called before [Assembly-CSharp.dll]Holder.Awake so make sure the mod entry is happening at least prior to that
- Create a new class that inherits
PlasmaModding.CustomAgent[?] - Create a gestalt using
PlasmaModding.CustomNodeManager.CreateGestalt - Add any ports to the gestalt using
PlasmaModding.CustomNodeManager.CreateCommandPort,PlasmaModding.CustomNodeManager.CreatePropertyPortandPlasmaModding.CustomNodeManager.CreateNode - Create the node from the gestalt using
PlasmaModding.CustomNodeManager.CreateNode
This class is static. It should not be instantiated, all methods can be called directly on the type
PlasmaModding.CustomNodeManager
- Create Gestalt:
PlasmaModding.CustomNodeManager.CreateGestalt(Type, string, string?, AgentCategoryEnum)
- Create Command Port:
CreateCommandPort(AgentGestalt, string, string, int) - Create Property Port:
CreatePropertyPort(AgentGestalt, string, string, Behavior.Data.Types, bool, Behavior.Data?, string?) - Create Output Port:
CreateOutputPort(AgentGestalt, string, string, Behavior.Data.Types, bool, Behavior.Data?, string?)
- Create Node:
CreateNode(AgentGestalt, string)
- Custom Category:
CustomCategory(string)
This class should only be extended, not instantiated. The reason it is not an interface is because the
Agentclass is not an interface
- Get Property:
GetProperty(string) - Write Output:
WriteOutput(string, Behavior.Data)