mirror of
				https://gitgud.io/AbstractConcept/rimworld-animation-studio.git
				synced 2024-08-15 00:43:27 +00:00 
			
		
		
		
	Manual timeline, cycle and actor tweaking
This commit is contained in:
		
							parent
							
								
									dfa564759b
								
							
						
					
					
						commit
						1dd7781179
					
				
					 165 changed files with 4040 additions and 166 deletions
				
			
		
										
											Binary file not shown.
										
									
								
							| 
						 | 
					@ -66,6 +66,7 @@
 | 
				
			||||||
    <Compile Include="Assets\Scripts\ActorBody.cs" />
 | 
					    <Compile Include="Assets\Scripts\ActorBody.cs" />
 | 
				
			||||||
    <Compile Include="Assets\Scripts\ActorCard.cs" />
 | 
					    <Compile Include="Assets\Scripts\ActorCard.cs" />
 | 
				
			||||||
    <Compile Include="Assets\Scripts\AnimationComponents\Actor.cs" />
 | 
					    <Compile Include="Assets\Scripts\AnimationComponents\Actor.cs" />
 | 
				
			||||||
 | 
					    <Compile Include="Assets\Scripts\AnimationComponents\ActorBodyPart.cs" />
 | 
				
			||||||
    <Compile Include="Assets\Scripts\AnimationComponents\AlienRaceOffset.cs" />
 | 
					    <Compile Include="Assets\Scripts\AnimationComponents\AlienRaceOffset.cs" />
 | 
				
			||||||
    <Compile Include="Assets\Scripts\AnimationComponents\AnimationClips\AnimationClip.cs" />
 | 
					    <Compile Include="Assets\Scripts\AnimationComponents\AnimationClips\AnimationClip.cs" />
 | 
				
			||||||
    <Compile Include="Assets\Scripts\AnimationComponents\AnimationClips\PawnAnimationClip.cs" />
 | 
					    <Compile Include="Assets\Scripts\AnimationComponents\AnimationClips\PawnAnimationClip.cs" />
 | 
				
			||||||
| 
						 | 
					@ -89,8 +90,10 @@
 | 
				
			||||||
    <Compile Include="Assets\Scripts\DialogBoxes\SelectDefNamesDialog.cs" />
 | 
					    <Compile Include="Assets\Scripts\DialogBoxes\SelectDefNamesDialog.cs" />
 | 
				
			||||||
    <Compile Include="Assets\Scripts\DialogBoxes\SelectInteractionDefsDialog.cs" />
 | 
					    <Compile Include="Assets\Scripts\DialogBoxes\SelectInteractionDefsDialog.cs" />
 | 
				
			||||||
    <Compile Include="Assets\Scripts\DialogBoxes\SelectSexTypesDialog.cs" />
 | 
					    <Compile Include="Assets\Scripts\DialogBoxes\SelectSexTypesDialog.cs" />
 | 
				
			||||||
 | 
					    <Compile Include="Assets\Scripts\Enums.cs" />
 | 
				
			||||||
    <Compile Include="Assets\Scripts\Extensions\IListExtensions.cs" />
 | 
					    <Compile Include="Assets\Scripts\Extensions\IListExtensions.cs" />
 | 
				
			||||||
    <Compile Include="Assets\Scripts\Extensions\TransformExtensions.cs" />
 | 
					    <Compile Include="Assets\Scripts\Extensions\TransformExtensions.cs" />
 | 
				
			||||||
 | 
					    <Compile Include="Assets\Scripts\GUI\ActorKeyframeCard.cs" />
 | 
				
			||||||
    <Compile Include="Assets\Scripts\GUI\AnimationTimeline.cs" />
 | 
					    <Compile Include="Assets\Scripts\GUI\AnimationTimeline.cs" />
 | 
				
			||||||
    <Compile Include="Assets\Scripts\GUI\KeyframeSlider.cs" />
 | 
					    <Compile Include="Assets\Scripts\GUI\KeyframeSlider.cs" />
 | 
				
			||||||
    <Compile Include="Assets\Scripts\GenMath.cs" />
 | 
					    <Compile Include="Assets\Scripts\GenMath.cs" />
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -10,6 +10,8 @@ GameObject:
 | 
				
			||||||
  m_Component:
 | 
					  m_Component:
 | 
				
			||||||
  - component: {fileID: 7929422519883802245}
 | 
					  - component: {fileID: 7929422519883802245}
 | 
				
			||||||
  - component: {fileID: 7929422519883802244}
 | 
					  - component: {fileID: 7929422519883802244}
 | 
				
			||||||
 | 
					  - component: {fileID: 3275330537164762353}
 | 
				
			||||||
 | 
					  - component: {fileID: 7621569460770085946}
 | 
				
			||||||
  m_Layer: 0
 | 
					  m_Layer: 0
 | 
				
			||||||
  m_Name: ActorHead
 | 
					  m_Name: ActorHead
 | 
				
			||||||
  m_TagString: Untagged
 | 
					  m_TagString: Untagged
 | 
				
			||||||
| 
						 | 
					@ -70,17 +72,57 @@ SpriteRenderer:
 | 
				
			||||||
  m_SortingLayerID: -2115984483
 | 
					  m_SortingLayerID: -2115984483
 | 
				
			||||||
  m_SortingLayer: 22
 | 
					  m_SortingLayer: 22
 | 
				
			||||||
  m_SortingOrder: 1
 | 
					  m_SortingOrder: 1
 | 
				
			||||||
  m_Sprite: {fileID: 0}
 | 
					  m_Sprite: {fileID: 21300000, guid: 0b37cc6354dc6a94cb2d2de2529baa4e, type: 3}
 | 
				
			||||||
  m_Color: {r: 1, g: 1, b: 1, a: 1}
 | 
					  m_Color: {r: 1, g: 1, b: 1, a: 1}
 | 
				
			||||||
  m_FlipX: 0
 | 
					  m_FlipX: 0
 | 
				
			||||||
  m_FlipY: 0
 | 
					  m_FlipY: 0
 | 
				
			||||||
  m_DrawMode: 0
 | 
					  m_DrawMode: 0
 | 
				
			||||||
  m_Size: {x: 1, y: 1}
 | 
					  m_Size: {x: 1.28, y: 1.28}
 | 
				
			||||||
  m_AdaptiveModeThreshold: 0.5
 | 
					  m_AdaptiveModeThreshold: 0.5
 | 
				
			||||||
  m_SpriteTileMode: 0
 | 
					  m_SpriteTileMode: 0
 | 
				
			||||||
  m_WasSpriteAssigned: 0
 | 
					  m_WasSpriteAssigned: 1
 | 
				
			||||||
  m_MaskInteraction: 0
 | 
					  m_MaskInteraction: 0
 | 
				
			||||||
  m_SpriteSortPoint: 0
 | 
					  m_SpriteSortPoint: 0
 | 
				
			||||||
 | 
					--- !u!114 &3275330537164762353
 | 
				
			||||||
 | 
					MonoBehaviour:
 | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0
 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0}
 | 
				
			||||||
 | 
					  m_GameObject: {fileID: 7929422519883802246}
 | 
				
			||||||
 | 
					  m_Enabled: 1
 | 
				
			||||||
 | 
					  m_EditorHideFlags: 0
 | 
				
			||||||
 | 
					  m_Script: {fileID: 11500000, guid: b23e33f312d52c642b86f5f2138f4030, type: 3}
 | 
				
			||||||
 | 
					  m_Name: 
 | 
				
			||||||
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
 | 
					  bodyPartRenderer: {fileID: 7929422519883802244}
 | 
				
			||||||
 | 
					  parent: {fileID: -4411442180840688308}
 | 
				
			||||||
 | 
					--- !u!61 &7621569460770085946
 | 
				
			||||||
 | 
					BoxCollider2D:
 | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0
 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0}
 | 
				
			||||||
 | 
					  m_GameObject: {fileID: 7929422519883802246}
 | 
				
			||||||
 | 
					  m_Enabled: 1
 | 
				
			||||||
 | 
					  m_Density: 1
 | 
				
			||||||
 | 
					  m_Material: {fileID: 0}
 | 
				
			||||||
 | 
					  m_IsTrigger: 0
 | 
				
			||||||
 | 
					  m_UsedByEffector: 0
 | 
				
			||||||
 | 
					  m_UsedByComposite: 0
 | 
				
			||||||
 | 
					  m_Offset: {x: 0, y: 0}
 | 
				
			||||||
 | 
					  m_SpriteTilingProperty:
 | 
				
			||||||
 | 
					    border: {x: 0, y: 0, z: 0, w: 0}
 | 
				
			||||||
 | 
					    pivot: {x: 0.5, y: 0.5}
 | 
				
			||||||
 | 
					    oldSize: {x: 1.28, y: 1.28}
 | 
				
			||||||
 | 
					    newSize: {x: 1.28, y: 1.28}
 | 
				
			||||||
 | 
					    adaptiveTilingThreshold: 0.5
 | 
				
			||||||
 | 
					    drawMode: 0
 | 
				
			||||||
 | 
					    adaptiveTiling: 0
 | 
				
			||||||
 | 
					  m_AutoTiling: 0
 | 
				
			||||||
 | 
					  serializedVersion: 2
 | 
				
			||||||
 | 
					  m_Size: {x: 0.5, y: 0.5}
 | 
				
			||||||
 | 
					  m_EdgeRadius: 0
 | 
				
			||||||
