/// <summary> /// Called every time a node is saved. /// </summary> /// <param name="node"></param> private void ManageNodeSaving(WireNode node) { if (node is SayReplyWireNode) { SayReplyWireNode replyNode = node as SayReplyWireNode; replyNode.ReplyResourcePath = AssetDatabase.GetAssetPath(replyNode.Reply).Replace("Assets/Resources/", "").Replace(".asset", ""); replyNode.TargetResourcePath = AssetDatabase.GetAssetPath(replyNode.Target).Replace("Assets/Resources/", "").Replace(".asset", ""); } else if (node is SetAnimatorVariableWireNode) { SetAnimatorVariableWireNode setVarNode = node as SetAnimatorVariableWireNode; setVarNode.TargetResourcePath = AssetDatabase.GetAssetPath(setVarNode.TargetActor).Replace("Assets/Resources/", "").Replace(".asset", ""); } else if (node is GetAnimatorVariableWireNode) { GetAnimatorVariableWireNode getVarNode = node as GetAnimatorVariableWireNode; getVarNode.TargetResourcePath = AssetDatabase.GetAssetPath(getVarNode.TargetActor).Replace("Assets/Resources/", "").Replace(".asset", ""); } if (node is ISavable) { (node as ISavable).Save(); } if (OnSaveNode != null) { OnSaveNode.Invoke(node); } }
public static SetAnimatorVariableNodeDisplayer CreateDisplayerFor(SetAnimatorVariableWireNode node) { SetAnimatorVariableNodeDisplayer nodeRenderer = new SetAnimatorVariableNodeDisplayer(node) { WindowRect = new Rect(node.DisplayerPosition.x, node.DisplayerPosition.y, 270, 130) }; return(nodeRenderer); }
private SetAnimatorVariableNodeDisplayer(SetAnimatorVariableWireNode node) : base(node) { VariableField = new AnimatorVariableNodeField(this, node.Variable) { FieldName = "Value" }; VariableField.FieldValue = node.Variable; ActorField = new ActorIdentifierNodeField(this) { FieldName = "Target" }; ActorField.FieldValue = node.TargetActor; }
public static SetAnimatorVariableNodeDisplayer CreateSetAnimatorVariableNodeDisplayer(Vector2 position) { SetAnimatorVariableWireNode node = new SetAnimatorVariableWireNode(DialogEditor.Instance.EditingDialog) { NodeName = "Set animator variable", Variable = new Core.Variables.AnimatorVariable() }; DialogEditor.InitializeNode(ref node); SetAnimatorVariableNodeDisplayer nodeRenderer = new SetAnimatorVariableNodeDisplayer(node) { WindowRect = new Rect(position.x, position.y, 270, 130) }; return(nodeRenderer); }
public static SetAnimatorVariableNodeDisplayer CreateDisplayer(this SetAnimatorVariableWireNode node) { return(SetAnimatorVariableNodeDisplayer.CreateDisplayerFor(node)); }