mirror of
				https://gitgud.io/AbstractConcept/rimworld-animation-studio.git
				synced 2024-08-15 00:43:27 +00:00 
			
		
		
		
	Extra keybinds
This commit is contained in:
		
							parent
							
								
									e210923733
								
							
						
					
					
						commit
						c3c0a05ac0
					
				
					 139 changed files with 586 additions and 233 deletions
				
			
		
										
											Binary file not shown.
										
									
								
							| 
						 | 
					@ -259,7 +259,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -467,7 +467,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -436,7 +436,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -196,7 +196,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -168,7 +168,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -91,7 +91,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -398,7 +398,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -168,7 +168,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -475,7 +475,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -810,7 +810,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -188,7 +188,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -854,7 +854,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -1018,7 +1018,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -1406,7 +1406,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -1536,7 +1536,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -1944,7 +1944,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -2741,7 +2741,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -2926,7 +2926,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -3069,7 +3069,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -3446,7 +3446,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -4491,7 +4491,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -4710,7 +4710,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -5388,7 +5388,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -5907,7 +5907,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -5993,7 +5993,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -6233,7 +6233,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -6634,7 +6634,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -6675,6 +6675,17 @@ MonoBehaviour:
 | 
				
			||||||
          m_StringArgument: 
 | 
					          m_StringArgument: 
 | 
				
			||||||
          m_BoolArgument: 0
 | 
					          m_BoolArgument: 0
 | 
				
			||||||
        m_CallState: 2
 | 
					        m_CallState: 2
 | 
				
			||||||
 | 
					      - m_Target: {fileID: 521630782}
 | 
				
			||||||
 | 
					        m_MethodName: 
 | 
				
			||||||
 | 
					        m_Mode: 1
 | 
				
			||||||
 | 
					        m_Arguments:
 | 
				
			||||||
 | 
					          m_ObjectArgument: {fileID: 0}
 | 
				
			||||||
 | 
					          m_ObjectArgumentAssemblyTypeName: 
 | 
				
			||||||
 | 
					          m_IntArgument: 0
 | 
				
			||||||
 | 
					          m_FloatArgument: 0
 | 
				
			||||||
 | 
					          m_StringArgument: 
 | 
				
			||||||
 | 
					          m_BoolArgument: 0
 | 
				
			||||||
 | 
					        m_CallState: 2
 | 
				
			||||||
--- !u!114 &521630785
 | 
					--- !u!114 &521630785
 | 
				
			||||||
MonoBehaviour:
 | 
					MonoBehaviour:
 | 
				
			||||||
  m_ObjectHideFlags: 0
 | 
					  m_ObjectHideFlags: 0
 | 
				
			||||||
| 
						 | 
					@ -6843,7 +6854,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -8138,7 +8149,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -8487,7 +8498,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -8750,7 +8761,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -10381,7 +10392,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -10671,7 +10682,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -11116,7 +11127,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -11446,7 +11457,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -11577,7 +11588,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -11815,7 +11826,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -12311,7 +12322,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -12871,7 +12882,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -13263,7 +13274,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -14168,7 +14179,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -14599,7 +14610,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -15038,7 +15049,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_TargetGraphic: {fileID: 922060210}
 | 
					  m_TargetGraphic: {fileID: 922060210}
 | 
				
			||||||
  m_HandleRect: {fileID: 922060209}
 | 
					  m_HandleRect: {fileID: 922060209}
 | 
				
			||||||
  m_Direction: 2
 | 
					  m_Direction: 2
 | 
				
			||||||
  m_Value: 0
 | 
					  m_Value: 1
 | 
				
			||||||
  m_Size: 1
 | 
					  m_Size: 1
 | 
				
			||||||
  m_NumberOfSteps: 0
 | 
					  m_NumberOfSteps: 0
 | 
				
			||||||
  m_OnValueChanged:
 | 
					  m_OnValueChanged:
 | 
				
			||||||