--- !u!1 &7929422520673851210
 | 
					--- !u!1 &7929422520673851210
 | 
				
			||||||
GameObject:
 | 
					GameObject:
 | 
				
			||||||
  m_ObjectHideFlags: 0
 | 
					  m_ObjectHideFlags: 0
 | 
				
			||||||
| 
						 | 
					@ -92,6 +134,7 @@ GameObject:
 | 
				
			||||||
  - component: {fileID: 7929422520673851209}
 | 
					  - component: {fileID: 7929422520673851209}
 | 
				
			||||||
  - component: {fileID: 7929422520673851208}
 | 
					  - component: {fileID: 7929422520673851208}
 | 
				
			||||||
  - component: {fileID: -4411442180840688308}
 | 
					  - component: {fileID: -4411442180840688308}
 | 
				
			||||||
 | 
					  - component: {fileID: -7575978412006062152}
 | 
				
			||||||
  m_Layer: 0
 | 
					  m_Layer: 0
 | 
				
			||||||
  m_Name: ActorBody
 | 
					  m_Name: ActorBody
 | 
				
			||||||
  m_TagString: Untagged
 | 
					  m_TagString: Untagged
 | 
				
			||||||
| 
						 | 
					@ -153,15 +196,15 @@ SpriteRenderer:
 | 
				
			||||||
  m_SortingLayerID: -2115984483
 | 
					  m_SortingLayerID: -2115984483
 | 
				
			||||||
  m_SortingLayer: 22
 | 
					  m_SortingLayer: 22
 | 
				
			||||||
  m_SortingOrder: 0
 | 
					  m_SortingOrder: 0
 | 
				
			||||||
  m_Sprite: {fileID: 0}
 | 
					  m_Sprite: {fileID: 21300000, guid: e6887bc2f64df4d4b91bd2d0ad0ffd98, type: 3}
 | 
				
			||||||
  m_Color: {r: 1, g: 1, b: 1, a: 1}
 | 
					  m_Color: {r: 1, g: 1, b: 1, a: 1}
 | 
				
			||||||
  m_FlipX: 0
 | 
					  m_FlipX: 0
 | 
				
			||||||
  m_FlipY: 0
 | 
					  m_FlipY: 0
 | 
				
			||||||
  m_DrawMode: 0
 | 
					  m_DrawMode: 0
 | 
				
			||||||
  m_Size: {x: 1, y: 1}
 | 
					  m_Size: {x: 1.5058824, y: 1.5058824}
 | 
				
			||||||
  m_AdaptiveModeThreshold: 0.5
 | 
					  m_AdaptiveModeThreshold: 0.5
 | 
				
			||||||
  m_SpriteTileMode: 0
 | 
					  m_SpriteTileMode: 0
 | 
				
			||||||
  m_WasSpriteAssigned: 0
 | 
					  m_WasSpriteAssigned: 1
 | 
				
			||||||
  m_MaskInteraction: 0
 | 
					  m_MaskInteraction: 0
 | 
				
			||||||
  m_SpriteSortPoint: 0
 | 
					  m_SpriteSortPoint: 0
 | 
				
			||||||
--- !u!114 &-4411442180840688308
 | 
					--- !u!114 &-4411442180840688308
 | 
				
			||||||
| 
						 | 
					@ -176,5 +219,32 @@ MonoBehaviour:
 | 
				
			||||||
  m_Script: {fileID: 11500000, guid: 511a9ed9093e7fc458dec8d3c657f9a5, type: 3}
 | 
					  m_Script: {fileID: 11500000, guid: 511a9ed9093e7fc458dec8d3c657f9a5, type: 3}
 | 
				
			||||||
  m_Name: 
 | 
					  m_Name: 
 | 
				
			||||||
  m_EditorClassIdentifier: 
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
 | 
					  actorID: 0
 | 
				
			||||||
  bodyRenderer: {fileID: 7929422520673851208}
 | 
					  bodyRenderer: {fileID: 7929422520673851208}
 | 
				
			||||||
  headRenderer: {fileID: 7929422519883802244}
 | 
					  headRenderer: {fileID: 7929422519883802244}
 | 
				
			||||||
 | 
					--- !u!61 &-7575978412006062152
 | 
				
			||||||
 | 
					BoxCollider2D:
 | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0
 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0}
 | 
				
			||||||
 | 
					  m_GameObject: {fileID: 7929422520673851210}
 | 
				
			||||||
 | 
					  m_Enabled: 1
 | 
				
			||||||
 | 
					  m_Density: 1
 | 
				
			||||||
 | 
					  m_Material: {fileID: 0}
 | 
				
			||||||
 | 
					  m_IsTrigger: 0
 | 
				
			||||||
 | 
					  m_UsedByEffector: 0
 | 
				
			||||||
 | 
					  m_UsedByComposite: 0
 | 
				
			||||||
 | 
					  m_Offset: {x: 0, y: -0.2}
 | 
				
			||||||
 | 
					  m_SpriteTilingProperty:
 | 
				
			||||||
 | 
					    border: {x: 0, y: 0, z: 0, w: 0}
 | 
				
			||||||
 | 
					    pivot: {x: 0.5, y: 0.5}
 | 
				
			||||||
 | 
					    oldSize: {x: 1.5058824, y: 1.5058824}
 | 
				
			||||||
 | 
					    newSize: {x: 1.5058824, y: 1.5058824}
 | 
				
			||||||
 | 
					    adaptiveTilingThreshold: 0.5
 | 
				
			||||||
 | 
					    drawMode: 0
 | 
				
			||||||
 | 
					    adaptiveTiling: 0
 | 
				
			||||||
 | 
					  m_AutoTiling: 0
 | 
				
			||||||
 | 
					  serializedVersion: 2
 | 
				
			||||||
 | 
					  m_Size: {x: 0.75, y: 1}
 | 
				
			||||||
 | 
					  m_EdgeRadius: 0
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -107,7 +107,7 @@ RectTransform:
 | 
				
			||||||
  m_AnchorMin: {x: 0, y: 0.5}
 | 
					  m_AnchorMin: {x: 0, y: 0.5}
 | 
				
			||||||
  m_AnchorMax: {x: 1, y: 0.5}
 | 
					  m_AnchorMax: {x: 1, y: 0.5}
 | 
				
			||||||
  m_AnchoredPosition: {x: 0, y: 0}
 | 
					  m_AnchoredPosition: {x: 0, y: 0}
 | 
				
			||||||
  m_SizeDelta: {x: 0, y: 20}
 | 
					  m_SizeDelta: {x: -10, y: 20}
 | 
				
			||||||
  m_Pivot: {x: 0.5, y: 0.5}
 | 
					  m_Pivot: {x: 0.5, y: 0.5}
 | 
				
			||||||
--- !u!114 &7758949423219383195
 | 
					--- !u!114 &7758949423219383195
 | 
				
			||||||
MonoBehaviour:
 | 
					MonoBehaviour:
 | 
				
			||||||
