Project

For your project you have to remove the reference on Brainiac Node Tree which is again directly integrated in the editor's project.

Plugin

The plugin is quite easy to migrate.
Basically you can add support for resources now if you want but that is not required. If you want to use resources, for example to translate your nodes or to ease your work, you have to register the resource manager simply by calling AddResourceManager(Resources.ResourceManager).
If you want to add nodes to a node group, you no longer have to specify a display name which is now directly taken from the node, so you no longer have to specify a NodeItem but instead you simply add the type of your node directly.

Node and Event Attributes

Attributes are now handled completely different then before. Instead of adding objects as attributes you simply attach a C# attribute to a property. The attributes available are DesignerString, DesignerFloat, DesignerInteger, DesignerBoolean and DesignerEnum. Here is an example what it may look like:
attributes.png

If you were using an enumeration, you simply create an enum for that:
attributes_enum.png

All nodes which have attributes must now implement the method CloneProperties to be handled correctly.
attributes_clone.png

Connectors

In version 1.3a, each node had a child mode which defines how many children this node could have. With version 2.0, this is handled differently and the child mode is no longer needed. Each node now has a member _children of the type Node.ConnectedChildren. Nodes can now have connectors which allow other nodes (children) to be connected to the node. The type of connector also specifies how many children can be connected:
connectors.png

Nodes can have multiple connectors which allow children to be attached with different purposes. Here is a condition as an example which has two connectors, which each allow a single child, one which will be called when the condition is true and one which is called when the condition is false. That is if you implement it in this way into your AI.

connectors_cond.png

If you want to iterate over all connected children, use foreach(Node child in _children) { }.



If you still have questions, feel free to post them in the forum or to comment.

Last edited Mar 4, 2009 at 3:38 PM by dkollmann, version 5

Comments

No comments yet.