<!-- kv3 encoding:text:version{e21c7f3c-8a33-41c5-9977-a76d3a32aa0d} format:animgraph2:version{0f7898b8-5471-45c4-9867-cd9c46bcfdb5} -->
{
	_class = "CAnimationGraph"
	m_nodeManager = 
	{
		_class = "CAnimNodeManager"
		m_nodes = 
		[
			{
				key = 
				{
					m_id = 15143940
				}
				value = 
				{
					_class = "CCommentAnimNode"
					m_sName = " "
					m_vecPosition = [ 544.0, 832.0 ]
					m_nNodeID = 
					{
						m_id = 15143940
					}
					m_networkMode = "ServerAuthoritative"
					m_sNote = ""
					m_commentText = ""
					m_size = [ 140.0, 32.0 ]
					m_color = [ 0, 0, 0, 255 ]
				}
			},
			{
				key = 
				{
					m_id = 344253320
				}
				value = 
				{
					_class = "CCommentAnimNode"
					m_sName = "(last update: 2023-08-12)"
					m_vecPosition = [ 672.0, 736.0 ]
					m_nNodeID = 
					{
						m_id = 344253320
					}
					m_networkMode = "ServerAuthoritative"
					m_sNote = ""
					m_commentText = ""
					m_size = [ 320.0, 32.0 ]
					m_color = [ 38, 42, 47, 255 ]
				}
			},
			{
				key = 
				{
					m_id = 670203085
				}
				value = 
				{
					_class = "CCommentAnimNode"
					m_sName = "01. How an Animation Graph works"
					m_vecPosition = [ 288.0, -416.0 ]
					m_nNodeID = 
					{
						m_id = 670203085
					}
					m_networkMode = "ServerAuthoritative"
					m_sNote = ""
					m_commentText = "At its core, an Animgraph is a tree of connected nodes; think of this metaphor as if the tree were laying on its side, leaves on the left, root on the right.\n\nEach time the game updates, the graph of all possible paths is \"evaluated\" to calculate what the pose of a character should be. Nodes affect the paths taken along the way.\n\nFrom leaf to root, each node grabs the result from the last node, performs its job, passes the result on downstream, and so on and so forth, until the \"Final Pose\" node; the animation that arrives there is used by the game for rendering."
					m_size = [ 704.0, 384.0 ]
					m_color = [ 191, 26, 26, 255 ]
				}
			},
			{
				key = 
				{
					m_id = 1093828103
				}
				value = 
				{
					_class = "CRootAnimNode"
					m_sName = "Unnamed"
					m_vecPosition = [ 816.0, 32.0 ]
					m_nNodeID = 
					{
						m_id = 1093828103
					}
					m_networkMode = "ClientPredicted"
					m_sNote = ""
					m_inputConnection = 
					{
						m_nodeID = 
						{
							m_id = 4294967295
						}
						m_outputID = 
						{
							m_id = 4294967295
						}
					}
				}
			},
			{
				key = 
				{
					m_id = 1420834157
				}
				value = 
				{
					_class = "CCommentAnimNode"
					m_sName = "03. When you\'re done..."
					m_vecPosition = [ 288.0, 640.0 ]
					m_nNodeID = 
					{
						m_id = 1420834157
					}
					m_networkMode = "ServerAuthoritative"
					m_sNote = ""
					m_commentText = "Double-click on the node to the right of this comment!"
					m_size = [ 320.0, 128.0 ]
					m_color = [ 56, 94, 110, 255 ]
				}
			},
			{
				key = 
				{
					m_id = 1803363998
				}
				value = 
				{
					_class = "CGroupAnimNode"
					m_sName = "DOUBLE-CLICK ME WHEN YOU\'RE DONE!"
					m_vecPosition = [ 672.0, 640.0 ]
					m_nNodeID = 
					{
						m_id = 1803363998
					}
					m_networkMode = "ClientPredicted"
					m_sNote = ""
					m_inputNodeID = 
					{
						m_id = 1391007293
					}
					m_outputNodeID = 
					{
						m_id = 722015207
					}
					m_inputConnectionMap = [  ]
					m_nodeManager = 
					{
						_class = "CAnimNodeManager"
						m_nodes = 
						[
							{
								key = 
								{
									m_id = 176973187
								}
								value = 
								{
									_class = "CCommentAnimNode"
									m_sName = "04. We\'re inside a Group now!"
									m_vecPosition = [ -480.0, -448.0 ]
									m_nNodeID = 
									{
										m_id = 176973187
									}
									m_networkMode = "ServerAuthoritative"
									m_sNote = ""
									m_commentText = "Groups can be used to consolidate several nodes into one.\n\nThey\'re quite useful to make your graph more neat & tidy, but in this case I\'m really just using them as different views...\n"
									m_size = [ 576.0, 224.0 ]
									m_color = [ 110, 146, 63, 255 ]
								}
							},
							{
								key = 
								{
									m_id = 225123774
								}
								value = 
								{
									_class = "CCommentAnimNode"
									m_sName = "07. There can be only one"
									m_vecPosition = [ -480.0, 128.0 ]
									m_nNodeID = 
									{
										m_id = 225123774
									}
									m_networkMode = "ServerAuthoritative"
									m_sNote = ""
									m_commentText = "Only one Final Pose node should exist at a time. It doesn\'t matter if only one is wired! Only the earliest-created one will actually work.\n\nThe one in here was created after the one outside, so it can\'t work: you won\'t see it light up if you go into \'Preview Mode\'."
									m_size = [ 512.0, 288.0 ]
									m_color = [ 77, 56, 122, 255 ]
								}
							},
							{
								key = 
								{
									m_id = 551597069
								}
								value = 
								{
									_class = "CCommentAnimNode"
									m_sName = " "
									m_vecPosition = [ -32.0, 448.0 ]
									m_nNodeID = 
									{
										m_id = 551597069
									}
									m_networkMode = "ServerAuthoritative"
									m_sNote = ""
									m_commentText = ""
									m_size = [ 140.0, 32.0 ]
									m_color = [ 0, 0, 0, 255 ]
								}
							},
							{
								key = 
								{
									m_id = 722015207
								}
								value = 
								{
									_class = "CGroupOutputAnimNode"
									m_sName = "Unnamed"
									m_vecPosition = [ 336.0, -432.0 ]
									m_nNodeID = 
									{
										m_id = 722015207
									}
									m_networkMode = "ClientPredicted"
									m_sNote = ""
									m_proxyItems = [  ]
								}
							},
							{
								key = 
								{
									m_id = 810487566
								}
								value = 
								{
									_class = "CCommentAnimNode"
									m_sName = "05. Viewport navigation controls"
									m_vecPosition = [ -480.0, -192.0 ]
									m_nNodeID = 
									{
										m_id = 810487566
									}
									m_networkMode = "ServerAuthoritative"
									m_sNote = ""
									m_commentText = "While inside a \'sub-window\' like this, you can use the navigation button at the top-left of the main viewport to go back to the root view of the graph.\n"
									m_size = [ 576.0, 192.0 ]
									m_color = [ 44, 90, 64, 255 ]
								}
							},
							{
								key = 
								{
									m_id = 898678929
								}
								value = 
								{
									_class = "CCommentAnimNode"
									m_sName = " "
									m_vecPosition = [ -32.0, -512.0 ]
									m_nNodeID = 
									{
										m_id = 898678929
									}
									m_networkMode = "ServerAuthoritative"
									m_sNote = ""
									m_commentText = ""
									m_size = [ 140.0, 32.0 ]
									m_color = [ 0, 0, 0, 255 ]
								}
							},
							{
								key = 
								{
									m_id = 1093828103
								}
								value = 
								{
									_class = "CRootAnimNode"
									m_sName = "Unnamed"
									m_vecPosition = [ 192.0, 48.0 ]
									m_nNodeID = 
									{
										m_id = 1093828103
									}
									m_networkMode = "ClientPredicted"
									m_sNote = ""
									m_inputConnection = 
									{
										m_nodeID = 
										{
											m_id = 1165776291
										}
										m_outputID = 
										{
											m_id = 4294967295
										}
									}
								}
							},
							{
								key = 
								{
									m_id = 1165776291
								}
								value = 
								{
									_class = "CSequenceAnimNode"
									m_sName = "Unnamed"
									m_vecPosition = [ -320.0, 48.0 ]
									m_nNodeID = 
									{
										m_id = 1165776291
									}
									m_networkMode = "ClientPredicted"
									m_sNote = ""
									m_tagSpans = [  ]
									m_sequenceName = "Run_S"
									m_playbackSpeed = 1.0
									m_bLoop = false
								}
							},
							{
								key = 
								{
									m_id = 1268100854
								}
								value = 
								{
									_class = "CGroupAnimNode"
									m_sName = "Like this one! --->"
									m_vecPosition = [ 224.0, -128.0 ]
									m_nNodeID = 
									{
										m_id = 1268100854
									}
									m_networkMode = "ClientPredicted"
									m_sNote = ""
									m_inputNodeID = 
									{
										m_id = 1874110490
									}
									m_outputNodeID = 
									{
										m_id = 46048117
									}
									m_inputConnectionMap = [  ]
									m_nodeManager = 
									{
										_class = "CAnimNodeManager"
										m_nodes = 
										[
											{
												key = 
												{
													m_id = 46048117
												}
												value = 
												{
													_class = "CGroupOutputAnimNode"
													m_sName = "Unnamed"
													m_vecPosition = [ 200.0, 0.0 ]
													m_nNodeID = 
													{
														m_id = 46048117
													}
													m_networkMode = "ClientPredicted"
													m_sNote = ""
													m_proxyItems = [  ]
												}
											},
											{
												key = 
												{
													m_id = 283545705
												}
												value = 
												{
													_class = "CCommentAnimNode"
													m_sName = "Step back out!"
													m_vecPosition = [ -16.0, 0.0 ]
													m_nNodeID = 
													{
														m_id = 283545705
													}
													m_networkMode = "ClientPredicted"
													m_sNote = ""
													m_commentText = ""
													m_size = [ 176.0, 32.0 ]
													m_color = [ 147, 50, 156, 255 ]
												}
											},
											{
												key = 
												{
													m_id = 1874110490
												}
												value = 
												{
													_class = "CGroupInputAnimNode"
													m_sName = "Unnamed"
													m_vecPosition = [ -200.0, 0.0 ]
													m_nNodeID = 
													{
														m_id = 1874110490
													}
													m_networkMode = "ClientPredicted"
													m_sNote = ""
													m_proxyItems = [  ]
												}
											},
										]
									}
								}
							},
							{
								key = 
								{
									m_id = 1326425152
								}
								value = 
								{
									_class = "CCommentAnimNode"
									m_sName = "06. The top-right corner"
									m_vecPosition = [ 160.0, -352.0 ]
									m_nNodeID = 
									{
										m_id = 1326425152
									}
									m_networkMode = "ServerAuthoritative"
									m_sNote = ""
									m_commentText = "By the way, any node that has a white corner in its top-right corner can be double-clicked to open something else!"
									m_size = [ 320.0, 352.0 ]
									m_color = [ 61, 90, 106, 255 ]
								}
							},
							{
								key = 
								{
									m_id = 1391007293
								}
								value = 
								{
									_class = "CGroupInputAnimNode"
									m_sName = "Unnamed"
									m_vecPosition = [ 176.0, -432.0 ]
									m_nNodeID = 
									{
										m_id = 1391007293
									}
									m_networkMode = "ClientPredicted"
									m_sNote = ""
									m_proxyItems = [  ]
								}
							},
							{
								key = 
								{
									m_id = 2100255392
								}
								value = 
								{
									_class = "CCommentAnimNode"
									m_sName = "08. Done!"
									m_vecPosition = [ 160.0, 352.0 ]
									m_nNodeID = 
									{
										m_id = 2100255392
									}
									m_networkMode = "ServerAuthoritative"
									m_sNote = ""
									m_commentText = "Move on to the next file."
									m_size = [ 320.0, 64.0 ]
									m_color = [ 25, 128, 25, 255 ]
								}
							},
						]
					}
				}
			},
			{
				key = 
				{
					m_id = 1922057924
				}
				value = 
				{
					_class = "CCommentAnimNode"
					m_sName = "02. Create your first animation node & connect it!"
					m_vecPosition = [ 288.0, 128.0 ]
					m_nNodeID = 
					{
						m_id = 1922057924
					}
					m_networkMode = "ServerAuthoritative"
					m_sNote = ""
					m_commentText = "A. Right-click the empty space to the left of the \'Final Pose\' node.\n\nB. Create an \'Animation Clip\' node.\n\nC. Click on it to explore its properties.\n\nD. Change its \"Sequence\" property to an animation of your choice. (e.g. \'Walk_N\')\n\nE. Connect the two nodes by [LEFT CLICK + DRAG] between the output of the \'Animation Clip\' node and the input of the \'Final Pose\' node.\n\nF. Preview your work! (You\'ll notice that the character stops walking after a couple of seconds if you haven\'t ticked the \'Loop\' property. You can go back & fix that if you want.)"
					m_size = [ 704.0, 480.0 ]
					m_color = [ 64, 134, 54, 255 ]
				}
			},
			{
				key = 
				{
					m_id = 2024403279
				}
				value = 
				{
					_class = "CCommentAnimNode"
					m_sName = " "
					m_vecPosition = [ 576.0, -512.0 ]
					m_nNodeID = 
					{
						m_id = 2024403279
					}
					m_networkMode = "ServerAuthoritative"
					m_sNote = ""
					m_commentText = ""
					m_size = [ 140.0, 32.0 ]
					m_color = [ 0, 0, 0, 255 ]
				}
			},
		]
	}
	m_pParameterList = 
	{
		_class = "CAnimParameterList"
		m_Parameters = [  ]
	}
	m_pTagManager = 
	{
		_class = "CAnimTagManager"
		m_tags = [  ]
	}
	m_pMovementManager = 
	{
		_class = "CAnimMovementManager"
		m_MotorList = 
		{
			_class = "CAnimMotorList"
			m_motors = [  ]
		}
		m_MovementSettings = 
		{
			_class = "CAnimMovementSettings"
			m_bShouldCalculateSlope = false
		}
	}
	m_pSettingsManager = 
	{
		_class = "CAnimGraphSettingsManager"
		m_settingsGroups = 
		[
			{
				_class = "CAnimGraphGeneralSettings"
				m_iGridSnap = 16
			},
			{
				_class = "CAnimGraphNetworkSettings"
				m_bNetworkingEnabled = true
				m_defaultNetworkMode = "ClientPredicted"
			},
		]
	}
	m_pActivityValuesList = 
	{
		_class = "CActivityValueList"
		m_activities = [  ]
	}
	m_previewModels = 
	[
		"models/citizen/citizen.vmdl",
	]
	m_boneMergeModels = [  ]
}