| 
						 | 
					@ -147,7 +147,7 @@ MonoBehaviour:
 | 
				
			||||||
    m_PressedTrigger: Pressed
 | 
					    m_PressedTrigger: Pressed
 | 
				
			||||||
    m_SelectedTrigger: Selected
 | 
					    m_SelectedTrigger: Selected
 | 
				
			||||||
    m_DisabledTrigger: Disabled
 | 
					    m_DisabledTrigger: Disabled
 | 
				
			||||||
  m_Interactable: 1
 | 
					  m_Interactable: 0
 | 
				
			||||||
  m_TargetGraphic: {fileID: 0}
 | 
					  m_TargetGraphic: {fileID: 0}
 | 
				
			||||||
  m_FillRect: {fileID: 0}
 | 
					  m_FillRect: {fileID: 0}
 | 
				
			||||||
  m_HandleRect: {fileID: 4629009613275671144}
 | 
					  m_HandleRect: {fileID: 4629009613275671144}
 | 
				
			||||||
| 
						 | 
					@ -164,6 +164,8 @@ MonoBehaviour:
 | 
				
			||||||
  ghostSliderPrefab: {fileID: 3581489635090573721, guid: 890d76c226858de4fa96adfe7cc85383,
 | 
					  ghostSliderPrefab: {fileID: 3581489635090573721, guid: 890d76c226858de4fa96adfe7cc85383,
 | 
				
			||||||
    type: 3}
 | 
					    type: 3}
 | 
				
			||||||
  maxGhosts: 0
 | 
					  maxGhosts: 0
 | 
				
			||||||
 | 
					  actorID: 0
 | 
				
			||||||
 | 
					  keyframeID: 0
 | 
				
			||||||
--- !u!1 &8359461402257861397
 | 
					--- !u!1 &8359461402257861397
 | 
				
			||||||
GameObject:
 | 
					GameObject:
 | 
				
			||||||
  m_ObjectHideFlags: 0
 | 
					  m_ObjectHideFlags: 0
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
										
											Binary file not shown.
										
									
								
							| 
		 Before Width: | Height: | Size: 22 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Assets/Resources/Textures/UI/square.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Assets/Resources/Textures/UI/square.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 151 B  | 
| 
						 | 
					@ -1,5 +1,5 @@
 | 
				
			||||||
fileFormatVersion: 2
 | 
					fileFormatVersion: 2
 | 
				
			||||||
guid: f2673788e9e92e147b38af939d2fb7fe
 | 
					guid: 51ffbfed19686f041975a6e1757db741
 | 
				
			||||||
TextureImporter:
 | 
					TextureImporter:
 | 
				
			||||||
  internalIDToNameTable: []
 | 
					  internalIDToNameTable: []
 | 
				
			||||||
  externalObjects: {}
 | 
					  externalObjects: {}
 | 
				
			||||||
| 
						 | 
					@ -45,7 +45,7 @@ TextureImporter:
 | 
				
			||||||
  spriteMeshType: 1
 | 
					  spriteMeshType: 1
 | 
				
			||||||
  alignment: 0
 | 
					  alignment: 0
 | 
				
			||||||
  spritePivot: {x: 0.5, y: 0.5}
 | 
					  spritePivot: {x: 0.5, y: 0.5}
 | 
				
			||||||
  spritePixelsToUnits: 20
 | 
					  spritePixelsToUnits: 100
 | 
				
			||||||
  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
 | 
					  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
 | 
				
			||||||
  spriteGenerateFallbackPhysicsShape: 1
 | 
					  spriteGenerateFallbackPhysicsShape: 1
 | 
				
			||||||
  alphaUsage: 1
 | 
					  alphaUsage: 1
 | 
				
			||||||
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							| 
						 | 
					@ -1,12 +1,73 @@
 | 
				
			||||||
using System.Collections;
 | 
					using System.Collections;
 | 
				
			||||||
using System.Collections.Generic;
 | 
					using System.Collections.Generic;
 | 
				
			||||||
 | 
					using System.Linq;
 | 
				
			||||||
