All Classes Namespaces Functions Variables Enumerations Enumerator Properties
plyCommonEditor.plyNodeEditorBase Class Reference

The base class for all node editors More...

Inherited by DiaQEditor.DiaQNodeEd_Dlg, DiaQEditor.DiaQNodeEd_QAccept, DiaQEditor.DiaQNodeEd_QReward, DiaQEditor.DiaQNodeEd_QStatus, plyCommonEditor.plyNodeEd_Cond, plyCommonEditor.plyNodeEd_Dbg, plyCommonEditor.plyNodeEd_Msg, plyCommonEditor.plyNodeEd_SetVar, plyCommonEditor.plyNodeEd_Start, and plyCommonEditor.plyNodeEd_Wait.

Public Member Functions

virtual string NodeWindowLabel (plyNode node)
 Return the label shown in the node window in the graph editor. More...
 
virtual bool AllowInLink (plyNode node)
 Return False if linking to this node is not allowed for some reason. For example, the Start Node uses this. More...
 
virtual bool RenderNodeWindow (plyNode node)
 Called when editor should render in the node window (in graph editor). Return true if node data changed and should be serialised. More...
 
virtual GUIContent InLinkLabel (plyNode node)
 Allows you to change what the in-link looks like. The default is plyGraphGUI.GC_DefaultNodeLinkIcon. Use a 12x12 image/ icon. More...
 
virtual Color InLinkLabelColor (plyNode node)
 Allows you to change the colour/ tint of the in-link label (icon and/or text) More...
 
virtual GUIContent OutLinkLabel (plyNode node, int idx)
 This should return the content to render for the specified out-link. The label and image is aligned to the right-hand side of the window. Returning null will cause rendering of this out-link to be skipped. plyGraphGUI.GC_DefaultNodeLinkIcon contains the default out-link image to be used but you may choose to use a different one. The image should be 12x12 pixel size. More...
 
virtual GUILayoutOption[] OutLabelLayoutOptions (plyNode node, int idx)
 Layout options to use with the out-link label. Default is MaxWidth = width of node window at create time More...
 
virtual GUIStyle OutLabelStyle (plyNode node, int idx)
 Style to use with the out-link label. Default is plyGraphGUI.NodeOutLinkLabelStyle which will cause a word wrap if the text is too long to fit into the node window width More...
 
virtual Color OutLinkImageColor (plyNode node, int idx)
 Can be used to change what the the color/ tint is of the icon/ image that represents the out-link at the specified index. Note that this do not make changes to the colour of the text of the out-link. More...
 
virtual Color OutLinkColor (plyNode node, int idx)
 Can be used to change what the the color/ tint is of the line that links the out and in links. More...
 
virtual void OnSelected (plyNode node)
 Called when a node (handled by this editor) becomes selected. More...
 
virtual bool RenderNodeInspector (plyNode node, BasicCallback repaintCallback, BasicCallback saveCallback)
 Called when editor should render in the inspector (node properties). Passes instance of the node being edited. Return true if node data changed and should be serialised. The saveCallback can be called when data should be set dirty/ serialised and repaintCallback can be called when you want to force the repaint of the editor window. More...
 
void AddOutLink (plyNode node)
 Will increase the size of the Node outLinks array by one More...
 
void RemoveOutLink (plyNode node, int idx)
 Remove the Node outLinks at specified index of the array More...
 

Public Attributes

GUIContent toolbarButton = null
 The button drawn on the Graph editor toolbar. This is the button the user uses to add a new copy of the node in the graph. You should init this in the constructor of the node editor. No need to init if the node button should not appear on the toolbar. Use 20x20 icons. Add a tooltip. Font Awesome icons can be used in two ways. The second option is only available if the toolbar style uses a font awesome font. The default is plyEdGUI.ToolbarIconButtonStyle which supports Font Awesome. More...
 
plyGraphEditor graphEd
 Reference to the plyGraphEditor that created this node editor and is making calls to it. More...
 

Detailed Description

The base class for all node editors

Member Function Documentation

void plyCommonEditor.plyNodeEditorBase.AddOutLink ( plyNode  node)

Will increase the size of the Node outLinks array by one

virtual bool plyCommonEditor.plyNodeEditorBase.AllowInLink ( plyNode  node)
virtual

Return False if linking to this node is not allowed for some reason. For example, the Start Node uses this.

Parameters
nodeInstance of the node being edited.
virtual GUIContent plyCommonEditor.plyNodeEditorBase.InLinkLabel ( plyNode  node)
virtual