| 
						 | 
					@ -15315,7 +15326,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -15943,7 +15954,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -16956,7 +16967,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -17214,7 +17225,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -17340,7 +17351,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -18082,7 +18093,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -18249,7 +18260,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -19004,7 +19015,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -19213,7 +19224,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -20036,7 +20047,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -21302,7 +21313,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -21589,7 +21600,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -22634,7 +22645,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -22854,7 +22865,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -23717,7 +23728,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -24037,7 +24048,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -24168,7 +24179,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -25021,7 +25032,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -25701,7 +25712,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -26745,7 +26756,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -26887,7 +26898,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -28823,7 +28834,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -29682,7 +29693,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -30770,7 +30781,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -31633,7 +31644,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -32000,7 +32011,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -32232,7 +32243,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -33222,7 +33233,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -33409,7 +33420,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -33804,7 +33815,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					@ -34011,7 +34022,7 @@ MonoBehaviour:
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
  m_Navigation:
 | 
					  m_Navigation:
 | 
				
			||||||
    m_Mode: 3
 | 
					    m_Mode: 0
 | 
				
			||||||
    m_SelectOnUp: {fileID: 0}
 | 
					    m_SelectOnUp: {fileID: 0}
 | 
				
			||||||
    m_SelectOnDown: {fileID: 0}
 | 
					    m_SelectOnDown: {fileID: 0}
 | 
				
			||||||
    m_SelectOnLeft: {fileID: 0}
 | 
					    m_SelectOnLeft: {fileID: 0}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -50,7 +50,7 @@ namespace RimWorldAnimationStudio
 | 
				
			||||||
                if (keyframe.atTick.HasValue)
 | 
					                if (keyframe.atTick.HasValue)
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    if (keyframe.HasValidKeyframeID() == false)
 | 
					                    if (keyframe.HasValidKeyframeID() == false)
 | 
				
			||||||
                    { keyframe.GenerateKeyframeID(); }
 | 
					                    { keyframe.GenerateKeyframeID(Workspace.animationDef.animationStages[Workspace.stageID].animationClips.IndexOf(this)); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    BodyAngle.Add((float)keyframe.atTick / (float)duration, keyframe.bodyAngle, true);
 | 
					                    BodyAngle.Add((float)keyframe.atTick / (float)duration, keyframe.bodyAngle, true);
 | 
				
			||||||
                    HeadAngle.Add((float)keyframe.atTick / (float)duration, keyframe.headAngle, true);
 | 
					                    HeadAngle.Add((float)keyframe.atTick / (float)duration, keyframe.headAngle, true);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -19,6 +19,7 @@ namespace RimWorldAnimationStudio
 | 
				
			||||||
        public float genitalAngle;
 | 
					        public float genitalAngle;
 | 
				
			||||||
        public bool? quiver;
 | 
					        public bool? quiver;
 | 
				
			||||||
        [XmlIgnore] public int keyframeID;
 | 
					        [XmlIgnore] public int keyframeID;
 | 
				
			||||||
 | 
					        [XmlIgnore] public int actorID = -1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public bool ShouldSerializegenitalAngle() { return genitalAngle != 0; }
 | 
					        public bool ShouldSerializegenitalAngle() { return genitalAngle != 0; }
 | 
				
			||||||
        public bool ShouldSerializequiver() { return quiver != null; }
 | 
					        public bool ShouldSerializequiver() { return quiver != null; }
 | 
				
			||||||
| 
						 | 
					@ -28,13 +29,14 @@ namespace RimWorldAnimationStudio
 | 
				
			||||||
            soundEffect = Tags.soundDefs.Concat(CustomTags.soundDefs).Contains(soundEffect) ? soundEffect : null;
 | 
					            soundEffect = Tags.soundDefs.Concat(CustomTags.soundDefs).Contains(soundEffect) ? soundEffect : null;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public void GenerateKeyframeID()
 | 
					        public void GenerateKeyframeID(int actorID)
 | 
				
			||||||
        { 
 | 
					        {
 | 
				
			||||||
 | 
					            this.actorID = actorID;
 | 
				
			||||||
            int _keyframeID = Random.Range(100000, 1000000);
 | 
					            int _keyframeID = Random.Range(100000, 1000000);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (Workspace.animationDef.animationStages.Any(x => x.animationClips.Any(y => y.keyframes.Any(z => z.keyframeID == _keyframeID))))
 | 
					            if (Workspace.animationDef.animationStages.Any(x => x.animationClips.Any(y => y.keyframes.Any(z => z.keyframeID == _keyframeID))))
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                GenerateKeyframeID();
 | 
					                GenerateKeyframeID(actorID);
 | 
				
			||||||
                return;
 | 
					                return;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -32,7 +32,8 @@ namespace RimWorldAnimationStudio
 | 
				
			||||||
            else
 | 
					            else
 | 
				
			||||||
            { bodyRenderer.color = Constants.ColorWhite; }
 | 
					            { bodyRenderer.color = Constants.ColorWhite; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            appendageRenderer.gameObject.SetActive(Workspace.animationDef.actors[actorID].requiredGenitals.Any(x => x == "Penis") || Workspace.animationDef.actors[actorID].isFucking);
 | 
					            //headRenderer.gameObject.SetActive(Workspace.animationDef.actors[actorID].GetAlienRaceDef().isHumanoid);
 | 
				
			||||||
 | 
					            //appendageRenderer.gameObject.SetActive(Workspace.animationDef.actors[actorID].requiredGenitals.Any(x => x == "Penis") || Workspace.animationDef.actors[actorID].isFucking);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public void OnPointerClick(PointerEventData eventData)
 | 
					        public void OnPointerClick(PointerEventData eventData)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -43,5 +43,66 @@ namespace RimWorldAnimationStudio
 | 
				
			||||||
            Workspace.Instance.GetPawnAnimationClip(Workspace.actorID).BuildSimpleCurves();
 | 
					            Workspace.Instance.GetPawnAnimationClip(Workspace.actorID).BuildSimpleCurves();
 | 
				
			||||||
            Workspace.Instance.RecordEvent("Actor position / orientation");
 | 
					            Workspace.Instance.RecordEvent("Actor position / orientation");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public void AdjustActor(Vector2 deltaOffset)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            float deltaAngle = -deltaOffset.x * 33.3333f + deltaOffset.y * 33.3333f;
 | 
				
			||||||
 | 
					            int facing = deltaOffset.x < 0 ? 3 : deltaOffset.y < 0 ? 2 : deltaOffset.x > 0 ? 1 : 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            switch (Workspace.actorManipulationMode)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                case ActorManipulationMode.Pan: MoveActor(deltaOffset); break;
 | 
				
			||||||
 | 
					                case ActorManipulationMode.Rotate: RotateActor(deltaAngle); break;
 | 
				
			||||||
 | 
					                case ActorManipulationMode.Face: FaceActor(facing); break;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public void MoveActor(Vector2 deltaOffset)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            PawnKeyframe keyframe = Workspace.Instance.GetCurrentPawnKeyframe(true);
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					            if (Workspace.selectedBodyPart == null)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                keyframe.bodyOffsetX += deltaOffset.x;
 | 
				
			||||||
 | 
					                keyframe.bodyOffsetZ += deltaOffset.y;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            else if (Workspace.selectedBodyPart.isHead)
 | 
				
			||||||
 | 
					            { keyframe.headBob += deltaOffset.y; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            Workspace.Instance.GetCurrentPawnAnimationClip().BuildSimpleCurves();
 | 
				
			||||||
 | 
					            Workspace.Instance.RecordEvent("Actor position / orientation");
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public void RotateActor(float deltaAngle)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            PawnKeyframe keyframe = Workspace.Instance.GetCurrentPawnKeyframe(true);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (Workspace.selectedBodyPart == null)
 | 
				
			||||||
 | 
					            { keyframe.bodyAngle += deltaAngle; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            else if (Workspace.selectedBodyPart.isHead)
 | 
				
			||||||
 | 
					            { keyframe.headAngle += deltaAngle; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            else
 | 
				
			||||||
 | 
					            { keyframe.genitalAngle -= deltaAngle; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            Workspace.Instance.GetCurrentPawnAnimationClip().BuildSimpleCurves();
 | 
				
			||||||
 | 
					            Workspace.Instance.RecordEvent("Actor position / orientation");
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public void FaceActor(int facing)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            PawnKeyframe keyframe = Workspace.Instance.GetCurrentPawnKeyframe(true);
 | 
				
			||||||
 | 
					           
 | 
				
			||||||
 | 
					            if (Workspace.selectedBodyPart == null)
 | 
				
			||||||
 | 
					            { keyframe.bodyFacing = facing; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            else if (Workspace.selectedBodyPart.isHead)
 | 
				
			||||||
 | 
					            { keyframe.headFacing = facing; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            Workspace.Instance.GetCurrentPawnAnimationClip().BuildSimpleCurves();
 | 
				
			||||||
 | 
					            Workspace.Instance.RecordEvent("Actor position / orientation");
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -56,6 +56,7 @@ namespace RimWorldAnimationStudio
 | 
				
			||||||
            if (Workspace.animationDef == null) return;
 | 
					            if (Workspace.animationDef == null) return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            Workspace.animationDef.actors[Workspace.actorID].SetAlienRaceDef(label.text);
 | 
					            Workspace.animationDef.actors[Workspace.actorID].SetAlienRaceDef(label.text);
 | 
				
			||||||
 | 
					            Workspace.selectedBodyPart = null;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -143,6 +143,7 @@ namespace RimWorldAnimationStudio
 | 
				
			||||||
                { continue; }
 | 
					                { continue; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                bool quiver = isAnimating && Workspace.Instance.GetCurrentOrPreviousKeyframe(actorID).quiver == true;
 | 
					                bool quiver = isAnimating && Workspace.Instance.GetCurrentOrPreviousKeyframe(actorID).quiver == true;
 | 
				
			||||||
 | 
					                bool requiresGenitals = actor.requiredGenitals.Any(x => x == "Penis") || Workspace.animationDef.actors[actorID].isFucking; 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                float clipPercent = (float)(stageTick % clip.duration) / clip.duration;
 | 
					                float clipPercent = (float)(stageTick % clip.duration) / clip.duration;
 | 
				
			||||||
                if (stageTick == clip.duration) clipPercent = 1f;
 | 
					                if (stageTick == clip.duration) clipPercent = 1f;
 | 
				
			||||||
| 
						 | 
					@ -184,7 +185,7 @@ namespace RimWorldAnimationStudio
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                actorBody.bodyRenderer.sprite = alienRaceDef.GetBodyTypeGraphic((CardinalDirection)bodyFacing, bodyType);
 | 
					                actorBody.bodyRenderer.sprite = alienRaceDef.GetBodyTypeGraphic((CardinalDirection)bodyFacing, bodyType);
 | 
				
			||||||
                actorBody.headRenderer.sprite = alienRaceDef.isHumanoid ? alienRaceDef.GetHeadGraphic((CardinalDirection)headFacing) : null;
 | 
					                actorBody.headRenderer.sprite = alienRaceDef.isHumanoid ? alienRaceDef.GetHeadGraphic((CardinalDirection)headFacing) : null;
 | 
				
			||||||
                actorBody.appendageRenderer.sprite = alienRaceDef.isHumanoid && bodyFacing != 0 ? Resources.Load<Sprite>("Textures/Humanlike/Appendages/Appendage" + bodyFacing) : null;
 | 
					                actorBody.appendageRenderer.sprite = requiresGenitals && alienRaceDef.isHumanoid && bodyFacing != 0 ? Resources.Load<Sprite>("Textures/Humanlike/Appendages/Appendage" + bodyFacing) : null;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                actorBody.bodyRenderer.gameObject.SetActive(actorBody.bodyRenderer.sprite != null);
 | 
					                actorBody.bodyRenderer.gameObject.SetActive(actorBody.bodyRenderer.sprite != null);
 | 
				
			||||||
                actorBody.headRenderer.gameObject.SetActive(actorBody.headRenderer.sprite != null);
 | 
					                actorBody.headRenderer.gameObject.SetActive(actorBody.headRenderer.sprite != null);
 | 
				
			||||||
| 
						 | 
					@ -352,7 +353,7 @@ namespace RimWorldAnimationStudio
 | 
				
			||||||
                { Debug.LogWarning("Cannot clone pawn keyframe - a keyframe already exists at this tick"); return; }
 | 
					                { Debug.LogWarning("Cannot clone pawn keyframe - a keyframe already exists at this tick"); return; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                PawnKeyframe cloneFrame = keyframe.Copy();
 | 
					                PawnKeyframe cloneFrame = keyframe.Copy();
 | 
				
			||||||
                cloneFrame.GenerateKeyframeID();
 | 
					                cloneFrame.GenerateKeyframeID(clipID);
 | 
				
			||||||
                cloneFrame.atTick = stageTick;
 | 
					                cloneFrame.atTick = stageTick;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                PawnKeyframe nextKeyframe = clip.keyframes.FirstOrDefault(x => x.atTick > stageTick);
 | 
					                PawnKeyframe nextKeyframe = clip.keyframes.FirstOrDefault(x => x.atTick > stageTick);
 | 
				
			||||||
| 
						 | 
					@ -371,6 +372,48 @@ namespace RimWorldAnimationStudio
 | 
				
			||||||
            Workspace.Instance.RecordEvent("Keyframe clone");
 | 
					            Workspace.Instance.RecordEvent("Keyframe clone");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public void CopyPawnKeyframes()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            Workspace.copiedKeyframes.Clear();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            List<PawnKeyframe> keyframesToClone = Workspace.Instance.GetPawnKeyframes(Workspace.keyframeID);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            foreach (PawnKeyframe keyframe in keyframesToClone)
 | 
				
			||||||
 | 
					            { Workspace.copiedKeyframes.Add(keyframe.Copy()); }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public void PastePawnKeyframes()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            foreach (PawnKeyframe keyframe in Workspace.copiedKeyframes)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                PawnAnimationClip clip = Workspace.animationDef.animationStages[Workspace.stageID].animationClips[keyframe.actorID];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                if (Workspace.Instance.DoesPawnKeyframeExistAtTick(Workspace.stageID, keyframe.actorID, stageTick))
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    PawnKeyframe oldKeyframe = Workspace.animationDef.animationStages[Workspace.stageID].animationClips[keyframe.actorID].keyframes.First(x => x.atTick == stageTick);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    RemovePawnKeyframe(keyframe.actorID, oldKeyframe.keyframeID, true);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                keyframe.GenerateKeyframeID(keyframe.actorID);
 | 
				
			||||||
 | 
					                keyframe.atTick = stageTick;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                PawnKeyframe nextKeyframe = clip.keyframes.FirstOrDefault(x => x.atTick > stageTick);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                if (nextKeyframe != null)
 | 
				
			||||||
 | 
					                { clip.keyframes.Insert(clip.keyframes.IndexOf(nextKeyframe), keyframe); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                else
 | 
				
			||||||
 | 
					                { clip.keyframes.Add(keyframe); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                clip.BuildSimpleCurves();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                animationTimelines.GetComponentsInChildren<AnimationTimeline>()[keyframe.actorID].AddPawnKeyFrame(keyframe.keyframeID);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                clip.BuildSimpleCurves();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public void RemovePawnKeyframe()
 | 
					        public void RemovePawnKeyframe()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            foreach (int keyframeID in Workspace.keyframeID)
 | 
					            foreach (int keyframeID in Workspace.keyframeID)
 | 
				
			||||||
| 
						 | 
					@ -380,17 +423,17 @@ namespace RimWorldAnimationStudio
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public void RemovePawnKeyframe(int actorID, int keyframeID)
 | 
					        public void RemovePawnKeyframe(int actorID, int keyframeID, bool force = false)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            PawnKeyframe keyframe = Workspace.Instance.GetPawnKeyframe(actorID, keyframeID);
 | 
					            PawnKeyframe keyframe = Workspace.Instance.GetPawnKeyframe(actorID, keyframeID);
 | 
				
			||||||
            PawnAnimationClip clip = Workspace.animationDef.animationStages[Workspace.stageID].animationClips[actorID];
 | 
					            PawnAnimationClip clip = Workspace.animationDef.animationStages[Workspace.stageID].animationClips[actorID];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (keyframe == null || clip == null) return;
 | 
					            if (keyframe == null || clip == null) return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (keyframe.atTick == 1)
 | 
					            if (keyframe.atTick == 1 && force == false)
 | 
				
			||||||
            { Debug.LogWarning("Cannot delete key frame - the first key frame of an animation clip cannot be deleted"); return; }
 | 
					            { Debug.LogWarning("Cannot delete key frame - the first key frame of an animation clip cannot be deleted"); return; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (clip.keyframes.Count <= 2)
 | 
					            if (clip.keyframes.Count <= 2 && force == false)
 | 
				
			||||||
            { Debug.LogWarning("Cannot delete key frame - an animation clip must have two or more keyframes"); return; }
 | 
					            { Debug.LogWarning("Cannot delete key frame - an animation clip must have two or more keyframes"); return; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            animationTimelines.GetComponentsInChildren<AnimationTimeline>()[actorID].RemovePawnKeyFrame(keyframe.keyframeID);
 | 
					            animationTimelines.GetComponentsInChildren<AnimationTimeline>()[actorID].RemovePawnKeyFrame(keyframe.keyframeID);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -9,34 +9,220 @@ namespace RimWorldAnimationStudio
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    public class InputManager : Singleton<InputManager>
 | 
					    public class InputManager : Singleton<InputManager>
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
 | 
					        private float lastUpdate = -1f;
 | 
				
			||||||
 | 
					        private float timeBetweenUpdates = 0.15f;
 | 
				
			||||||
 | 
					        private float largeStep = 0.1f;
 | 
				
			||||||
 | 
					        private float smallStep = 0.03f;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public bool CanUpdate()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            if (Time.unscaledTime > lastUpdate + timeBetweenUpdates)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                lastUpdate = Time.unscaledTime;
 | 
				
			||||||
 | 
					                return true;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            return false;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public void Update()
 | 
					        public void Update()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            if (Input.GetKey(KeyCode.LeftControl) && Input.GetKeyDown(KeyCode.Z))
 | 
					            // Make new animation
 | 
				
			||||||
 | 
					            if ((Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.LeftCommand)) && Input.GetKeyDown(KeyCode.N))
 | 
				
			||||||
 | 
					            { ApplicationManager.Instance.TryToMakeNewAnimation(); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Save animation
 | 
				
			||||||
 | 
					            else if ((Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.LeftCommand)) && Input.GetKeyDown(KeyCode.S))
 | 
				
			||||||
 | 
					            { ApplicationManager.Instance.TryToSaveAnimation(); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Load animation
 | 
				
			||||||
 | 
					            else if ((Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.LeftCommand)) && Input.GetKeyDown(KeyCode.L))
 | 
				
			||||||
 | 
					            { ApplicationManager.Instance.TryToLoadAnimation(); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Exit if animationDef has not be loaded
 | 
				
			||||||
 | 
					            if (Workspace.animationDef == null) return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Play / pause
 | 
				
			||||||
 | 
					            if (Input.GetKeyDown(KeyCode.Space))
 | 
				
			||||||
 | 
					            { AnimationController.Instance.ToggleAnimation(); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Move / switch actors
 | 
				
			||||||
 | 
					            else if (Input.GetKey(KeyCode.UpArrow) && CanUpdate())
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                if (Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.LeftCommand))
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    Workspace.selectedBodyPart = null;
 | 
				
			||||||
 | 
					                    Workspace.actorID = Mathf.Clamp(Workspace.actorID - 1, 0, Workspace.animationDef.actors.Count - 1);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                else if (Input.GetKey(KeyCode.LeftShift))
 | 
				
			||||||
 | 
					                { ActorKeyframeCard.Instance.AdjustActor(Vector2.up * smallStep); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                else
 | 
				
			||||||
 | 
					                { ActorKeyframeCard.Instance.AdjustActor(Vector2.up * largeStep); }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            else if (Input.GetKey(KeyCode.DownArrow) && CanUpdate())
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                if (Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.LeftCommand))
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    Workspace.selectedBodyPart = null;
 | 
				
			||||||
 | 
					                    Workspace.actorID = Mathf.Clamp(Workspace.actorID + 1, 0, Workspace.animationDef.actors.Count - 1);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                else if (Input.GetKey(KeyCode.LeftShift))
 | 
				
			||||||
 | 
					                { ActorKeyframeCard.Instance.AdjustActor(Vector2.down * smallStep); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                else
 | 
				
			||||||
 | 
					                { ActorKeyframeCard.Instance.AdjustActor(Vector2.down * largeStep); }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            else if (Input.GetKey(KeyCode.LeftArrow) && CanUpdate())
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                if (Input.GetKey(KeyCode.LeftShift))
 | 
				
			||||||
 | 
					                { ActorKeyframeCard.Instance.AdjustActor(Vector2.left * smallStep); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                else
 | 
				
			||||||
 | 
					                { ActorKeyframeCard.Instance.AdjustActor(Vector2.left * largeStep); }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            else if (Input.GetKey(KeyCode.RightArrow) && CanUpdate())
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                if (Input.GetKey(KeyCode.LeftShift))
 | 
				
			||||||
 | 
					                { ActorKeyframeCard.Instance.AdjustActor(Vector2.right * smallStep); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                else
 | 
				
			||||||
 | 
					                { ActorKeyframeCard.Instance.AdjustActor(Vector2.right * largeStep); }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Switch to actor panning
 | 
				
			||||||
 | 
					            else if (Input.GetKeyDown(KeyCode.Q))
 | 
				
			||||||
 | 
					            { AnimationController.Instance.ToggleActorManipulationMode(0); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Switch to actor rotating
 | 
				
			||||||
 | 
					            else if (Input.GetKeyDown(KeyCode.W))
 | 
				
			||||||
 | 
					            { AnimationController.Instance.ToggleActorManipulationMode(1); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // SWitch to actor facing
 | 
				
			||||||
 | 
					            else if (Input.GetKeyDown(KeyCode.E))
 | 
				
			||||||
 | 
					            { AnimationController.Instance.ToggleActorManipulationMode(2); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Switch between body parts
 | 
				
			||||||
 | 
					            else if (Input.GetKeyDown(KeyCode.Tab))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                ActorBody actorBody = AnimationController.Instance.actorBodies.GetChild(Workspace.actorID).GetComponent<ActorBody>();
 | 
				
			||||||
 | 
					                List<ActorBodyPart> actorBodyParts = actorBody.GetComponentsInChildren<ActorBodyPart>().Where(x => x.gameObject.activeInHierarchy)?.ToList();
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					                foreach(Transform c in actorBody.transform)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    Debug.Log(c.gameObject + " " + c.gameObject.activeSelf);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                if (actorBodyParts.NullOrEmpty()) return;
 | 
				
			||||||
 | 
					                
 | 
				
			||||||
 | 
					                if (Workspace.selectedBodyPart == null)
 | 
				
			||||||
 | 
					                { actorBodyParts[0].Activate(); return; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                else
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    for (int i = 0; i < actorBodyParts.Count; i++)
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        ActorBodyPart part = actorBodyParts[i];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        if (part == Workspace.selectedBodyPart)
 | 
				
			||||||
 | 
					                        {
 | 
				
			||||||
 | 
					                            if (i < actorBodyParts.Count - 1)
 | 
				
			||||||
 | 
					                            { actorBodyParts[i + 1].Activate(); return; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            else
 | 
				
			||||||
 | 
					                            { actorBody.Activate(); return; }
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Move along time lines
 | 
				
			||||||
 | 
					            else if (Input.GetKey(KeyCode.PageUp) && CanUpdate())
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                if (Input.GetKey(KeyCode.LeftShift))
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    PawnKeyframe keyframe = Workspace.Instance.GetPreviousKeyframe(Workspace.actorID);
 | 
				
			||||||
 | 
					                    if (keyframe != null) AnimationController.Instance.stageTick = keyframe.atTick.Value;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                else if (Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.LeftCommand))
 | 
				
			||||||
 | 
					                { AnimationController.Instance.stageTick = 1; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                else
 | 
				
			||||||
 | 
					                { AnimationController.Instance.stageTick = Mathf.Clamp(AnimationController.Instance.stageTick - 1, 1, Workspace.StageWindowSize); }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            else if (Input.GetKey(KeyCode.PageDown) && CanUpdate())
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                if (Input.GetKey(KeyCode.LeftShift))
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    PawnKeyframe keyframe = Workspace.Instance.GetNextKeyframe(Workspace.actorID);
 | 
				
			||||||
 | 
					                    if (keyframe != null) AnimationController.Instance.stageTick = keyframe.atTick.Value;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                else if (Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.LeftCommand))
 | 
				
			||||||
 | 
					                { AnimationController.Instance.stageTick = Workspace.StageWindowSize; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                else
 | 
				
			||||||
 | 
					                { AnimationController.Instance.stageTick = Mathf.Clamp(AnimationController.Instance.stageTick + 1, 1, Workspace.StageWindowSize); }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Switch stages 
 | 
				
			||||||
 | 
					            else if (Input.GetKeyDown(KeyCode.Home))
 | 
				
			||||||
 | 
					            { 
 | 
				
			||||||
 | 
					                int prevStageID = Workspace.stageID;
 | 
				
			||||||
 | 
					                Workspace.stageID = Mathf.Clamp(Workspace.stageID - 1, 0, Workspace.animationDef.animationStages.Count - 1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                if (Workspace.stageID != prevStageID)
 | 
				
			||||||
 | 
					                { Workspace.Instance.RecordEvent("Stage selected"); }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            else if (Input.GetKeyDown(KeyCode.End))
 | 
				
			||||||
 | 
					            { 
 | 
				
			||||||
 | 
					                
 | 
				
			||||||
 | 
					                int prevStageID = Workspace.stageID;
 | 
				
			||||||
 | 
					                Workspace.stageID = Mathf.Clamp(Workspace.stageID + 1, 0, Workspace.animationDef.animationStages.Count - 1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                if (Workspace.stageID != prevStageID)
 | 
				
			||||||
 | 
					                { Workspace.Instance.RecordEvent("Stage selected"); }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Undo
 | 
				
			||||||
 | 
					            else if (Input.GetKey(KeyCode.LeftControl) && Input.GetKeyDown(KeyCode.Z))
 | 
				
			||||||
            { Workspace.Instance.Undo(); }
 | 
					            { Workspace.Instance.Undo(); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            else if (Input.GetKey(KeyCode.LeftCommand) && Input.GetKeyDown(KeyCode.Z))
 | 
					            else if (Input.GetKey(KeyCode.LeftCommand) && Input.GetKeyDown(KeyCode.Z))
 | 
				
			||||||
            { Workspace.Instance.Undo(); }
 | 
					            { Workspace.Instance.Undo(); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Redo
 | 
				
			||||||
            else if (Input.GetKey(KeyCode.LeftControl) && Input.GetKeyDown(KeyCode.Y))
 | 
					            else if (Input.GetKey(KeyCode.LeftControl) && Input.GetKeyDown(KeyCode.Y))
 | 
				
			||||||
            { Workspace.Instance.Redo(); }
 | 
					            { Workspace.Instance.Redo(); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            else if (Input.GetKey(KeyCode.LeftCommand) && Input.GetKey(KeyCode.LeftShift) && Input.GetKeyDown(KeyCode.Z))
 | 
					            else if (Input.GetKey(KeyCode.LeftCommand) && Input.GetKey(KeyCode.LeftShift) && Input.GetKeyDown(KeyCode.Z))
 | 
				
			||||||
            { Workspace.Instance.Redo(); }
 | 
					            { Workspace.Instance.Redo(); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            else if ((Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.LeftCommand)) && Input.GetKeyDown(KeyCode.C))
 | 
					            // Copy keyframes
 | 
				
			||||||
            { AnimationController.Instance.ClonePawnKeyframe(); }
 | 
					            else if (Input.GetKey(KeyCode.LeftControl) && Input.GetKeyDown(KeyCode.C))
 | 
				
			||||||
 | 
					            { AnimationController.Instance.CopyPawnKeyframes(); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            else if (Input.GetKey(KeyCode.LeftCommand) && Input.GetKeyDown(KeyCode.C))
 | 
				
			||||||
 | 
					            { AnimationController.Instance.CopyPawnKeyframes(); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Paste keyframes
 | 
				
			||||||
 | 
					            else if (Input.GetKey(KeyCode.LeftControl) && Input.GetKeyDown(KeyCode.V))
 | 
				
			||||||
 | 
					            { AnimationController.Instance.PastePawnKeyframes(); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            else if (Input.GetKey(KeyCode.LeftCommand) && Input.GetKeyDown(KeyCode.X))
 | 
				
			||||||
 | 
					            { AnimationController.Instance.PastePawnKeyframes(); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Delete keyframes
 | 
				
			||||||
            else if (Input.GetKey(KeyCode.Backspace) || Input.GetKey(KeyCode.Delete))
 | 
					            else if (Input.GetKey(KeyCode.Backspace) || Input.GetKey(KeyCode.Delete))
 | 
				
			||||||
            { AnimationController.Instance.RemovePawnKeyframe(); }
 | 
					            { AnimationController.Instance.RemovePawnKeyframe(); }
 | 
				
			||||||
 | 
					 | 
				
			||||||
            else if ((Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.LeftCommand)) && Input.GetKeyDown(KeyCode.N))
 | 
					 | 
				
			||||||
            { ApplicationManager.Instance.TryToMakeNewAnimation(); }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            else if ((Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.LeftCommand)) && Input.GetKeyDown(KeyCode.S))
 | 
					 | 
				
			||||||
            { ApplicationManager.Instance.TryToSaveAnimation(); }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            else if ((Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.LeftCommand)) && Input.GetKeyDown(KeyCode.L))
 | 
					 | 
				
			||||||
            { ApplicationManager.Instance.TryToLoadAnimation(); }
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -20,7 +20,9 @@ namespace RimWorldAnimationStudio
 | 
				
			||||||
        public static ActorManipulationMode actorManipulationMode = ActorManipulationMode.Pan;
 | 
					        public static ActorManipulationMode actorManipulationMode = ActorManipulationMode.Pan;
 | 
				
			||||||
        public static ActorBodyPart selectedBodyPart;
 | 
					        public static ActorBodyPart selectedBodyPart;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        static int _actorID = 0;
 | 
					        public static List<PawnKeyframe> copiedKeyframes = new List<PawnKeyframe>();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        private static int _actorID = 0;
 | 
				
			||||||
        public static int actorID { get { return Mathf.Clamp(_actorID, 0, animationDef.actors.Count - 1); }  set { _actorID = value; }  }
 | 
					        public static int actorID { get { return Mathf.Clamp(_actorID, 0, animationDef.actors.Count - 1); }  set { _actorID = value; }  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public static int StageWindowSize
 | 
					        public static int StageWindowSize
 | 
				
			||||||
| 
						 | 
					@ -109,6 +111,38 @@ namespace RimWorldAnimationStudio
 | 
				
			||||||
            return animationDef.animationStages[stageID].animationClips[actorID].keyframes.Any(x => x.atTick == atTick);
 | 
					            return animationDef.animationStages[stageID].animationClips[actorID].keyframes.Any(x => x.atTick == atTick);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public PawnKeyframe GetNextKeyframe(int actorID)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            PawnKeyframe pawnKeyframe = null;
 | 
				
			||||||
 | 
					            PawnAnimationClip clip = GetPawnAnimationClip(actorID);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            int stageTick = AnimationController.Instance.stageTick;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            foreach (PawnKeyframe keyframe in clip.keyframes)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                if (keyframe.atTick > stageTick)
 | 
				
			||||||
 | 
					                { pawnKeyframe = keyframe; break; }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            return pawnKeyframe;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public PawnKeyframe GetPreviousKeyframe(int actorID)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            PawnKeyframe pawnKeyframe = null;
 | 
				
			||||||
 | 
					            PawnAnimationClip clip = GetPawnAnimationClip(actorID);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            int stageTick = AnimationController.Instance.stageTick;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            foreach (PawnKeyframe keyframe in clip.keyframes)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                if (keyframe.atTick < stageTick)
 | 
				
			||||||
 | 
					                { pawnKeyframe = keyframe; }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            return pawnKeyframe;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public PawnKeyframe GetCurrentOrPreviousKeyframe(int actorID)
 | 
					        public PawnKeyframe GetCurrentOrPreviousKeyframe(int actorID)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            PawnKeyframe pawnKeyframe = null;
 | 
					            PawnKeyframe pawnKeyframe = null;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							| 
						 | 
					@ -3,15 +3,6 @@
 | 
				
			||||||
  <bodyParts />
 | 
					  <bodyParts />
 | 
				
			||||||
  <bodyDefTypes />
 | 
					  <bodyDefTypes />
 | 
				
			||||||
  <sexTypes />
 | 
					  <sexTypes />
 | 
				
			||||||
  <interactionDefTypes>
 | 
					  <interactionDefTypes />
 | 
				
			||||||
    <li>AnalSex</li>
 | 
					  <soundDefs />
 | 
				
			||||||
    <li>AnalSexF</li>
 | 
					 | 
				
			||||||
    <li>AnalRapeF</li>
 | 
					 | 
				
			||||||
    <li>VaginalSex</li>
 | 
					 | 
				
			||||||
    <li>VaginalSexF</li>
 | 
					 | 
				
			||||||
    <li>VaginalRapeF</li>
 | 
					 | 
				
			||||||
  </interactionDefTypes>
 | 
					 | 
				
			||||||
  <soundDefs>
 | 
					 | 
				
			||||||
    <li>Kiss</li>
 | 
					 | 
				
			||||||
  </soundDefs>
 | 
					 | 
				
			||||||
</CustomTagsHelper>
 | 
					</CustomTagsHelper>
 | 
				
			||||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/01/01076cf8aa0fb87c02b598e8478a36e2
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/01/01076cf8aa0fb87c02b598e8478a36e2
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/14/148af1c1e4a8e200283de290fe6b1fa5
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/14/148af1c1e4a8e200283de290fe6b1fa5
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 Before Width: | Height: | Size: 7.8 KiB  | 
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 Before Width: | Height: | Size: 8.7 KiB  | 
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/98/98b46766821abfec808eccb2fdcb2ca6
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/98/98b46766821abfec808eccb2fdcb2ca6
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 Before Width: | Height: | Size: 12 KiB  | 
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/d4/d450eb1d10da4536a842fc79ca0b0af7
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/d4/d450eb1d10da4536a842fc79ca0b0af7
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/f7/f7d0a1b77b8afc902f44dad04cf6e97d
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/f7/f7d0a1b77b8afc902f44dad04cf6e97d
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							Some files were not shown because too many files have changed in this diff Show more
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue