You've already forked FateViewer
Add project files.
This commit is contained in:
336
Assets/AmplifyShaderEditor/Plugins/Editor/Actions/ActionData.cs
Normal file
336
Assets/AmplifyShaderEditor/Plugins/Editor/Actions/ActionData.cs
Normal file
@@ -0,0 +1,336 @@
|
||||
// Amplify Shader Editor - Visual Shader Editing Tool
|
||||
// Copyright (c) Amplify Creations, Lda <info@amplify.pt>
|
||||
|
||||
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
namespace AmplifyShaderEditor
|
||||
{
|
||||
public class ActionData
|
||||
{
|
||||
public virtual void ExecuteForward() { }
|
||||
public virtual void ExecuteReverse() { }
|
||||
}
|
||||
|
||||
// NODES
|
||||
// Create node
|
||||
public class CreateNodeActionData : ActionData
|
||||
{
|
||||
private int m_nodeId;
|
||||
private System.Type m_nodeType;
|
||||
private Vector2 m_nodePos;
|
||||
|
||||
public CreateNodeActionData( ParentNode node )
|
||||
{
|
||||
m_nodeId = node.UniqueId;
|
||||
m_nodePos = node.Vec2Position;
|
||||
m_nodeType = node.GetType();
|
||||
}
|
||||
|
||||
|
||||
public CreateNodeActionData( int nodeId, System.Type nodeType, Vector2 nodePos )
|
||||
{
|
||||
m_nodeId = nodeId;
|
||||
m_nodePos = nodePos;
|
||||
m_nodeType = nodeType;
|
||||
}
|
||||
|
||||
public override void ExecuteForward()
|
||||
{
|
||||
UIUtils.CreateNode( m_nodeType, false, m_nodePos, m_nodeId );
|
||||
}
|
||||
|
||||
public override void ExecuteReverse()
|
||||
{
|
||||
UIUtils.DestroyNode( m_nodeId );
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return "Create Node - Type: " + m_nodeType + " Node: " + m_nodeId + " Position: " + m_nodePos;
|
||||
}
|
||||
}
|
||||
|
||||
// Destroy node
|
||||
public class DestroyNodeActionData : ActionData
|
||||
{
|
||||
private int m_nodeId;
|
||||
private System.Type m_nodeType;
|
||||
private Vector2 m_nodePos;
|
||||
|
||||
public DestroyNodeActionData( ParentNode node )
|
||||
{
|
||||
m_nodeId = node.UniqueId;
|
||||
m_nodePos = node.Vec2Position;
|
||||
m_nodeType = node.GetType();
|
||||
}
|
||||
|
||||
public DestroyNodeActionData( int nodeId, System.Type nodeType, Vector2 nodePos )
|
||||
{
|
||||
m_nodeId = nodeId;
|
||||
m_nodePos = nodePos;
|
||||
m_nodeType = nodeType;
|
||||
}
|
||||
|
||||
public override void ExecuteForward()
|
||||
{
|
||||
UIUtils.DestroyNode( m_nodeId );
|
||||
}
|
||||
|
||||
public override void ExecuteReverse()
|
||||
{
|
||||
UIUtils.CreateNode( m_nodeType, false, m_nodePos, m_nodeId );
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return "Destroy Node - Type: " + m_nodeType + " Node: " + m_nodeId + " Position: " + m_nodePos;
|
||||
}
|
||||
}
|
||||
|
||||
// Move node
|
||||
public class MoveNodeActionData : ActionData
|
||||
{
|
||||
private int m_nodeId;
|
||||
private Vector2 m_nodeInitalPos;
|
||||
private Vector2 m_nodeFinalPos;
|
||||
|
||||
public MoveNodeActionData( int nodeId, Vector2 nodeInitialPos, Vector2 nodeFinalPos )
|
||||
{
|
||||
m_nodeId = nodeId;
|
||||
m_nodeInitalPos = nodeInitialPos;
|
||||
m_nodeFinalPos = nodeFinalPos;
|
||||
}
|
||||
|
||||
public override void ExecuteForward()
|
||||
{
|
||||
ParentNode node = UIUtils.GetNode( m_nodeId );
|
||||
if ( node != null )
|
||||
node.Vec2Position = m_nodeFinalPos;
|
||||
}
|
||||
|
||||
public override void ExecuteReverse()
|
||||
{
|
||||
ParentNode node = UIUtils.GetNode( m_nodeId );
|
||||
if ( node != null )
|
||||
node.Vec2Position = m_nodeInitalPos;
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return "Move Node - Node: " + m_nodeId + " Initial Position: " + m_nodeInitalPos + " Final Position: " + m_nodeFinalPos;
|
||||
}
|
||||
}
|
||||
|
||||
// CONNECTIONS
|
||||
// Create connection
|
||||
public class CreateConnectionActionData : ActionData
|
||||
{
|
||||
private int m_inputNodeId;
|
||||
private int m_inputPortId;
|
||||
|
||||
private int m_outputNodeId;
|
||||
private int m_outputPortId;
|
||||
|
||||
public CreateConnectionActionData( int inputNodeId, int inputPortId, int outputNodeId, int outputPortId )
|
||||
{
|
||||
m_inputNodeId = inputNodeId;
|
||||
m_inputPortId = inputPortId;
|
||||
m_outputNodeId = outputNodeId;
|
||||
m_outputPortId = outputPortId;
|
||||
}
|
||||
|
||||
public override void ExecuteForward()
|
||||
{
|
||||
UIUtils.ConnectInputToOutput( m_inputNodeId, m_inputPortId, m_outputNodeId, m_outputPortId );
|
||||
}
|
||||
|
||||
public override void ExecuteReverse()
|
||||
{
|
||||
UIUtils.DeleteConnection( true, m_inputNodeId, m_inputPortId, false, true );
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return "Create Connection Node - Input Node: " + m_inputNodeId + " Input Port: " + m_inputPortId + " Output Node: " + m_outputNodeId + " Output Port: " + m_outputPortId;
|
||||
}
|
||||
}
|
||||
|
||||
// Destroy connection
|
||||
public class DestroyConnectionActionData : ActionData
|
||||
{
|
||||
private int m_inputNodeId;
|
||||
private int m_inputPortId;
|
||||
|
||||
private int m_outputNodeId;
|
||||
private int m_outputPortId;
|
||||
|
||||
public DestroyConnectionActionData( int inputNodeId, int inputPortId, int outputNodeId, int outputPortId )
|
||||
{
|
||||
m_inputNodeId = inputNodeId;
|
||||
m_inputPortId = inputPortId;
|
||||
m_outputNodeId = outputNodeId;
|
||||
m_outputPortId = outputPortId;
|
||||
}
|
||||
|
||||
public override void ExecuteForward()
|
||||
{
|
||||
UIUtils.DeleteConnection( true, m_inputNodeId, m_inputPortId, false, true );
|
||||
}
|
||||
|
||||
public override void ExecuteReverse()
|
||||
{
|
||||
UIUtils.ConnectInputToOutput( m_inputNodeId, m_inputPortId, m_outputNodeId, m_outputPortId );
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return "Destroy Connection Node - Input Node: " + m_inputNodeId + " Input Port: " + m_inputPortId + " Output Node: " + m_outputNodeId + " Output Port: " + m_outputPortId;
|
||||
}
|
||||
}
|
||||
|
||||
// Move connection
|
||||
public class MoveInputConnectionActionData : ActionData
|
||||
{
|
||||
private int m_oldInputNodeId;
|
||||
private int m_oldInputNodePortId;
|
||||
|
||||
private int m_newInputNodeId;
|
||||
private int m_newInputNodePortId;
|
||||
|
||||
private int m_outputNodeId;
|
||||
private int m_outputPortId;
|
||||
|
||||
public MoveInputConnectionActionData( int oldInputNodeId, int oldInputPortId, int newInputNodeId, int newInputPortId, int outputNodeId, int outputPortId )
|
||||
{
|
||||
m_oldInputNodeId = oldInputNodeId;
|
||||
m_oldInputNodePortId = oldInputPortId;
|
||||
|
||||
m_newInputNodeId = newInputNodeId;
|
||||
m_newInputNodePortId = newInputPortId;
|
||||
|
||||
m_outputNodeId = outputNodeId;
|
||||
m_outputPortId = outputPortId;
|
||||
}
|
||||
|
||||
public override void ExecuteForward()
|
||||
{
|
||||
UIUtils.DeleteConnection( true, m_oldInputNodeId, m_oldInputNodePortId, false, true );
|
||||
UIUtils.ConnectInputToOutput( m_newInputNodeId, m_newInputNodePortId, m_outputNodeId, m_outputPortId );
|
||||
}
|
||||
|
||||
public override void ExecuteReverse()
|
||||
{
|
||||
base.ExecuteReverse();
|
||||
UIUtils.DeleteConnection( true, m_newInputNodeId, m_newInputNodePortId, false, true );
|
||||
UIUtils.ConnectInputToOutput( m_oldInputNodeId, m_oldInputNodePortId, m_outputNodeId, m_outputPortId );
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return "Move Input Connection Node - Old Input Node: " + m_oldInputNodeId + " Old Input Port: " + m_oldInputNodePortId + " New Input Node: " + m_newInputNodeId + " New Input Port: " + m_newInputNodePortId + " Output Node: " + m_outputNodeId + " Output Port: " + m_outputPortId;
|
||||
}
|
||||
}
|
||||
|
||||
public class MoveOutputConnectionActionData : ActionData
|
||||
{
|
||||
private int m_inputNodeId;
|
||||
private int m_inputPortId;
|
||||
|
||||
private int m_newOutputNodeId;
|
||||
private int m_newOutputPortId;
|
||||
|
||||
private int m_oldOutputNodeId;
|
||||
private int m_oldOutputPortId;
|
||||
|
||||
public MoveOutputConnectionActionData( int inputNodeId, int inputPortId, int newOutputNodeId, int newOutputPortId, int oldOutputNodeId, int oldOutputPortId )
|
||||
{
|
||||
m_inputNodeId = inputNodeId;
|
||||
m_inputPortId = inputPortId;
|
||||
|
||||
m_newOutputNodeId = newOutputNodeId;
|
||||
m_newOutputPortId = newOutputPortId;
|
||||
|
||||
m_oldOutputNodeId = oldOutputNodeId;
|
||||
m_oldOutputPortId = oldOutputPortId;
|
||||
}
|
||||
|
||||
public override void ExecuteForward()
|
||||
{
|
||||
UIUtils.DeleteConnection( false, m_oldOutputNodeId, m_oldOutputNodeId, false, true );
|
||||
UIUtils.ConnectInputToOutput( m_inputNodeId, m_inputPortId, m_newOutputNodeId, m_newOutputPortId );
|
||||
}
|
||||
|
||||
public override void ExecuteReverse()
|
||||
{
|
||||
base.ExecuteReverse();
|
||||
UIUtils.DeleteConnection( false, m_newOutputNodeId, m_newOutputPortId, false, true );
|
||||
UIUtils.ConnectInputToOutput( m_inputNodeId, m_inputPortId, m_oldOutputNodeId, m_oldOutputPortId );
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return "Move Input Connection Node - Input Node: " + m_inputNodeId + " Input Port: " + m_inputPortId + " Old Output Node: " + m_oldOutputNodeId + " Old Output Port: " + m_oldOutputPortId + " New Output Node: " + m_newOutputNodeId + " New Output Port: " + m_newOutputPortId;
|
||||
}
|
||||
}
|
||||
|
||||
public class CreateNewGraphActionData : ActionData
|
||||
{
|
||||
private string m_name;
|
||||
|
||||
public CreateNewGraphActionData( string name )
|
||||
{
|
||||
m_name = name;
|
||||
}
|
||||
|
||||
public override void ExecuteForward()
|
||||
{
|
||||
UIUtils.CreateNewGraph( m_name );
|
||||
}
|
||||
}
|
||||
|
||||
public class ChangeNodePropertiesActionData : ActionData
|
||||
{
|
||||
private string m_originalProperties;
|
||||
private string m_newProperties;
|
||||
private int m_nodeId;
|
||||
|
||||
public ChangeNodePropertiesActionData( ParentNode node, string originalProperties )
|
||||
{
|
||||
m_nodeId = node.UniqueId;
|
||||
m_originalProperties = originalProperties;
|
||||
|
||||
m_newProperties = string.Empty;
|
||||
string trash = string.Empty;
|
||||
node.WriteToString( ref m_newProperties, ref trash );
|
||||
}
|
||||
|
||||
public ChangeNodePropertiesActionData( int nodeId, string originalProperties )
|
||||
{
|
||||
m_nodeId = nodeId;
|
||||
m_originalProperties = originalProperties;
|
||||
|
||||
m_newProperties = string.Empty;
|
||||
string trash = string.Empty;
|
||||
UIUtils.GetNode( nodeId ).WriteToString( ref m_newProperties, ref trash );
|
||||
}
|
||||
|
||||
public override void ExecuteForward()
|
||||
{
|
||||
string[] properties = m_newProperties.Split( IOUtils.FIELD_SEPARATOR );
|
||||
UIUtils.GetNode( m_nodeId ).ReadFromString( ref properties );
|
||||
}
|
||||
|
||||
public override void ExecuteReverse()
|
||||
{
|
||||
string[] properties = m_originalProperties.Split( IOUtils.FIELD_SEPARATOR );
|
||||
UIUtils.GetNode( m_nodeId ).ReadFromString( ref properties );
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return "Change Node Propertie - Node: " + m_nodeId + "\nOriginal Properties:\n" + m_originalProperties + "\nNew Properties:\n" + m_newProperties;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 29204f353101f46439a93f1c503d3197
|
||||
timeCreated: 1481126954
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,58 @@
|
||||
// Amplify Shader Editor - Visual Shader Editing Tool
|
||||
// Copyright (c) Amplify Creations, Lda <info@amplify.pt>
|
||||
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace AmplifyShaderEditor
|
||||
{
|
||||
public class ActionLog
|
||||
{
|
||||
private int m_maxCount;
|
||||
private int m_index;
|
||||
private List<ActionData> m_sequence;
|
||||
|
||||
public ActionLog(int maxCount)
|
||||
{
|
||||
m_maxCount = maxCount;
|
||||
m_index = 0;
|
||||
m_sequence = new List<ActionData>();
|
||||
}
|
||||
|
||||
public void AddToLog(ActionData actionData)
|
||||
{
|
||||
if (m_sequence.Count > m_maxCount)
|
||||
{
|
||||
m_sequence.RemoveAt(0);
|
||||
}
|
||||
|
||||
m_sequence.Add(actionData);
|
||||
m_index = m_sequence.Count - 1;
|
||||
}
|
||||
|
||||
|
||||
public void UndoLastAction()
|
||||
{
|
||||
if ( m_index > -1 && m_index < m_sequence.Count )
|
||||
m_sequence[m_index--].ExecuteReverse();
|
||||
}
|
||||
|
||||
public void RedoLastAction()
|
||||
{
|
||||
if (m_index < (m_sequence.Count - 1))
|
||||
m_sequence[++m_index].ExecuteForward();
|
||||
|
||||
}
|
||||
|
||||
public void ClearLog()
|
||||
{
|
||||
m_sequence.Clear();
|
||||
m_index = 0;
|
||||
}
|
||||
|
||||
public void Destroy()
|
||||
{
|
||||
m_sequence.Clear();
|
||||
m_sequence = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bc089a69595d8994cb89946a919517c2
|
||||
timeCreated: 1481126958
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,39 @@
|
||||
// Amplify Shader Editor - Visual Shader Editing Tool
|
||||
// Copyright (c) Amplify Creations, Lda <info@amplify.pt>
|
||||
|
||||
using System.Collections.Generic;
|
||||
namespace AmplifyShaderEditor
|
||||
{
|
||||
public class ActionSequence
|
||||
{
|
||||
private string m_name;
|
||||
private List<ActionData> m_sequence;
|
||||
|
||||
public ActionSequence( string name )
|
||||
{
|
||||
m_name = name;
|
||||
m_sequence = new List<ActionData>();
|
||||
}
|
||||
|
||||
public void AddToSequence( ActionData actionData )
|
||||
{
|
||||
m_sequence.Add( actionData );
|
||||
}
|
||||
|
||||
public void Execute()
|
||||
{
|
||||
for ( int i = 0; i < m_sequence.Count; i++ )
|
||||
{
|
||||
m_sequence[ i ].ExecuteForward();
|
||||
}
|
||||
}
|
||||
|
||||
public void Destroy()
|
||||
{
|
||||
m_sequence.Clear();
|
||||
m_sequence = null;
|
||||
}
|
||||
|
||||
public string Name { get { return m_name; } }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 43bd963fa46ee9c4680dacff1d8dc0b9
|
||||
timeCreated: 1481126955
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user