Allows you to change what the in-link looks like. The default is plyGraphGUI.GC_DefaultNodeLinkIcon. Use a 12x12 image/ icon.

Parameters
nodeInstance of the node being edited.
virtual Color plyCommonEditor.plyNodeEditorBase.InLinkLabelColor ( plyNode  node)
virtual

Allows you to change the colour/ tint of the in-link label (icon and/or text)

Parameters
nodeInstance of the node being edited.
virtual string plyCommonEditor.plyNodeEditorBase.NodeWindowLabel ( plyNode  node)
virtual

Return the label shown in the node window in the graph editor.

Parameters
nodeInstance of the node being edited.
virtual void plyCommonEditor.plyNodeEditorBase.OnSelected ( plyNode  node)
virtual

Called when a node (handled by this editor) becomes selected.

virtual GUILayoutOption [] plyCommonEditor.plyNodeEditorBase.OutLabelLayoutOptions ( plyNode  node,
int  idx 
)
virtual

Layout options to use with the out-link label. Default is MaxWidth = width of node window at create time

virtual GUIStyle plyCommonEditor.plyNodeEditorBase.OutLabelStyle ( plyNode  node,
int  idx 
)
virtual

Style to use with the out-link label. Default is plyGraphGUI.NodeOutLinkLabelStyle which will cause a word wrap if the text is too long to fit into the node window width

virtual Color plyCommonEditor.plyNodeEditorBase.OutLinkColor ( plyNode  node,
int  idx 
)
virtual

Can be used to change what the the color/ tint is of the line that links the out and in links.

Parameters
nodeInstance of the node being edited.
idxIndex into array of plyNode.outLinks
virtual Color plyCommonEditor.plyNodeEditorBase.OutLinkImageColor ( plyNode  node,
int  idx 
)
virtual

Can be used to change what the the color/ tint is of the icon/ image that represents the out-link at the specified index. Note that this do not make changes to the colour of the text of the out-link.

Parameters
nodeInstance of the node being edited.
idxIndex into array of plyNode.outLinks
virtual GUIContent plyCommonEditor.plyNodeEditorBase.OutLinkLabel ( plyNode  node,
int  idx 
)
virtual

This should return the content to render for the specified out-link. The label and image is aligned to the right-hand side of the window. Returning null will cause rendering of this out-link to be skipped. plyGraphGUI.GC_DefaultNodeLinkIcon contains the default out-link image to be used but you may choose to use a different one. The image should be 12x12 pixel size.

Parameters
nodeInstance of the node being edited.
idxIndex into array of plyNode.outLinks
void plyCommonEditor.plyNodeEditorBase.RemoveOutLink ( plyNode  node,
int  idx 
)

Remove the Node outLinks at specified index of the array

virtual bool plyCommonEditor.plyNodeEditorBase.RenderNodeInspector ( plyNode  node,
BasicCallback  repaintCallback,
BasicCallback  saveCallback 
)
virtual

Called when editor should render in the inspector (node properties). Passes instance of the node being edited. Return true if node data changed and should be serialised. The saveCallback can be called when data should be set dirty/ serialised and repaintCallback can be called when you want to force the repaint of the editor window.

virtual bool plyCommonEditor.plyNodeEditorBase.RenderNodeWindow ( plyNode  node)
virtual

Called when editor should render in the node window (in graph editor). Return true if node data changed and should be serialised.

Parameters
nodeInstance of the node being edited.

Member Data Documentation

plyGraphEditor plyCommonEditor.plyNodeEditorBase.graphEd

Reference to the plyGraphEditor that created this node editor and is making calls to it.

GUIContent plyCommonEditor.plyNodeEditorBase.toolbarButton = null

The button drawn on the Graph editor toolbar. This is the button the user uses to add a new copy of the node in the graph. You should init this in the constructor of the node editor. No need to init if the node button should not appear on the toolbar. Use 20x20 icons. Add a tooltip. Font Awesome icons can be used in two ways. The second option is only available if the toolbar style uses a font awesome font. The default is plyEdGUI.ToolbarIconButtonStyle which supports Font Awesome.

toolbarButton = new GUIContent(FA.Ico20(FA.comment, plyEdGUI.IconColor), "Dialogue"); toolbarButton = new GUIContent(FA.comment.ToString(), "Dialogue");

You might want to call FA.Load(); before using font awesome, just to make sure it is loaded.