summaryrefslogtreecommitdiff
path: root/Assets/AmplifyShaderEditor/Plugins/Editor/PreMadeShaders.cs
blob: e6fd5c671aa36b2d81b99ef59d3c6a870689ce03 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// Amplify Shader Editor - Visual Shader Editing Tool
// Copyright (c) Amplify Creations, Lda <info@amplify.pt>

using UnityEngine;

using System.Collections.Generic;
namespace AmplifyShaderEditor
{
	public class PreMadeShaders
	{
		public static readonly string FlatColorSequenceId = "Flat Color";
		private Dictionary<string, ActionSequence> m_actionLib;
		public PreMadeShaders()
		{
			m_actionLib = new Dictionary<string, ActionSequence>();
			ActionSequence sequence = new ActionSequence( FlatColorSequenceId );
			sequence.AddToSequence( new CreateNodeActionData( 1, typeof( ColorNode ), new Vector2( -250, 125 ) ) );
			sequence.AddToSequence( new CreateConnectionActionData( 0, 4, 1, 0 ) );
			m_actionLib.Add( sequence.Name, sequence );
		}

		public ActionSequence GetSequence( string name )
		{
			if ( m_actionLib.ContainsKey( name ) )
			{
				return m_actionLib[ name ];
			}
			return null;
		}

		public void Destroy()
		{
			var items = m_actionLib.GetEnumerator();
			while ( items.MoveNext() )
			{
				items.Current.Value.Destroy();
			}
			m_actionLib.Clear();
			m_actionLib = null;
		}

		public ActionSequence FlatColorSequence
		{
			get { return m_actionLib[ FlatColorSequenceId ]; }
		}
	}
}