Example #1
0
        /// <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));
 }