using UnityEngine;
 | 
					using UnityEngine;
 | 
				
			||||||
 | 
					using UnityEngine.EventSystems;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace RimWorldAnimationStudio
 | 
					namespace RimWorldAnimationStudio
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    public class ActorBody : MonoBehaviour
 | 
					    public class ActorBody : MonoBehaviour, IPointerClickHandler, IDragHandler
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
 | 
					        public int actorID;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public SpriteRenderer bodyRenderer;
 | 
					        public SpriteRenderer bodyRenderer;
 | 
				
			||||||
        public SpriteRenderer headRenderer;
 | 
					        public SpriteRenderer headRenderer;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public void Initialize(int actorID)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            this.actorID = actorID;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public void OnPointerClick(PointerEventData eventData)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            if (eventData.pointerCurrentRaycast.gameObject.GetComponent<ActorBody>() == null)
 | 
				
			||||||
 | 
					            { return; }
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					            foreach (ActorBody actorBody in AnimationController.Instance.actorBodies)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                if (actorBody == this)
 | 
				
			||||||
 | 
					                { continue; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                actorBody.bodyRenderer.color = new Color(1f, 1f, 1f);
 | 
				
			||||||
 | 
					                actorBody.headRenderer.color = new Color(1f, 1f, 1f);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            bodyRenderer.color = new Color(0f, 1f, 0f);
 | 
				
			||||||
 | 
					            headRenderer.color = new Color(0f, 1f, 0f);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            Workspace.actorID = actorID;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public void OnDrag(PointerEventData eventData)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            Vector3 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (Workspace.actorManipulationMode == ActorManipulationMode.Pan)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                Workspace.animationDef.animationStages[Workspace.stageID].animationClips[actorID].keyframes.FirstOrDefault(x => x.keyframeID == Workspace.keyframeID).bodyOffsetX = mousePosition.x;
 | 
				
			||||||
 | 
					                Workspace.animationDef.animationStages[Workspace.stageID].animationClips[actorID].keyframes.FirstOrDefault(x => x.keyframeID == Workspace.keyframeID).bodyOffsetZ = mousePosition.y;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            else if (Workspace.actorManipulationMode == ActorManipulationMode.Rotate)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                float angle = Vector2.SignedAngle(Vector2.down, (Vector2)mousePosition - (Vector2)transform.position);
 | 
				
			||||||
 | 
					                Workspace.animationDef.animationStages[Workspace.stageID].animationClips[actorID].keyframes.FirstOrDefault(x => x.keyframeID == Workspace.keyframeID).bodyAngle = angle;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            else if (Workspace.actorManipulationMode == ActorManipulationMode.Face)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                float angle = Vector2.SignedAngle(Vector2.up, (Vector2)mousePosition - (Vector2)transform.position);
 | 
				
			||||||
 | 
					                int facing = -Mathf.RoundToInt(angle / 90f );
 | 
				
			||||||
 | 
					                facing = facing < 0 ? facing + 4 : facing;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                Debug.Log(facing.ToString());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                Workspace.animationDef.animationStages[Workspace.stageID].animationClips[actorID].keyframes.FirstOrDefault(x => x.keyframeID == Workspace.keyframeID).bodyFacing = facing;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            PawnAnimationClip clip = Workspace.Instance.GetPawnAnimationClip(actorID);
 | 
				
			||||||
 | 
					            clip.BuildSimpleCurves();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										67
									
								
								Assets/Scripts/AnimationComponents/ActorBodyPart.cs
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								Assets/Scripts/AnimationComponents/ActorBodyPart.cs
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,67 @@
 | 
				
			||||||
 | 
					using System.Collections;
 | 
				
			||||||
 | 
					using System.Collections.Generic;
 | 
				
			||||||
 | 
					using System.Linq;
 | 
				
			||||||
 | 
					using UnityEngine;
 | 
				
			||||||
 | 
					using UnityEngine.EventSystems;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace RimWorldAnimationStudio
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    public class ActorBodyPart : MonoBehaviour, IDragHandler, IPointerClickHandler
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public SpriteRenderer bodyPartRenderer;
 | 
				
			||||||
 | 
					        public ActorBody parent;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public void OnPointerClick(PointerEventData eventData)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            if (eventData.pointerCurrentRaycast.gameObject.GetComponent<ActorBodyPart>() == null)
 | 
				
			||||||
 | 
					            { return; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            foreach (ActorBody actorBody in AnimationController.Instance.actorBodies)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                actorBody.bodyRenderer.color = new Color(1f, 1f, 1f);
 | 
				
			||||||
 | 
					                actorBody.headRenderer.color = new Color(1f, 1f, 1f);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            bodyPartRenderer.color = new Color(0f, 1f, 0f);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public void OnDrag(PointerEventData eventData)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            Vector3 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
 | 
				
			||||||
 | 
					            PawnKeyframe keyframe = Workspace.animationDef.animationStages[Workspace.stageID].animationClips[parent.actorID].keyframes.FirstOrDefault(x => x.keyframeID == Workspace.keyframeID);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (Workspace.actorManipulationMode == ActorManipulationMode.Pan)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                float distance = ((Vector2)mousePosition - (Vector2)transform.position).y;
 | 
				
			||||||
 | 
					                Vector3 headOffset = new Vector3(0f, 0.34f, 0f);
 | 
				
			||||||
 | 
					                headOffset = Quaternion.Euler(0, 0, keyframe.bodyAngle) * headOffset;
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					                distance = Vector2.Dot(parent.transform.up, (Vector2)(mousePosition - parent.transform.position - headOffset));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                Debug.Log(headOffset.ToString());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                Workspace.animationDef.animationStages[Workspace.stageID].animationClips[parent.actorID].keyframes.FirstOrDefault(x => x.keyframeID == Workspace.keyframeID).headBob = distance;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            else if (Workspace.actorManipulationMode == ActorManipulationMode.Rotate)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                float angle = Vector2.SignedAngle(Vector2.down, (Vector2)mousePosition - (Vector2)transform.position);
 | 
				
			||||||
 | 
					                Workspace.animationDef.animationStages[Workspace.stageID].animationClips[parent.actorID].keyframes.FirstOrDefault(x => x.keyframeID == Workspace.keyframeID).headAngle = angle;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            else if (Workspace.actorManipulationMode == ActorManipulationMode.Face)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                float angle = Vector2.SignedAngle(Vector2.up, (Vector2)mousePosition - (Vector2)transform.position);
 | 
				
			||||||
 | 
					                int facing = -Mathf.RoundToInt(angle / 90f);
 | 
				
			||||||
 | 
					                facing = facing < 0 ? facing + 4 : facing;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                Debug.Log(facing.ToString());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                Workspace.animationDef.animationStages[Workspace.stageID].animationClips[parent.actorID].keyframes.FirstOrDefault(x => x.keyframeID == Workspace.keyframeID).headFacing = facing;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            PawnAnimationClip clip = Workspace.Instance.GetPawnAnimationClip(parent.actorID);
 | 
				
			||||||
 | 
					            clip.BuildSimpleCurves();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										11
									
								
								Assets/Scripts/AnimationComponents/ActorBodyPart.cs.meta
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								Assets/Scripts/AnimationComponents/ActorBodyPart.cs.meta
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,11 @@
 | 
				
			||||||
 | 
					fileFormatVersion: 2
 | 
				
			||||||
 | 
					guid: b23e33f312d52c642b86f5f2138f4030
 | 
				
			||||||
 | 
					MonoImporter:
 | 
				
			||||||
 | 
					  externalObjects: {}
 | 
				
			||||||
 | 
					  serializedVersion: 2
 | 
				
			||||||
 | 
					  defaultReferences: []
 | 
				
			||||||
 | 
					  executionOrder: 0
 | 
				
			||||||
 | 
					  icon: {instanceID: 0}
 | 
				
			||||||
 | 
					  userData: 
 | 
				
			||||||
 | 
					  assetBundleName: 
 | 
				
			||||||
 | 
					  assetBundleVariant: 
 | 
				
			||||||
| 
						 | 
					@ -49,8 +49,6 @@ namespace RimWorldAnimationStudio
 | 
				
			||||||
                    if (keyframe.HasValidKeyframeID() == false)
 | 
					                    if (keyframe.HasValidKeyframeID() == false)
 | 
				
			||||||
                    { keyframe.GenerateKeyframeID(); }
 | 
					                    { keyframe.GenerateKeyframeID(); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    Debug.Log(keyframe.atTick.Value);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                    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);
 | 
				
			||||||
                    BodyOffsetX.Add((float)keyframe.atTick / (float)duration, keyframe.bodyOffsetX, true);
 | 
					                    BodyOffsetX.Add((float)keyframe.atTick / (float)duration, keyframe.bodyOffsetX, true);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,4 +1,5 @@
 | 
				
			||||||
using System.Collections.Generic;
 | 
					using System.Collections.Generic;
 | 
				
			||||||
 | 
					using System.Linq;
 | 
				
			||||||
using System.Xml;
 | 
					using System.Xml;
 | 
				
			||||||
using System.Xml.Serialization;
 | 
					using System.Xml.Serialization;
 | 
				
			||||||
using UnityEngine;
 | 
					using UnityEngine;
 | 
				
			||||||
| 
						 | 
					@ -25,8 +26,15 @@ namespace RimWorldAnimationStudio
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public void GenerateKeyframeID()
 | 
					        public void GenerateKeyframeID()
 | 
				
			||||||
        { 
 | 
					        { 
 | 
				
			||||||
            keyframeID = Random.Range(100000, 1000000);
 | 
					            int _keyframeID = Random.Range(100000, 1000000);
 | 
				
			||||||
            Debug.Log("Generated ID: " + keyframeID);
 | 
					
 | 
				
			||||||
 | 
					            if (Workspace.animationDef.animationStages.Any(x => x.animationClips.Any(y => y.keyframes.Any(z => z.keyframeID == _keyframeID))))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                GenerateKeyframeID();
 | 
				
			||||||
 | 
					                return;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            keyframeID = _keyframeID;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public bool HasValidKeyframeID()
 | 
					        public bool HasValidKeyframeID()
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -36,6 +36,10 @@ namespace RimWorldAnimationStudio
 | 
				
			||||||
        public AnimationTimeline animationTimelinePrefab;
 | 
					        public AnimationTimeline animationTimelinePrefab;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private float currentTime = 0;
 | 
					        private float currentTime = 0;
 | 
				
			||||||
 | 
					        private int cycleIndex = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public InputField cyclesNormalField;
 | 
				
			||||||
 | 
					        public InputField cyclesFastField;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public void Update()
 | 
					        public void Update()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
| 
						 | 
					@ -58,25 +62,29 @@ namespace RimWorldAnimationStudio
 | 
				
			||||||
            currentTime -= 1f/60f;
 | 
					            currentTime -= 1f/60f;
 | 
				
			||||||
            stageTick += 1;
 | 
					            stageTick += 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            int stageLenght = Workspace.animationDef.animationStages[Workspace.stageID].playTimeTicks;
 | 
					            if (stageTick > Workspace.animationClipWindowSize)
 | 
				
			||||||
 | 
					 | 
				
			||||||
            if (stageTick > stageLenght)
 | 
					 | 
				
			||||||
            { 
 | 
					            { 
 | 
				
			||||||
                if (stageLoopDropdown.value == 1)
 | 
					                if (stageLoopDropdown.value == 1)
 | 
				
			||||||
                { stageTick = 1; }
 | 
					                { stageTick = 1; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                else if (stageLoopDropdown.value == 2 && Workspace.stageID < Workspace.animationDef.animationStages.Count - 1)
 | 
					                else if (stageLoopDropdown.value == 2 && Workspace.stageID < Workspace.animationDef.animationStages.Count - 1)
 | 
				
			||||||
                { 
 | 
					                {
 | 
				
			||||||
                    stageTick = 1; 
 | 
					                    ++cycleIndex;
 | 
				
			||||||
                    Workspace.stageID++;
 | 
					                    stageTick = 1;
 | 
				
			||||||
                    stageIDField.text = Workspace.stageID.ToString();
 | 
					
 | 
				
			||||||
 | 
					                    if (cycleIndex > int.Parse(cyclesNormalField.text))
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        ++Workspace.stageID;
 | 
				
			||||||
 | 
					                        stageIDField.text = Workspace.stageID.ToString();
 | 
				
			||||||
 | 
					                        cycleIndex = 0;
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                else
 | 
					                else
 | 
				
			||||||
                { stageTick = stageLenght; }
 | 
					                { stageTick = Workspace.animationClipWindowSize; }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            stageTimelineSlider.maxValue = stageLenght;
 | 
					            stageTimelineSlider.maxValue = Workspace.animationClipWindowSize;
 | 
				
			||||||
            stageTimelineSlider.value = stageTick;
 | 
					            stageTimelineSlider.value = stageTick;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            UpdateAnimation();
 | 
					            UpdateAnimation();
 | 
				
			||||||
| 
						 | 
					@ -87,12 +95,12 @@ namespace RimWorldAnimationStudio
 | 
				
			||||||
            if (stageTickText != null)
 | 
					            if (stageTickText != null)
 | 
				
			||||||
            { stageTickText.text = stageTick.ToString(); }
 | 
					            { stageTickText.text = stageTick.ToString(); }
 | 
				
			||||||
            if (stageLengthText != null)
 | 
					            if (stageLengthText != null)
 | 
				
			||||||
            { stageLengthText.text = Workspace.animationDef.animationStages[Workspace.stageID].playTimeTicks.ToString(); }
 | 
					            { stageLengthText.text = Workspace.animationClipWindowSize.ToString(); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            for (int actorID = 0; actorID < actorBodies.Count; actorID++)
 | 
					            for (int actorID = 0; actorID < actorBodies.Count; actorID++)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                ActorBody actorBody = actorBodies[actorID];
 | 
					                ActorBody actorBody = actorBodies[actorID];
 | 
				
			||||||
                string bodyType = actorCards.transform.GetChild(actorID).GetComponent<ActorCard>().bodyType; //bodyTypeDropdowns[actorID].options[bodyTypeDropdowns[actorID].value].text;
 | 
					                string bodyType = actorCards.transform.GetChild(actorID).GetComponent<ActorCard>().bodyType;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                PawnAnimationClip clip = Workspace.animationDef.animationStages[Workspace.stageID].animationClips[actorID];
 | 
					                PawnAnimationClip clip = Workspace.animationDef.animationStages[Workspace.stageID].animationClips[actorID];
 | 
				
			||||||
                float clipPercent = (float)(stageTick % clip.duration) / clip.duration;
 | 
					                float clipPercent = (float)(stageTick % clip.duration) / clip.duration;
 | 
				
			||||||
| 
						 | 
					@ -128,7 +136,7 @@ namespace RimWorldAnimationStudio
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                actorBody.bodyRenderer.sortingLayerName = clip.layer;
 | 
					                actorBody.bodyRenderer.sortingLayerName = clip.layer;
 | 
				
			||||||
                actorBody.headRenderer.sortingLayerName = clip.layer;
 | 
					                actorBody.headRenderer.sortingLayerName = clip.layer;
 | 
				
			||||||
                actorBody.headRenderer.sortingOrder = headFacing == 2 ? 1 : -1;
 | 
					                actorBody.headRenderer.sortingOrder = headFacing == 0 ? -1 : 1;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -154,10 +162,17 @@ namespace RimWorldAnimationStudio
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            Reset();
 | 
					            Reset();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            Workspace.animationClipWindowSize = Workspace.animationDef.animationStages[Workspace.stageID].animationClips.Select(x => x.duration).Max();
 | 
				
			||||||
 | 
					            stageTimelineSlider.maxValue = Workspace.animationClipWindowSize;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            cyclesNormalField.text = Mathf.Max(Mathf.CeilToInt((float)Workspace.animationDef.animationStages[Workspace.stageID].playTimeTicks / Workspace.animationClipWindowSize), 1).ToString();
 | 
				
			||||||
 | 
					            cyclesFastField.text = Mathf.Max(Mathf.CeilToInt((float)Workspace.animationDef.animationStages[Workspace.stageID].playTimeTicksQuick / Workspace.animationClipWindowSize), 1).ToString();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            for (int actorID = 0; actorID < Workspace.animationDef.actors.Count; actorID++)
 | 
					            for (int actorID = 0; actorID < Workspace.animationDef.actors.Count; actorID++)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                GameObject actorBodyObject = Instantiate(actorBodyPrefab, transform);
 | 
					                GameObject actorBodyObject = Instantiate(actorBodyPrefab, transform);
 | 
				
			||||||
                actorBodies.Add(actorBodyObject.GetComponent<ActorBody>());
 | 
					                actorBodies.Add(actorBodyObject.GetComponent<ActorBody>());
 | 
				
			||||||
 | 
					                actorBodyObject.GetComponent<ActorBody>().Initialize(actorID);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                GameObject actorCardObject = Instantiate(actorCardPrefab, actorCards);
 | 
					                GameObject actorCardObject = Instantiate(actorCardPrefab, actorCards);
 | 
				
			||||||
                actorCardObject.GetComponent<ActorCard>().Initialize(Workspace.animationDef.actors[actorID]);
 | 
					                actorCardObject.GetComponent<ActorCard>().Initialize(Workspace.animationDef.actors[actorID]);
 | 
				
			||||||
| 
						 | 
					@ -204,10 +219,13 @@ namespace RimWorldAnimationStudio
 | 
				
			||||||
            if (Workspace.animationDef == null)
 | 
					            if (Workspace.animationDef == null)
 | 
				
			||||||
            { return; }
 | 
					            { return; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            int stageLenght = Workspace.animationDef.animationStages[Workspace.stageID].playTimeTicks;
 | 
					            if (stageTick != (int)stageTimelineSlider.value)
 | 
				
			||||||
 | 
					 | 
				
			||||||
            if (stageLenght != (int)stageTimelineSlider.value)
 | 
					 | 
				
			||||||
            { stageTick = (int)stageTimelineSlider.value; }
 | 
					            { stageTick = (int)stageTimelineSlider.value; }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public void ToggleActorManipulationMode(int mode)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            Workspace.actorManipulationMode = (ActorManipulationMode)mode;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -48,8 +48,8 @@ namespace RimWorldAnimationStudio
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            Debug.Log("Loaded AnimationDef: " + animationDef.defName);
 | 
					            Debug.Log("Loaded AnimationDef: " + animationDef.defName);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            animationDef.Initialize();
 | 
					 | 
				
			||||||
            Workspace.animationDef = animationDef;
 | 
					            Workspace.animationDef = animationDef;
 | 
				
			||||||
 | 
					            animationDef.Initialize();
 | 
				
			||||||
            Workspace.isDirty = true;
 | 
					            Workspace.isDirty = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            var animationDefCards = Resources.FindObjectsOfTypeAll(typeof(AnimationDefCard)) as AnimationDefCard[];
 | 
					            var animationDefCards = Resources.FindObjectsOfTypeAll(typeof(AnimationDefCard)) as AnimationDefCard[];
 | 
				
			||||||
| 
						 | 
					@ -78,8 +78,19 @@ namespace RimWorldAnimationStudio
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            Debug.Log("Saving AnimationDef: " + Workspace.animationDef.defName);
 | 
					            Debug.Log("Saving AnimationDef: " + Workspace.animationDef.defName);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            AnimationDef animationDef = Workspace.animationDef;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            foreach (AnimationStage stage in animationDef.animationStages)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                foreach (PawnAnimationClip clip in stage.animationClips)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    clip.keyframes = clip.keyframes.OrderBy(x => x.atTick).ToList();
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            Defs defs = new Defs();
 | 
					            Defs defs = new Defs();
 | 
				
			||||||
            defs.animationDefs.Add(Workspace.animationDef);
 | 
					            defs.animationDefs.Add(animationDef);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            XmlUtility.WriteXML(defs, path);
 | 
					            XmlUtility.WriteXML(defs, path);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										7
									
								
								Assets/Scripts/Enums.cs
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								Assets/Scripts/Enums.cs
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,7 @@
 | 
				
			||||||
 | 
					public enum ActorManipulationMode
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    Pan,
 | 
				
			||||||
 | 
					    Rotate,
 | 
				
			||||||
 | 
					    Face,
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										11
									
								
								Assets/Scripts/Enums.cs.meta
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								Assets/Scripts/Enums.cs.meta
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,11 @@
 | 
				
			||||||
 | 
					fileFormatVersion: 2
 | 
				
			||||||
 | 
					guid: ee120e06e7d8c1f45ad58fc6baab0d47
 | 
				
			||||||
 | 
					MonoImporter:
 | 
				
			||||||
 | 
					  externalObjects: {}
 | 
				
			||||||
 | 
					  serializedVersion: 2
 | 
				
			||||||
 | 
					  defaultReferences: []
 | 
				
			||||||
 | 
					  executionOrder: 0
 | 
				
			||||||
 | 
					  icon: {instanceID: 0}
 | 
				
			||||||
 | 
					  userData: 
 | 
				
			||||||
 | 
					  assetBundleName: 
 | 
				
			||||||
 | 
					  assetBundleVariant: 
 | 
				
			||||||
							
								
								
									
										65
									
								
								Assets/Scripts/GUI/ActorKeyframeCard.cs
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								Assets/Scripts/GUI/ActorKeyframeCard.cs
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,65 @@
 | 
				
			||||||
 | 
					using System.Collections;
 | 
				
			||||||
 | 
					using System.Collections.Generic;
 | 
				
			||||||
 | 
					using System.Linq;
 | 
				
			||||||
 | 
					using UnityEngine;
 | 
				
			||||||
 | 
					using UnityEngine.UI;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace RimWorldAnimationStudio
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    public class ActorKeyframeCard : MonoBehaviour
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public InputField positionXField;
 | 
				
			||||||
 | 
					        public InputField positionZField;
 | 
				
			||||||
 | 
					        public InputField rotationField;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        private int lastTick = -1;
 | 
				
			||||||
 | 
					        private bool isDirty = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public void Update()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            if ((Workspace.animationDef == null || AnimationController.Instance.stageTick == lastTick) && isDirty == false)
 | 
				
			||||||
 | 
					            { return; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            ActorBody actorBody = AnimationController.Instance.actorBodies[Workspace.actorID];
 | 
				
			||||||
 | 
					            string bodyType = AnimationController.Instance.actorCards.transform.GetChild(Workspace.actorID).GetComponent<ActorCard>().bodyType;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            PawnAnimationClip clip = Workspace.animationDef.animationStages[Workspace.stageID].animationClips[Workspace.actorID];
 | 
				
			||||||
 | 
					            float clipPercent = (float)(AnimationController.Instance.stageTick % clip.duration) / clip.duration;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            Vector3 deltaPos = new Vector3(clip.BodyOffsetX.Evaluate(clipPercent), 0, clip.BodyOffsetZ.Evaluate(clipPercent));
 | 
				
			||||||
 | 
					            deltaPos += Workspace.animationDef.actors[Workspace.actorID].bodyTypeOffset.GetOffset(bodyType);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            float bodyAngle = clip.BodyAngle.Evaluate(clipPercent);
 | 
				
			||||||
 | 
					            float headAngle = clip.HeadAngle.Evaluate(clipPercent);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (bodyAngle < 0) bodyAngle = 360 - ((-1f * bodyAngle) % 360);
 | 
				
			||||||
 | 
					            if (bodyAngle > 360) bodyAngle %= 360;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (headAngle < 0) headAngle = 360 - ((-1f * headAngle) % 360);
 | 
				
			||||||
 | 
					            if (headAngle > 360) headAngle %= 360;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            int bodyFacing = (int)clip.BodyFacing.Evaluate(clipPercent);
 | 
				
			||||||
 | 
					            Vector3 headBob = new Vector3(0, 0, clip.HeadBob.Evaluate(clipPercent)) + PawnUtility.BaseHeadOffsetAt(bodyType, bodyFacing);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            Vector3 bodyPos = new Vector3(deltaPos.x, deltaPos.z, 0);
 | 
				
			||||||
 | 
					            Vector3 headPos = new Vector3(headBob.x, headBob.z, 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            positionXField.text = bodyPos.x.ToString("0.000");
 | 
				
			||||||
 | 
					            positionZField.text = bodyPos.y.ToString("0.000");
 | 
				
			||||||
 | 
					            rotationField.text = bodyAngle.ToString("0.000");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            lastTick = AnimationController.Instance.stageTick;
 | 
				
			||||||
 | 
					            isDirty = false;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public void OnValueChanged()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            Workspace.animationDef.animationStages[Workspace.stageID].animationClips[Workspace.actorID].keyframes.FirstOrDefault(x => x.keyframeID == Workspace.keyframeID).bodyOffsetX = float.Parse(positionXField.text);
 | 
				
			||||||
 | 
					            Workspace.animationDef.animationStages[Workspace.stageID].animationClips[Workspace.actorID].keyframes.FirstOrDefault(x => x.keyframeID == Workspace.keyframeID).bodyOffsetZ = float.Parse(positionZField.text);
 | 
				
			||||||
 | 
					            Workspace.animationDef.animationStages[Workspace.stageID].animationClips[Workspace.actorID].keyframes.FirstOrDefault(x => x.keyframeID == Workspace.keyframeID).bodyAngle = float.Parse(rotationField.text);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            Workspace.Instance.GetPawnAnimationClip(Workspace.actorID).BuildSimpleCurves();
 | 
				
			||||||
 | 
					            isDirty = true;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										11
									
								
								Assets/Scripts/GUI/ActorKeyframeCard.cs.meta
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								Assets/Scripts/GUI/ActorKeyframeCard.cs.meta
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,11 @@
 | 
				
			||||||
 | 
					fileFormatVersion: 2
 | 
				
			||||||
 | 
					guid: 58ad3d066d9103541806d07bc98823d6
 | 
				
			||||||
 | 
					MonoImporter:
 | 
				
			||||||
 | 
					  externalObjects: {}
 | 
				
			||||||
 | 
					  serializedVersion: 2
 | 
				
			||||||
 | 
					  defaultReferences: []
 | 
				
			||||||
 | 
					  executionOrder: 0
 | 
				
			||||||
 | 
					  icon: {instanceID: 0}
 | 
				
			||||||
 | 
					  userData: 
 | 
				
			||||||
 | 
					  assetBundleName: 
 | 
				
			||||||
 | 
					  assetBundleVariant: 
 | 
				
			||||||
| 
						 | 
					@ -4,11 +4,12 @@ using System.Linq;
 | 
				
			||||||
using System.Text;
 | 
					using System.Text;
 | 
				
			||||||
using System.Threading.Tasks;
 | 
					using System.Threading.Tasks;
 | 
				
			||||||
using UnityEngine;
 | 
					using UnityEngine;
 | 
				
			||||||
 | 
					using UnityEngine.EventSystems;
 | 
				
			||||||
using UnityEngine.UI;
 | 
					using UnityEngine.UI;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace RimWorldAnimationStudio
 | 
					namespace RimWorldAnimationStudio
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    public class KeyframeSlider : Slider
 | 
					    public class KeyframeSlider : Slider, IPointerClickHandler, IBeginDragHandler, IEndDragHandler
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        public AnimationTimeline timeline;
 | 
					        public AnimationTimeline timeline;
 | 
				
			||||||
        //public AnimationClip clip;
 | 
					        //public AnimationClip clip;
 | 
				
			||||||
| 
						 | 
					@ -31,9 +32,8 @@ namespace RimWorldAnimationStudio
 | 
				
			||||||
            this.keyframeID = keyframeID;
 | 
					            this.keyframeID = keyframeID;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            PawnKeyframe keyframe = Workspace.Instance.GetPawnKeyframe(actorID, keyframeID);
 | 
					            PawnKeyframe keyframe = Workspace.Instance.GetPawnKeyframe(actorID, keyframeID);
 | 
				
			||||||
            Debug.Log(keyframe);
 | 
					            Debug.Log(keyframe.atTick);
 | 
				
			||||||
 | 
					            value = (float)keyframe.atTick / Workspace.animationClipWindowSize;
 | 
				
			||||||
            value = (float)keyframe.atTick / Workspace.Instance.GetCurrentStageLength();
 | 
					 | 
				
			||||||
            OnValueChanged();
 | 
					            OnValueChanged();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            onValueChanged.AddListener(delegate (float value) { OnValueChanged(); });
 | 
					            onValueChanged.AddListener(delegate (float value) { OnValueChanged(); });
 | 
				
			||||||
| 
						 | 
					@ -44,32 +44,15 @@ namespace RimWorldAnimationStudio
 | 
				
			||||||
            PawnKeyframe keyframe = Workspace.Instance.GetPawnKeyframe(actorID, keyframeID);
 | 
					            PawnKeyframe keyframe = Workspace.Instance.GetPawnKeyframe(actorID, keyframeID);
 | 
				
			||||||
            PawnAnimationClip clip = Workspace.Instance.GetPawnAnimationClip(actorID);
 | 
					            PawnAnimationClip clip = Workspace.Instance.GetPawnAnimationClip(actorID);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            int stageLength = Workspace.Instance.GetCurrentStageLength();
 | 
					            int newTick = Mathf.RoundToInt(value * Workspace.animationClipWindowSize);
 | 
				
			||||||
            int newTick = Mathf.RoundToInt(value * stageLength);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            /*if (timeline.CanAddKeyFrameAtTick(newTick) == false)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                int delta = keyframe.atTick > newTick ? 1 : -1;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                while (timeline.CanAddKeyFrameAtTick(newTick) == false)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    newTick += delta;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                    if (newTick == 1 || newTick == stageLength) { break; }
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                if (timeline.CanAddKeyFrameAtTick(newTick) == false)
 | 
					 | 
				
			||||||
                { value = (float)keyframe.atTick / stageLength; return; }
 | 
					 | 
				
			||||||
            }*/
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            keyframe.atTick = newTick;
 | 
					            keyframe.atTick = newTick;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            Debug.Log("Value changed: " + newTick);
 | 
					 | 
				
			||||||
            //value = (float)keyframe.atTick / stageLength;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            UpdateGhostFrames();
 | 
					            UpdateGhostFrames();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            clip.BuildSimpleCurves();
 | 
					            clip.BuildSimpleCurves();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            AnimationController.Instance.stageTick = keyframe.atTick.Value;
 | 
				
			||||||
        }  
 | 
					        }  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // Ghost sliders are non-interactable slider handle
 | 
					        // Ghost sliders are non-interactable slider handle
 | 
				
			||||||
| 
						 | 
					@ -81,12 +64,11 @@ namespace RimWorldAnimationStudio
 | 
				
			||||||
            if (maxGhosts == 0)
 | 
					            if (maxGhosts == 0)
 | 
				
			||||||
            { return; }
 | 
					            { return; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            int stageLength = Workspace.Instance.GetCurrentStageLength();
 | 
					 | 
				
			||||||
            int nGhosts = GetGhostFramesRequired();
 | 
					            int nGhosts = GetGhostFramesRequired();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            for (int i = 0; i < Mathf.Max(nGhosts, ghostSliders.childCount); i++)
 | 
					            for (int i = 0; i < Mathf.Max(nGhosts, ghostSliders.childCount); i++)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                if ((i - 1) * clip.duration + keyframe.atTick <= stageLength)
 | 
					                if ((i - 1) * clip.duration + keyframe.atTick <= Workspace.animationClipWindowSize)
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    if (ghostSliders.childCount <= i)
 | 
					                    if (ghostSliders.childCount <= i)
 | 
				
			||||||
                    { Instantiate(ghostSliderPrefab, ghostSliders); }
 | 
					                    { Instantiate(ghostSliderPrefab, ghostSliders); }
 | 
				
			||||||
| 
						 | 
					@ -97,7 +79,7 @@ namespace RimWorldAnimationStudio
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    Slider ghostSlider = ghostSliderObject.GetComponent<Slider>();
 | 
					                    Slider ghostSlider = ghostSliderObject.GetComponent<Slider>();
 | 
				
			||||||
                    Debug.Log(ghostSlider);
 | 
					                    Debug.Log(ghostSlider);
 | 
				
			||||||
                    ghostSlider.value = (float)((i + 1) * clip.duration + keyframe.atTick) / stageLength;
 | 
					                    ghostSlider.value = (float)((i + 1) * clip.duration + keyframe.atTick) / Workspace.animationClipWindowSize;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    float mult = 1f - Mathf.Pow((float)i / maxGhosts, 2);
 | 
					                    float mult = 1f - Mathf.Pow((float)i / maxGhosts, 2);
 | 
				
			||||||
                    ghostSlider.transform.FindDeepChild("Handle").GetComponent<Image>().color = new Color(0, 0.5f, 0.5f, 0.5f * mult);
 | 
					                    ghostSlider.transform.FindDeepChild("Handle").GetComponent<Image>().color = new Color(0, 0.5f, 0.5f, 0.5f * mult);
 | 
				
			||||||
| 
						 | 
					@ -118,7 +100,36 @@ namespace RimWorldAnimationStudio
 | 
				
			||||||
            if (clip.duration <= 1)
 | 
					            if (clip.duration <= 1)
 | 
				
			||||||
            { return 0; }
 | 
					            { return 0; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            return Math.Min(Mathf.CeilToInt((float)Workspace.Instance.GetCurrentStageLength() / clip.duration), maxGhosts);
 | 
					            return Math.Min(Mathf.CeilToInt((float)Workspace.animationClipWindowSize / clip.duration), maxGhosts);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public void OnPointerClick(PointerEventData eventData)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            PawnKeyframe keyframe = Workspace.Instance.GetPawnKeyframe(actorID, keyframeID);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            foreach (KeyframeSlider keyframeSlider in timeline.transform.GetComponentsInChildren<KeyframeSlider>())
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                if (keyframeSlider == this)
 | 
				
			||||||
 | 
					                { continue; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                keyframeSlider.transform.FindDeepChild("Handle").GetComponent<Image>().color = new Color(1f, 1f, 1f);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            transform.FindDeepChild("Handle").GetComponent<Image>().color = new Color(0f, 1f, 0f);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            AnimationController.Instance.stageTick = keyframe.atTick.Value;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            Workspace.keyframeID = keyframeID;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public void OnBeginDrag(PointerEventData eventData)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            interactable = true;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public void OnEndDrag(PointerEventData eventData)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            interactable = false;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -11,6 +11,8 @@ namespace RimWorldAnimationStudio
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        public static AnimationDef animationDef;
 | 
					        public static AnimationDef animationDef;
 | 
				
			||||||
        public static int stageID = 0;
 | 
					        public static int stageID = 0;
 | 
				
			||||||
 | 
					        public static int actorID = 0;
 | 
				
			||||||
 | 
					        public static int keyframeID = 0;
 | 
				
			||||||
        public static bool isDirty = false;
 | 
					        public static bool isDirty = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public static List<string> defNames = new List<string>() { "Human" };
 | 
					        public static List<string> defNames = new List<string>() { "Human" };
 | 
				
			||||||
| 
						 | 
					@ -23,13 +25,15 @@ namespace RimWorldAnimationStudio
 | 
				
			||||||
        private static int maxHistoryDepth = 100;
 | 
					        private static int maxHistoryDepth = 100;
 | 
				
			||||||
        private static int historyIndex = 0;
 | 
					        private static int historyIndex = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public int GetCurrentStageLength()
 | 
					        public static ActorManipulationMode actorManipulationMode = ActorManipulationMode.Pan;
 | 
				
			||||||
        {
 | 
					        public static int animationClipWindowSize = 600;
 | 
				
			||||||
            if (stageID < 0 || stageID >= animationDef.animationStages.Count)
 | 
					 | 
				
			||||||
            { return 0; }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            return animationDef.animationStages[stageID].playTimeTicks;
 | 
					        
 | 
				
			||||||
        }
 | 
					
 | 
				
			||||||
 | 
					        //public int? GetCurrentKeyframe()
 | 
				
			||||||
 | 
					        //{
 | 
				
			||||||
 | 
					        //    return animationDef?.animationStages[stageID]?.animationClips[actorID]?.keyframes.FirstOrDefault(x => x.keyframeID == keyframeID)?.keyframeID;
 | 
				
			||||||
 | 
					        //}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public PawnAnimationClip GetPawnAnimationClip(int actorID)
 | 
					        public PawnAnimationClip GetPawnAnimationClip(int actorID)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/00/00fa4f35a69b19d4e22fe527066afeb7
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/00/00fa4f35a69b19d4e22fe527066afeb7
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/03/03678927e7d4cf64923a092949c9f9a1
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/03/03678927e7d4cf64923a092949c9f9a1
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/07/07121b8dcf3be0074f3b2d754af5a82e
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/07/07121b8dcf3be0074f3b2d754af5a82e
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/08/08bc77deaf66a6f5778e5a85875cab8d
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/08/08bc77deaf66a6f5778e5a85875cab8d
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/0b/0b43e358d97225c787a95cae9fe06e6d
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/0b/0b43e358d97225c787a95cae9fe06e6d
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/0e/0e2826d67a7de855d3ca23112dd341f5
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/0e/0e2826d67a7de855d3ca23112dd341f5
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/14/1488705177bb600dea2b0322068998e9
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/14/1488705177bb600dea2b0322068998e9
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/16/1638db9d452226412a4111d5d8caa21c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/16/1638db9d452226412a4111d5d8caa21c
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/18/18ab8767e062981c37a592bb983c1e49
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/18/18ab8767e062981c37a592bb983c1e49
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/19/1943b79b9bf5ae3a5234c62c4b8a2c50
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/19/1943b79b9bf5ae3a5234c62c4b8a2c50
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/1a/1a5b0634a26c2531621cc49cb9d985ef
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/1a/1a5b0634a26c2531621cc49cb9d985ef
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/1b/1b13bf0e4267b0915db376a590f33b24
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/1b/1b13bf0e4267b0915db376a590f33b24
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/1d/1d449ce4bc666ee1c69dde1f818e5288
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/1d/1d449ce4bc666ee1c69dde1f818e5288
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/1e/1e90ff1dbbcc962413583abee716581d
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/1e/1e90ff1dbbcc962413583abee716581d
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/21/211b4b69a248381163a52bbabe362c5e
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/21/211b4b69a248381163a52bbabe362c5e
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/22/22a9fe3ecaae29820cf66573ad40efcb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/22/22a9fe3ecaae29820cf66573ad40efcb
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/26/265d1a03c972ee07bdc1caed417b9b24
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/26/265d1a03c972ee07bdc1caed417b9b24
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/26/2698c7661cbe16bec45be980a81eab87
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/26/2698c7661cbe16bec45be980a81eab87
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/28/28077e1db3df099720b2021af13188d9
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/28/28077e1db3df099720b2021af13188d9
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/29/290421a1b762035d06e3667c78bac3ef
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/29/290421a1b762035d06e3667c78bac3ef
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/2c/2c7aabe1a8a7ac82c3883084436a6e12
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/2c/2c7aabe1a8a7ac82c3883084436a6e12
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/2e/2ef89dbac8d0e7b6257099a16c2a36f0
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/2e/2ef89dbac8d0e7b6257099a16c2a36f0
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/30/309621439bcf77b47648baa7e400105e
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/30/309621439bcf77b47648baa7e400105e
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/33/338f00489093cfb6c56d57b305063f5c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/33/338f00489093cfb6c56d57b305063f5c
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/37/37d032b35b92075b13e59b37de9b6e54
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/37/37d032b35b92075b13e59b37de9b6e54
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/39/39b0188a9ed34d4b1e7834c1cd21ef30
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/39/39b0188a9ed34d4b1e7834c1cd21ef30
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/3e/3e1dda46a4fd83d60b35261772b8eb44
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/3e/3e1dda46a4fd83d60b35261772b8eb44
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/3e/3e5aeda083f8adede9e44e2c7da8115b
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/3e/3e5aeda083f8adede9e44e2c7da8115b
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/3f/3f291391dfc7194f382a70842707d18c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/3f/3f291391dfc7194f382a70842707d18c
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/3f/3fa7d845a80a7a4a73caf45d627c0bb6
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/3f/3fa7d845a80a7a4a73caf45d627c0bb6
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/43/43d56a298afbcd06ab2c13e6757ac8af
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/43/43d56a298afbcd06ab2c13e6757ac8af
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/48/48b06af2b0ca520ff20d1d215fed91a2
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/48/48b06af2b0ca520ff20d1d215fed91a2
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/4d/4dcd84dff613db12cecb2ee090dc647b
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/4d/4dcd84dff613db12cecb2ee090dc647b
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/4d/4de67520a8c2188d83abd9cd4402b8b1
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/4d/4de67520a8c2188d83abd9cd4402b8b1
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/4e/4e4eaa512e0f077402d7d8096783577c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/4e/4e4eaa512e0f077402d7d8096783577c
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/52/52139fd4ddf5ebdd8f99aa3941fde269
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/52/52139fd4ddf5ebdd8f99aa3941fde269
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/52/52e01f64bae952b37263640319c1430d
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/52/52e01f64bae952b37263640319c1430d
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/52/52e4e1042b6072aa42bef6c7cbba52a4
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/52/52e4e1042b6072aa42bef6c7cbba52a4
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/55/5531e946c8542ae288fb416fd258b62a
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/55/5531e946c8542ae288fb416fd258b62a
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/55/55a20c484f24d7b47de4ca7eefb1c62c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/55/55a20c484f24d7b47de4ca7eefb1c62c
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/57/577c7561abd5fb0d44064dec1c62f79c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/57/577c7561abd5fb0d44064dec1c62f79c
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/57/57d33ce2b72a53e4d78274ca0225aca5
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/57/57d33ce2b72a53e4d78274ca0225aca5
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/5a/5a9b497be7b03013f0e96636c91333c4
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/5a/5a9b497be7b03013f0e96636c91333c4
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/5d/5dbbe11d23b9d33f9344f444d9771511
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/5d/5dbbe11d23b9d33f9344f444d9771511
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/5d/5dd7356cf42fc24fd8f968c07eb3f619
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/5d/5dd7356cf42fc24fd8f968c07eb3f619
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/5d/5dda7ad9b107a0e764414dd5db9acbfd
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/5d/5dda7ad9b107a0e764414dd5db9acbfd
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/5e/5e85f045f4986e5b63c05c60a2063053
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/5e/5e85f045f4986e5b63c05c60a2063053
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/60/605eee6972da06e0239366c9deec7cb5
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/60/605eee6972da06e0239366c9deec7cb5
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/60/60b08b2a32391792a18903825d1e4905
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/60/60b08b2a32391792a18903825d1e4905
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/61/61e0ec02d88ec60d4de6d7102d48f4fc
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/61/61e0ec02d88ec60d4de6d7102d48f4fc
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/64/646a7472dc56227c129556a494bffc34
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/64/646a7472dc56227c129556a494bffc34
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/67/67512d0d83618c476e004e96a4f06730
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/67/67512d0d83618c476e004e96a4f06730
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/6a/6a39a0c9b59bc0c077047e2fdcb5a69c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/6a/6a39a0c9b59bc0c077047e2fdcb5a69c
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/6f/6f25be0c1ca09cb737bf3e0be797c647
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/6f/6f25be0c1ca09cb737bf3e0be797c647
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/72/72165efbdc7734373235660bed6bd1ec
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/72/72165efbdc7734373235660bed6bd1ec
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/73/733b743457fabce85df83c767c8d1b70
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/73/733b743457fabce85df83c767c8d1b70
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/74/744393064f214cea4c8a457594a80ac6
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/74/744393064f214cea4c8a457594a80ac6
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/74/744c383d345985924f5f2635a9682fe6
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/74/744c383d345985924f5f2635a9682fe6
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/75/75d6df915a02c1ebfafdf179fd545e95
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/75/75d6df915a02c1ebfafdf179fd545e95
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/76/76912ebde97356a4f0fe6c97d9ca3859
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/76/76912ebde97356a4f0fe6c97d9ca3859
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 2.8 KiB  | 
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/7c/7c4e7095da493fac7b7be0c70ca151b8
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/7c/7c4e7095da493fac7b7be0c70ca151b8
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/7f/7fa1eded06715ac960c2311151cec6ed
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/7f/7fa1eded06715ac960c2311151cec6ed
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/7f/7ffc156bf8218824b5a361ed86b74ef4
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/7f/7ffc156bf8218824b5a361ed86b74ef4
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/80/80a3edf2acb5bf4087c1032c224fb97e
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/80/80a3edf2acb5bf4087c1032c224fb97e
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/87/87bd4859bd9082b52d188e39a2da9293
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/87/87bd4859bd9082b52d188e39a2da9293
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 302 B  | 
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/88/880ff94463df92501d1c2c565a3416e9
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/88/880ff94463df92501d1c2c565a3416e9
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/8b/8b4ab59000b07dfd9be5b8db568ae0a7
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/8b/8b4ab59000b07dfd9be5b8db568ae0a7
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/8b/8bbdb6424cc5628c1bc054a6a57e7ece
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/8b/8bbdb6424cc5628c1bc054a6a57e7ece
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/93/936e47ac7e574746e1840025d1dbebc0
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/93/936e47ac7e574746e1840025d1dbebc0
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/93/93a79ad8078ce4cdb562f8d5d562e842
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/93/93a79ad8078ce4cdb562f8d5d562e842
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Library/Artifacts/a1/a1a73e593d4802ff75c60446cdf543fc
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Library/Artifacts/a1/a1a73e593d4802ff75c60446cdf543fc
									
										
									
									
									
										Normal file
									
								
							
										
											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