mirror of
https://gitgud.io/AbstractConcept/rimworld-animation-studio.git
synced 2024-08-15 00:43:27 +00:00
Ghost frames fix plus undo redo system
This commit is contained in:
parent
591b176924
commit
b0a965e0b2
163 changed files with 948 additions and 214 deletions
Binary file not shown.
|
@ -815,7 +815,7 @@ RectTransform:
|
|||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 935483303198879684}
|
||||
m_RootOrder: 6
|
||||
m_RootOrder: 4
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
|
@ -983,10 +983,10 @@ RectTransform:
|
|||
- {fileID: 935483304734640508}
|
||||
- {fileID: 935483304451841478}
|
||||
- {fileID: 935483303811839839}
|
||||
- {fileID: 935483304407649878}
|
||||
- {fileID: 935483304187088279}
|
||||
- {fileID: 935483302976181084}
|
||||
- {fileID: 935483304407649878}
|
||||
- {fileID: 935483303286354285}
|
||||
- {fileID: 935483304187088279}
|
||||
- {fileID: 935483303347104685}
|
||||
- {fileID: 4300837137852148242}
|
||||
- {fileID: 6085830301941788007}
|
||||
|
@ -1190,7 +1190,7 @@ RectTransform:
|
|||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 935483303198879684}
|
||||
m_RootOrder: 7
|
||||
m_RootOrder: 6
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
|
@ -2251,7 +2251,7 @@ RectTransform:
|
|||
m_Children:
|
||||
- {fileID: 935483302769328936}
|
||||
m_Father: {fileID: 935483303198879684}
|
||||
m_RootOrder: 5
|
||||
m_RootOrder: 7
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
|
@ -2740,7 +2740,7 @@ RectTransform:
|
|||
m_Children:
|
||||
- {fileID: 935483304355133267}
|
||||
m_Father: {fileID: 935483303198879684}
|
||||
m_RootOrder: 4
|
||||
m_RootOrder: 5
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
|
|
|
@ -32,7 +32,7 @@ RectTransform:
|
|||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
|
@ -52,7 +52,7 @@ GameObject:
|
|||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!224 &3922218029245345
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -71,7 +71,7 @@ RectTransform:
|
|||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 1, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: -16, y: 20}
|
||||
m_SizeDelta: {x: 0, y: 20}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &3581489635090573721
|
||||
MonoBehaviour:
|
||||
|
@ -116,10 +116,10 @@ MonoBehaviour:
|
|||
m_FillRect: {fileID: 0}
|
||||
m_HandleRect: {fileID: 4629009613275671144}
|
||||
m_Direction: 0
|
||||
m_MinValue: 0
|
||||
m_MaxValue: 1
|
||||
m_WholeNumbers: 0
|
||||
m_Value: 0
|
||||
m_MinValue: 1
|
||||
m_MaxValue: 100
|
||||
m_WholeNumbers: 1
|
||||
m_Value: 1
|
||||
m_OnValueChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
|
@ -181,8 +181,8 @@ MonoBehaviour:
|
|||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0, g: 1, b: 0.9510727, a: 0.5019608}
|
||||
m_RaycastTarget: 1
|
||||
m_Color: {r: 0.2, g: 0.2, b: 0.2, a: 0.5019608}
|
||||
m_RaycastTarget: 0
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
|
|
|
@ -322,7 +322,7 @@ RectTransform:
|
|||
- {fileID: 1302075273}
|
||||
- {fileID: 1849536740}
|
||||
m_Father: {fileID: 1335076903}
|
||||
m_RootOrder: 22
|
||||
m_RootOrder: 24
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
|
@ -471,7 +471,18 @@ MonoBehaviour:
|
|||
m_CharacterLimit: 0
|
||||
m_OnEndEdit:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Calls:
|
||||
- m_Target: {fileID: 1323324190}
|
||||
m_MethodName: OnCycleNormalFieldChange
|
||||
m_Mode: 1
|
||||
m_Arguments:
|
||||
m_ObjectArgument: {fileID: 0}
|
||||
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
|
||||
m_IntArgument: 0
|
||||
m_FloatArgument: 0
|
||||
m_StringArgument:
|
||||
m_BoolArgument: 0
|
||||
m_CallState: 2
|
||||
m_OnValueChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
|
@ -637,6 +648,76 @@ PrefabInstance:
|
|||
propertyPath: m_Name
|
||||
value: ActorCard
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 935483303347104684, guid: 73a40f7e8cdb25c4390e3ea857ff50ea,
|
||||
type: 3}
|
||||
propertyPath: onValueChanged.m_PersistentCalls.m_Calls.Array.size
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 935483303347104684, guid: 73a40f7e8cdb25c4390e3ea857ff50ea,
|
||||
type: 3}
|
||||
propertyPath: onValueChanged.m_PersistentCalls.m_Calls.Array.data[0].m_Mode
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 935483303347104684, guid: 73a40f7e8cdb25c4390e3ea857ff50ea,
|
||||
type: 3}
|
||||
propertyPath: onValueChanged.m_PersistentCalls.m_Calls.Array.data[0].m_Target
|
||||
value:
|
||||
objectReference: {fileID: 457137179}
|
||||
- target: {fileID: 935483303347104684, guid: 73a40f7e8cdb25c4390e3ea857ff50ea,
|
||||
type: 3}
|
||||
propertyPath: onValueChanged.m_PersistentCalls.m_Calls.Array.data[0].m_CallState
|
||||
value: 2
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 935483303347104684, guid: 73a40f7e8cdb25c4390e3ea857ff50ea,
|
||||
type: 3}
|
||||
propertyPath: onValueChanged.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName
|
||||
value: UpdateAnimationDef
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 935483303347104684, guid: 73a40f7e8cdb25c4390e3ea857ff50ea,
|
||||
type: 3}
|
||||
propertyPath: onValueChanged.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName
|
||||
value: UnityEngine.Object, UnityEngine
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 935483303811839838, guid: 73a40f7e8cdb25c4390e3ea857ff50ea,
|
||||
type: 3}
|
||||
propertyPath: m_OnValueChanged.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName
|
||||
value: OnBodyTypeChanged
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 935483304734640511, guid: 73a40f7e8cdb25c4390e3ea857ff50ea,
|
||||
type: 3}
|
||||
propertyPath: m_Value
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 935483304734640511, guid: 73a40f7e8cdb25c4390e3ea857ff50ea,
|
||||
type: 3}
|
||||
propertyPath: m_OnValueChanged.m_PersistentCalls.m_Calls.Array.size
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 935483304734640511, guid: 73a40f7e8cdb25c4390e3ea857ff50ea,
|
||||
type: 3}
|
||||
propertyPath: m_OnValueChanged.m_PersistentCalls.m_Calls.Array.data[0].m_Mode
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 935483304734640511, guid: 73a40f7e8cdb25c4390e3ea857ff50ea,
|
||||
type: 3}
|
||||
propertyPath: m_OnValueChanged.m_PersistentCalls.m_Calls.Array.data[0].m_Target
|
||||
value:
|
||||
objectReference: {fileID: 457137179}
|
||||
- target: {fileID: 935483304734640511, guid: 73a40f7e8cdb25c4390e3ea857ff50ea,
|
||||
type: 3}
|
||||
propertyPath: m_OnValueChanged.m_PersistentCalls.m_Calls.Array.data[0].m_CallState
|
||||
value: 2
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 935483304734640511, guid: 73a40f7e8cdb25c4390e3ea857ff50ea,
|
||||
type: 3}
|
||||
propertyPath: m_OnValueChanged.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName
|
||||
value: UpdateAnimationDef
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 935483304734640511, guid: 73a40f7e8cdb25c4390e3ea857ff50ea,
|
||||
type: 3}
|
||||
propertyPath: m_OnValueChanged.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName
|
||||
value: UnityEngine.Object, UnityEngine
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 73a40f7e8cdb25c4390e3ea857ff50ea, type: 3}
|
||||
--- !u!1 &77649835
|
||||
|
@ -1078,7 +1159,7 @@ GameObject:
|
|||
- component: {fileID: 138865806}
|
||||
- component: {fileID: 138865805}
|
||||
m_Layer: 5
|
||||
m_Name: Background
|
||||
m_Name: SliderBackground
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
|
@ -1506,7 +1587,7 @@ RectTransform:
|
|||
- {fileID: 591894605}
|
||||
- {fileID: 138865804}
|
||||
m_Father: {fileID: 1335076903}
|
||||
m_RootOrder: 17
|
||||
m_RootOrder: 19
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0}
|
||||
m_AnchorMax: {x: 0.5, y: 0}
|
||||
|
@ -2816,7 +2897,7 @@ Transform:
|
|||
- {fileID: 143158141}
|
||||
- {fileID: 284483059}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 5
|
||||
m_RootOrder: 6
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &395375411
|
||||
GameObject:
|
||||
|
@ -3331,7 +3412,7 @@ RectTransform:
|
|||
- {fileID: 749354207}
|
||||
- {fileID: 1153227823}
|
||||
m_Father: {fileID: 1335076903}
|
||||
m_RootOrder: 19
|
||||
m_RootOrder: 21
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
|
@ -3381,7 +3462,7 @@ MonoBehaviour:
|
|||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 0.392}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
|
@ -3405,6 +3486,18 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 433613847}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!114 &457137179 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 3804747680697097237, guid: 73a40f7e8cdb25c4390e3ea857ff50ea,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 75718000}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 9731614c7527b624492dd33f9b006fcb, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &502634720
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -3714,7 +3807,7 @@ Transform:
|
|||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &519420033
|
||||
MonoBehaviour:
|
||||
|
@ -5109,7 +5202,7 @@ RectTransform:
|
|||
- {fileID: 1960844026}
|
||||
- {fileID: 1463915053}
|
||||
m_Father: {fileID: 1335076903}
|
||||
m_RootOrder: 16
|
||||
m_RootOrder: 18
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
|
@ -5231,7 +5324,7 @@ RectTransform:
|
|||
- {fileID: 783530509}
|
||||
- {fileID: 725162531}
|
||||
m_Father: {fileID: 1335076903}
|
||||
m_RootOrder: 18
|
||||
m_RootOrder: 20
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
|
@ -5634,7 +5727,7 @@ RectTransform:
|
|||
- {fileID: 371198550}
|
||||
- {fileID: 77649836}
|
||||
m_Father: {fileID: 1335076903}
|
||||
m_RootOrder: 24
|
||||
m_RootOrder: 26
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
|
@ -6641,6 +6734,84 @@ RectTransform:
|
|||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: -20, y: -20}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!1 &859476423
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 859476424}
|
||||
- component: {fileID: 859476426}
|
||||
- component: {fileID: 859476425}
|
||||
m_Layer: 5
|
||||
m_Name: Text
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &859476424
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 859476423}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1345808904}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &859476425
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 859476423}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_FontData:
|
||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_FontSize: 14
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
m_MinSize: 10
|
||||
m_MaxSize: 40
|
||||
m_Alignment: 4
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 1
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: Redo
|
||||
--- !u!222 &859476426
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 859476423}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1 &891070577
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -7428,7 +7599,7 @@ Transform:
|
|||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 4
|
||||
m_RootOrder: 5
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &932977621
|
||||
GameObject:
|
||||
|
@ -8346,7 +8517,7 @@ RectTransform:
|
|||
- {fileID: 347034222}
|
||||
- {fileID: 932977622}
|
||||
m_Father: {fileID: 1335076903}
|
||||
m_RootOrder: 25
|
||||
m_RootOrder: 27
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
|
@ -8439,7 +8610,7 @@ RectTransform:
|
|||
- {fileID: 1898380637}
|
||||
- {fileID: 1966925531}
|
||||
m_Father: {fileID: 1335076903}
|
||||
m_RootOrder: 27
|
||||
m_RootOrder: 29
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
|
@ -9904,7 +10075,7 @@ Transform:
|
|||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 2
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1335076899
|
||||
GameObject:
|
||||
|
@ -10012,6 +10183,8 @@ RectTransform:
|
|||
- {fileID: 899286715}
|
||||
- {fileID: 1136677497}
|
||||
- {fileID: 149343615}
|
||||
- {fileID: 2134497164}
|
||||
- {fileID: 1345808904}
|
||||
- {fileID: 592091831}
|
||||
- {fileID: 219230438}
|
||||
- {fileID: 629081414}
|
||||
|
@ -10025,7 +10198,7 @@ RectTransform:
|
|||
- {fileID: 1914421494}
|
||||
- {fileID: 1121706670}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 3
|
||||
m_RootOrder: 4
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
|
@ -10162,6 +10335,136 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1344070787}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1 &1345808903
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1345808904}
|
||||
- component: {fileID: 1345808907}
|
||||
- component: {fileID: 1345808906}
|
||||
- component: {fileID: 1345808905}
|
||||
m_Layer: 5
|
||||
m_Name: RedoButton
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1345808904
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1345808903}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 859476424}
|
||||
m_Father: {fileID: 1335076903}
|
||||
m_RootOrder: 17
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 98, y: 285}
|
||||
m_SizeDelta: {x: 160, y: 30}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &1345808905
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1345808903}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Navigation:
|
||||
m_Mode: 3
|
||||
m_SelectOnUp: {fileID: 0}
|
||||
m_SelectOnDown: {fileID: 0}
|
||||
m_SelectOnLeft: {fileID: 0}
|
||||
m_SelectOnRight: {fileID: 0}
|
||||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
m_SpriteState:
|
||||
m_HighlightedSprite: {fileID: 0}
|
||||
m_PressedSprite: {fileID: 0}
|
||||
m_SelectedSprite: {fileID: 0}
|
||||
m_DisabledSprite: {fileID: 0}
|
||||
m_AnimationTriggers:
|
||||
m_NormalTrigger: Normal
|
||||
m_HighlightedTrigger: Highlighted
|
||||
m_PressedTrigger: Pressed
|
||||
m_SelectedTrigger: Selected
|
||||
m_DisabledTrigger: Disabled
|
||||
m_Interactable: 1
|
||||
m_TargetGraphic: {fileID: 1345808906}
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls:
|
||||
- m_Target: {fileID: 2086782053}
|
||||
m_MethodName: Redo
|
||||
m_Mode: 1
|
||||
m_Arguments:
|
||||
m_ObjectArgument: {fileID: 0}
|
||||
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
|
||||
m_IntArgument: 0
|
||||
m_FloatArgument: 0
|
||||
m_StringArgument:
|
||||
m_BoolArgument: 0
|
||||
m_CallState: 2
|
||||
--- !u!114 &1345808906
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1345808903}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_Type: 1
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!222 &1345808907
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1345808903}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1 &1354159499
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -11546,7 +11849,18 @@ MonoBehaviour:
|
|||
m_CharacterLimit: 0
|
||||
m_OnEndEdit:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Calls:
|
||||
- m_Target: {fileID: 1323324190}
|
||||
m_MethodName: OnCycleFastFieldChange
|
||||
m_Mode: 1
|
||||
m_Arguments:
|
||||
m_ObjectArgument: {fileID: 0}
|
||||
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
|
||||
m_IntArgument: 0
|
||||
m_FloatArgument: 0
|
||||
m_StringArgument:
|
||||
m_BoolArgument: 0
|
||||
m_CallState: 2
|
||||
m_OnValueChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
|
@ -11872,6 +12186,84 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1481521046}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1 &1484247518
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1484247519}
|
||||
- component: {fileID: 1484247521}
|
||||
- component: {fileID: 1484247520}
|
||||
m_Layer: 5
|
||||
m_Name: Text
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1484247519
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1484247518}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2134497164}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &1484247520
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1484247518}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_FontData:
|
||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_FontSize: 14
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
m_MinSize: 10
|
||||
m_MaxSize: 40
|
||||
m_Alignment: 4
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 1
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: Undo
|
||||
--- !u!222 &1484247521
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1484247518}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1 &1486546820
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -13449,7 +13841,7 @@ RectTransform:
|
|||
- {fileID: 1395818346}
|
||||
- {fileID: 1798757604}
|
||||
m_Father: {fileID: 1335076903}
|
||||
m_RootOrder: 21
|
||||
m_RootOrder: 23
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
|
@ -13545,7 +13937,7 @@ RectTransform:
|
|||
- {fileID: 1092312354}
|
||||
- {fileID: 891468915}
|
||||
m_Father: {fileID: 1335076903}
|
||||
m_RootOrder: 20
|
||||
m_RootOrder: 22
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
|
@ -15526,7 +15918,7 @@ Transform:
|
|||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 1
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1895236501
|
||||
GameObject:
|
||||
|
@ -15804,7 +16196,7 @@ RectTransform:
|
|||
- {fileID: 1543793723}
|
||||
- {fileID: 1344070788}
|
||||
m_Father: {fileID: 1335076903}
|
||||
m_RootOrder: 26
|
||||
m_RootOrder: 28
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
|
@ -16105,7 +16497,7 @@ RectTransform:
|
|||
- {fileID: 1481521047}
|
||||
- {fileID: 1261535758}
|
||||
m_Father: {fileID: 1335076903}
|
||||
m_RootOrder: 23
|
||||
m_RootOrder: 25
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
|
@ -16497,6 +16889,52 @@ MonoBehaviour:
|
|||
m_ChildControlHeight: 0
|
||||
m_ChildScaleWidth: 0
|
||||
m_ChildScaleHeight: 0
|
||||
--- !u!1 &2086782052
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2086782054}
|
||||
- component: {fileID: 2086782053}
|
||||
m_Layer: 0
|
||||
m_Name: Workspace
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &2086782053
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2086782052}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: bf0f782b7c407bf4896b633d509f5568, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
workspaceHistory: []
|
||||
historyIndex: -1
|
||||
maxHistoryDepth: 100
|
||||
--- !u!4 &2086782054
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2086782052}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 699.4843, y: 244.28134, z: -283}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &2093466856
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -16849,3 +17287,133 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2124969760}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1 &2134497163
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2134497164}
|
||||
- component: {fileID: 2134497167}
|
||||
- component: {fileID: 2134497166}
|
||||
- component: {fileID: 2134497165}
|
||||
m_Layer: 5
|
||||
m_Name: UndoButton
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &2134497164
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2134497163}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 1484247519}
|
||||
m_Father: {fileID: 1335076903}
|
||||
m_RootOrder: 16
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: -62, y: 285.5}
|
||||
m_SizeDelta: {x: 160, y: 30}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &2134497165
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2134497163}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Navigation:
|
||||
m_Mode: 3
|
||||
m_SelectOnUp: {fileID: 0}
|
||||
m_SelectOnDown: {fileID: 0}
|
||||
m_SelectOnLeft: {fileID: 0}
|
||||
m_SelectOnRight: {fileID: 0}
|
||||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
m_SpriteState:
|
||||
m_HighlightedSprite: {fileID: 0}
|
||||
m_PressedSprite: {fileID: 0}
|
||||
m_SelectedSprite: {fileID: 0}
|
||||
m_DisabledSprite: {fileID: 0}
|
||||
m_AnimationTriggers:
|
||||
m_NormalTrigger: Normal
|
||||
m_HighlightedTrigger: Highlighted
|
||||
m_PressedTrigger: Pressed
|
||||
m_SelectedTrigger: Selected
|
||||
m_DisabledTrigger: Disabled
|
||||
m_Interactable: 1
|
||||
m_TargetGraphic: {fileID: 2134497166}
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls:
|
||||
- m_Target: {fileID: 2086782053}
|
||||
m_MethodName: Undo
|
||||
m_Mode: 1
|
||||
m_Arguments:
|
||||
m_ObjectArgument: {fileID: 0}
|
||||
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
|
||||
m_IntArgument: 0
|
||||
m_FloatArgument: 0
|
||||
m_StringArgument:
|
||||
m_BoolArgument: 0
|
||||
m_CallState: 2
|
||||
--- !u!114 &2134497166
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2134497163}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_Type: 1
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!222 &2134497167
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2134497163}
|
||||
m_CullTransparentMesh: 0
|
||||
|
|
|
@ -9,8 +9,10 @@ namespace RimWorldAnimationStudio
|
|||
public string layer = "Pawn";
|
||||
public List<string> tags;
|
||||
|
||||
[XmlIgnore] public int duration;
|
||||
[XmlIgnore] public Dictionary<int, string> SoundEffects = new Dictionary<int, string>();
|
||||
//[XmlIgnore] public Dictionary<int, string> SoundEffects = new Dictionary<int, string>();
|
||||
//[XmlIgnore] public int duration;
|
||||
|
||||
public virtual int duration { get { return 0; } }
|
||||
|
||||
public abstract void BuildSimpleCurves();
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
using UnityEngine;
|
||||
|
@ -20,6 +21,8 @@ namespace RimWorldAnimationStudio
|
|||
[XmlIgnore] public SimpleCurve HeadFacing = new SimpleCurve();
|
||||
[XmlIgnore] public SimpleCurve BodyFacing = new SimpleCurve();
|
||||
|
||||
public override int duration { get { return keyframes.Max(x => x.atTick.Value); } }
|
||||
|
||||
public override void BuildSimpleCurves()
|
||||
{
|
||||
BodyAngle.Clear();
|
||||
|
@ -36,7 +39,6 @@ namespace RimWorldAnimationStudio
|
|||
foreach (PawnKeyframe frame in keyframes)
|
||||
{ duration += frame.tickDuration; }
|
||||
|
||||
this.duration = duration;
|
||||
int keyframePosition = 0;
|
||||
|
||||
for (int i = 0; i < keyframes.Count; i++)
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
|
@ -13,9 +14,12 @@ namespace RimWorldAnimationStudio
|
|||
[XmlIgnore] public SimpleCurve PositionZ = new SimpleCurve();
|
||||
[XmlIgnore] public SimpleCurve Rotation = new SimpleCurve();
|
||||
|
||||
public override int duration { get { return keyframes.Max(x => x.atTick.Value); } }
|
||||
|
||||
public override void BuildSimpleCurves()
|
||||
{
|
||||
int duration = 0;
|
||||
|
||||
//getting the length of the whole clip
|
||||
foreach (ThingKeyframe frame in keyframes)
|
||||
{
|
||||
|
@ -23,7 +27,7 @@ namespace RimWorldAnimationStudio
|
|||
}
|
||||
|
||||
//guarantees loops don't get cut off mid-anim
|
||||
this.duration = duration;
|
||||
//this.duration = duration;
|
||||
|
||||
int keyframePosition = 0;
|
||||
foreach (ThingKeyframe frame in keyframes)
|
||||
|
@ -33,9 +37,6 @@ namespace RimWorldAnimationStudio
|
|||
PositionX.Add((float)frame.atTick / (float)duration, frame.positionX, true);
|
||||
PositionZ.Add((float)frame.atTick / (float)duration, frame.positionZ, true);
|
||||
Rotation.Add((float)frame.atTick / (float)duration, frame.rotation, true);
|
||||
|
||||
if (frame.soundEffect != null)
|
||||
{ SoundEffects.Add((int)frame.atTick, frame.soundEffect); }
|
||||
}
|
||||
|
||||
else
|
||||
|
@ -44,9 +45,6 @@ namespace RimWorldAnimationStudio
|
|||
PositionZ.Add((float)keyframePosition / (float)duration, frame.positionZ, true);
|
||||
Rotation.Add((float)keyframePosition / (float)duration, frame.rotation, true);
|
||||
|
||||
if (frame.soundEffect != null)
|
||||
{ SoundEffects.Add(keyframePosition, frame.soundEffect); }
|
||||
|
||||
keyframePosition += frame.tickDuration;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
using UnityEngine;
|
||||
|
||||
namespace RimWorldAnimationStudio
|
||||
{
|
||||
|
@ -27,5 +29,53 @@ namespace RimWorldAnimationStudio
|
|||
animationTimeTicks += stage.playTimeTicks;
|
||||
}
|
||||
}
|
||||
|
||||
public void RunPreSaveOperations()
|
||||
{
|
||||
// Stage edits
|
||||
for (int i = 0; i < animationStages.Count; i++)
|
||||
{
|
||||
AnimationStage stage = animationStages[i];
|
||||
|
||||
// Sort keyframes by atTick
|
||||
foreach (PawnAnimationClip clip in stage.animationClips)
|
||||
{ clip.keyframes = clip.keyframes.OrderBy(x => x.atTick).ToList(); }
|
||||
|
||||
// Check if looping
|
||||
int stageWindowSize = animationStages[i].stageWindowSize > 0 ? animationStages[i].stageWindowSize : animationStages[i].animationClips.Select(x => x.duration).Max();
|
||||
int cycles = Mathf.CeilToInt(animationStages[i].playTimeTicks / stageWindowSize);
|
||||
|
||||
Debug.Log(animationStages[i].playTimeTicks);
|
||||
Debug.Log(animationStages[i].stageWindowSize);
|
||||
Debug.Log(cycles);
|
||||
stage.isLooping = cycles > 1;
|
||||
}
|
||||
|
||||
// Body part list edit
|
||||
foreach (Actor actor in actors)
|
||||
{
|
||||
actor.isFucking = actor.requiredGenitals.Contains("Any appendage");
|
||||
|
||||
if (actor.isFucking == true)
|
||||
{ actor.requiredGenitals.Remove("Any appendage"); }
|
||||
|
||||
actor.isFucked= actor.requiredGenitals.Contains("Any orifice");
|
||||
|
||||
if (actor.isFucked == true)
|
||||
{ actor.requiredGenitals.Remove("Any orifice"); }
|
||||
}
|
||||
}
|
||||
|
||||
public void RunPostLoadOperations()
|
||||
{
|
||||
foreach (Actor actor in actors)
|
||||
{
|
||||
if (actor.isFucking == true)
|
||||
{ actor.requiredGenitals.Add("Any appendage"); }
|
||||
|
||||
if (actor.isFucked == true)
|
||||
{ actor.requiredGenitals.Add("Any orifice"); }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ namespace RimWorldAnimationStudio
|
|||
|
||||
public void Initialize()
|
||||
{
|
||||
foreach (AnimationClip clip in animationClips)
|
||||
foreach (PawnAnimationClip clip in animationClips)
|
||||
{
|
||||
clip.BuildSimpleCurves();
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
|
@ -13,6 +14,9 @@ namespace RimWorldAnimationStudio
|
|||
public InputField bodyOffsetZField;
|
||||
public Toggle initiatorToggle;
|
||||
|
||||
private int actorID = -1;
|
||||
private bool isDirty = false;
|
||||
|
||||
public void Initialize()
|
||||
{
|
||||
Actor actor = Workspace.animationDef.actors[Workspace.actorID];
|
||||
|
@ -24,15 +28,30 @@ namespace RimWorldAnimationStudio
|
|||
bodyOffsetZField.text = actor.bodyTypeOffset.GetOffset(bodyType).z.ToString();
|
||||
}
|
||||
|
||||
public void UpdateAnimationDef()
|
||||
public void OnBodyTypeChanged()
|
||||
{
|
||||
if (Workspace.animationDef == null) return;
|
||||
|
||||
Actor actor = Workspace.animationDef.actors[Workspace.actorID];
|
||||
|
||||
string bodyType = bodyTypeDropdown.options[bodyTypeDropdown.value].text;
|
||||
bodyType = bodyType == null || bodyType == "" ? "Male" : bodyType;
|
||||
Debug.Log(bodyType);
|
||||
AnimationController.Instance.transform.GetChild(Workspace.actorID).GetComponent<ActorBody>().bodyType = bodyType;
|
||||
|
||||
|
||||
AnimationController.Instance.GetComponentsInChildren<ActorBody>()[Workspace.actorID].bodyType = bodyType;
|
||||
|
||||
bodyOffsetXField.text = actor.bodyTypeOffset.GetOffset(bodyType).x.ToString();
|
||||
bodyOffsetZField.text = actor.bodyTypeOffset.GetOffset(bodyType).z.ToString();
|
||||
}
|
||||
|
||||
public void UpdateAnimationDef()
|
||||
{
|
||||
if (Workspace.animationDef == null || isDirty) return;
|
||||
|
||||
Actor actor = Workspace.animationDef.actors[Workspace.actorID];
|
||||
|
||||
string bodyType = bodyTypeDropdown.options[bodyTypeDropdown.value].text;
|
||||
bodyType = bodyType == null || bodyType == "" ? "Male" : bodyType;
|
||||
|
||||
float.TryParse(bodyOffsetXField.text, out float x);
|
||||
float.TryParse(bodyOffsetZField.text, out float z);
|
||||
actor.bodyTypeOffset.SetOffset(bodyType, new Vector2(x, z));
|
||||
|
@ -42,6 +61,8 @@ namespace RimWorldAnimationStudio
|
|||
|
||||
public void OpenSelectBodyPartsDialog()
|
||||
{
|
||||
if (Workspace.animationDef == null) return;
|
||||
|
||||
Actor actor = Workspace.animationDef.actors[Workspace.actorID];
|
||||
var dialog = Resources.FindObjectsOfTypeAll(typeof(SelectBodyPartsDialog)) as SelectBodyPartsDialog[];
|
||||
|
||||
|
@ -51,6 +72,8 @@ namespace RimWorldAnimationStudio
|
|||
|
||||
public void OpenSelectDefNamesDialog()
|
||||
{
|
||||
if (Workspace.animationDef == null) return;
|
||||
|
||||
Actor actor = Workspace.animationDef.actors[Workspace.actorID];
|
||||
var dialog = Resources.FindObjectsOfTypeAll(typeof(SelectDefNamesDialog)) as SelectDefNamesDialog[];
|
||||
|
||||
|
@ -60,11 +83,42 @@ namespace RimWorldAnimationStudio
|
|||
|
||||
public void OpenSelectBodyDefTypesDialog()
|
||||
{
|
||||
if (Workspace.animationDef == null) return;
|
||||
|
||||
Actor actor = Workspace.animationDef.actors[Workspace.actorID];
|
||||
var dialog = Resources.FindObjectsOfTypeAll(typeof(SelectBodyDefTypesDialog)) as SelectBodyDefTypesDialog[];
|
||||
|
||||
if (dialog != null)
|
||||
{ dialog[0].Initialize(actor); dialog[0].Pop(); }
|
||||
}
|
||||
|
||||
public void Update()
|
||||
{
|
||||
if (Workspace.animationDef == null) return;
|
||||
|
||||
if (actorID != Workspace.actorID)
|
||||
{
|
||||
isDirty = true;
|
||||
|
||||
if (Workspace.actorID >= AnimationController.Instance.GetComponentsInChildren<ActorBody>().Count())
|
||||
{ Debug.Log("Waiting for actors to initialize..."); return; }
|
||||
|
||||
Actor actor = Workspace.animationDef.actors[Workspace.actorID];
|
||||
ActorBody actorBody = AnimationController.Instance.GetComponentsInChildren<ActorBody>()[Workspace.actorID];
|
||||
|
||||
string bodyType = actorBody.bodyType;
|
||||
bodyType = bodyType == null || bodyType == "" ? "Male" : bodyType;
|
||||
|
||||
bodyTypeDropdown.value = bodyTypeDropdown.options.IndexOf(bodyTypeDropdown.options.First(x => x.text == bodyType));
|
||||
bodyOffsetXField.text = actor.bodyTypeOffset.GetOffset(bodyType).x.ToString();
|
||||
bodyOffsetZField.text = actor.bodyTypeOffset.GetOffset(bodyType).z.ToString();
|
||||
|
||||
initiatorToggle.isOn = actor.initiator;
|
||||
|
||||
actorID = Workspace.actorID;
|
||||
|
||||
isDirty = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -63,5 +63,10 @@ namespace RimWorldAnimationStudio
|
|||
else
|
||||
{ GetComponent<Image>().color = Constants.ColorGrey; }
|
||||
}
|
||||
|
||||
public void InitiateUpdateOfGhostFrames()
|
||||
{
|
||||
BroadcastMessage("UpdateGhostFrames");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -41,7 +41,7 @@ namespace RimWorldAnimationStudio
|
|||
Transform contentWindow = transform.FindDeepChild("Content");
|
||||
Reset();
|
||||
|
||||
for (int i = 0; i < Workspace.bodyParts.Count; i++)
|
||||
for (int i = 0; i < Workspace.interactionDefTypes.Count; i++)
|
||||
{
|
||||
string interactionDefType = Workspace.interactionDefTypes[i];
|
||||
|
||||
|
|
|
@ -43,12 +43,11 @@ namespace RimWorldAnimationStudio
|
|||
public void OnValueChanged()
|
||||
{
|
||||
keyframe.atTick = (int)value;
|
||||
|
||||
UpdateGhostFrames();
|
||||
|
||||
clip.BuildSimpleCurves();
|
||||
|
||||
AnimationController.Instance.stageTick = keyframe.atTick.Value;
|
||||
|
||||
timeline.InitiateUpdateOfGhostFrames();
|
||||
}
|
||||
|
||||
// Ghost sliders are non-interactable slider handle
|
||||
|
@ -57,27 +56,25 @@ namespace RimWorldAnimationStudio
|
|||
if (maxGhosts == 0)
|
||||
{ return; }
|
||||
|
||||
int nGhosts = GetGhostFramesRequired();
|
||||
int requiredGhosts = GetGhostFramesRequired();
|
||||
int currentGhostCount = ghostSliders.childCount;
|
||||
|
||||
for (int i = 0; i < Mathf.Max(nGhosts, ghostSliders.childCount); i++)
|
||||
for (int i = 0; i < Mathf.Max(requiredGhosts, currentGhostCount); i++)
|
||||
{
|
||||
if ((i - 1) * clip.duration + keyframe.atTick <= Workspace.StageWindowSize)
|
||||
{
|
||||
if (ghostSliders.childCount <= i)
|
||||
{ Instantiate(ghostSliderPrefab, ghostSliders); }
|
||||
int targetTick = (int)(i * clip.duration + keyframe.atTick);
|
||||
|
||||
GameObject ghostSliderObject = ghostSliders.GetChild(i).gameObject;
|
||||
ghostSliderObject.SetActive(true);
|
||||
if (ghostSliders.childCount <= i)
|
||||
{ Instantiate(ghostSliderPrefab, ghostSliders); }
|
||||
|
||||
Slider ghostSlider = ghostSliderObject.GetComponent<Slider>();
|
||||
ghostSlider.value = (int)((i + 1) * clip.duration + keyframe.atTick);
|
||||
GameObject ghostSliderObject = ghostSliders.GetChild(i).gameObject;
|
||||
ghostSliderObject.SetActive(i < requiredGhosts);
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
if (i >= nGhosts)
|
||||
{ transform.GetChild(i).gameObject.SetActive(false); }
|
||||
Slider ghostSlider = ghostSliderObject.GetComponent<Slider>();
|
||||
ghostSlider.maxValue = Workspace.StageWindowSize;
|
||||
ghostSlider.value = targetTick;
|
||||
|
||||
if (targetTick > ghostSlider.maxValue)
|
||||
{ ghostSlider.gameObject.SetActive(false); }
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -98,9 +95,9 @@ namespace RimWorldAnimationStudio
|
|||
Workspace.keyframeID = keyframeID;
|
||||
|
||||
if (eventData.clickCount >= 2)
|
||||
{
|
||||
AnimationController.Instance.stageTick = keyframe.atTick.Value;
|
||||
}
|
||||
{ AnimationController.Instance.stageTick = keyframe.atTick.Value; }
|
||||
|
||||
Workspace.Instance.MakeDirty();
|
||||
}
|
||||
|
||||
public void OnBeginDrag(PointerEventData eventData)
|
||||
|
@ -126,6 +123,8 @@ namespace RimWorldAnimationStudio
|
|||
public void OnEndDrag(PointerEventData eventData)
|
||||
{
|
||||
interactable = false;
|
||||
|
||||
Workspace.Instance.MakeDirty();
|
||||
}
|
||||
|
||||
protected override void Update()
|
||||
|
|
|
@ -16,6 +16,10 @@ namespace RimWorldAnimationStudio
|
|||
{
|
||||
stageName.text = stageNameField.text;
|
||||
stageNameField.gameObject.SetActive(false);
|
||||
|
||||
Workspace.animationDef.animationStages[Workspace.stageID].stageName = stageName.text;
|
||||
|
||||
Workspace.Instance.MakeDirty();
|
||||
}
|
||||
|
||||
public void OnMoveStage(int delta)
|
||||
|
@ -60,8 +64,7 @@ namespace RimWorldAnimationStudio
|
|||
|
||||
Workspace.stageID = transform.GetSiblingIndex();
|
||||
|
||||
//AnimationController.Instance.ResetAnimationTimeline();
|
||||
//AnimationController.Instance.InitializeAnimationTimeline();
|
||||
Workspace.Instance.MakeDirty();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -34,14 +34,22 @@ namespace RimWorldAnimationStudio
|
|||
private int lastStageTick = 1;
|
||||
private float timeSinceLastUpdate = 0;
|
||||
private int cycleIndex = 0;
|
||||
private bool isDirty = true;
|
||||
private bool isTimelineDirty = true;
|
||||
|
||||
public void MakeDirty()
|
||||
{ isDirty = true; }
|
||||
|
||||
public void MakeTimelineDirty()
|
||||
{ isTimelineDirty = true; }
|
||||
|
||||
public void Update()
|
||||
{
|
||||
// No animation, exit
|
||||
if (Workspace.animationDef == null) { return; }
|
||||
|
||||
// Dirty animation, reset
|
||||
if (Workspace.animationDef != null && Workspace.isDirty)
|
||||
if (Workspace.animationDef != null && isDirty)
|
||||
{ Initialize(); return; }
|
||||
|
||||
// Update tick if animating
|
||||
|
@ -65,14 +73,11 @@ namespace RimWorldAnimationStudio
|
|||
++cycleIndex;
|
||||
stageTick = 1;
|
||||
|
||||
if ((stageLoopDropdown.value == 2 && cycleIndex > int.Parse(cyclesNormalField.text)) ||
|
||||
(stageLoopDropdown.value == 3 && cycleIndex > int.Parse(cyclesFastField.text)))
|
||||
if ((stageLoopDropdown.value == 2 && cycleIndex >= int.Parse(cyclesNormalField.text)) ||
|
||||
(stageLoopDropdown.value == 3 && cycleIndex >= int.Parse(cyclesFastField.text)))
|
||||
{
|
||||
++Workspace.stageID;
|
||||
cycleIndex = 0;
|
||||
|
||||
//ResetAnimationTimeline();
|
||||
//InitializeAnimationTimeline();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -99,7 +104,7 @@ namespace RimWorldAnimationStudio
|
|||
|
||||
public void UpdateAnimation()
|
||||
{
|
||||
if (Workspace.Instance.AnimationTimelinesNeedUpdate())
|
||||
if (AnimationTimelinesNeedUpdate())
|
||||
{
|
||||
ResetAnimationTimeline();
|
||||
InitializeAnimationTimeline();
|
||||
|
@ -109,6 +114,12 @@ namespace RimWorldAnimationStudio
|
|||
|
||||
for (int actorID = 0; actorID < actorBodies.Count; actorID++)
|
||||
{
|
||||
if (Workspace.stageID >= Workspace.animationDef?.animationStages.Count)
|
||||
{ Debug.Log("Waiting for animation stage data to initialize..."); return; }
|
||||
|
||||
if (actorID >= Workspace.animationDef?.animationStages[Workspace.stageID]?.animationClips.Count)
|
||||
{ Debug.Log("Waiting for animation clip data to initialize..."); return; }
|
||||
|
||||
PawnAnimationClip clip = Workspace.animationDef?.animationStages[Workspace.stageID]?.animationClips[actorID];
|
||||
|
||||
if (clip == null)
|
||||
|
@ -162,7 +173,7 @@ namespace RimWorldAnimationStudio
|
|||
InitializeAnimationTimeline();
|
||||
StageCardManager.Instance.Initialize();
|
||||
|
||||
Workspace.isDirty = false;
|
||||
isDirty = false;
|
||||
}
|
||||
|
||||
public void InitializeAnimationTimeline()
|
||||
|
@ -184,6 +195,8 @@ namespace RimWorldAnimationStudio
|
|||
stageTimelineSlider.maxValue = Workspace.StageWindowSize;
|
||||
stageTimelineSlider.value = 1;
|
||||
stageTick = 1;
|
||||
|
||||
isTimelineDirty = false;
|
||||
}
|
||||
|
||||
public void Reset()
|
||||
|
@ -209,7 +222,9 @@ namespace RimWorldAnimationStudio
|
|||
public bool AddAnimationStage()
|
||||
{
|
||||
AnimationStage stage = new AnimationStage();
|
||||
|
||||
|
||||
Workspace.Instance.MakeDirty();
|
||||
|
||||
return stage.MakeNew();
|
||||
}
|
||||
|
||||
|
@ -221,6 +236,8 @@ namespace RimWorldAnimationStudio
|
|||
|
||||
Workspace.animationDef.animationStages.Insert(Workspace.stageID + 1, stage);
|
||||
|
||||
Workspace.Instance.MakeDirty();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -233,6 +250,8 @@ namespace RimWorldAnimationStudio
|
|||
Workspace.animationDef.animationStages[startIndex] = Workspace.animationDef.animationStages[startIndex + delta];
|
||||
Workspace.animationDef.animationStages[startIndex + delta] = stage;
|
||||
|
||||
Workspace.Instance.MakeDirty();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -247,15 +266,17 @@ namespace RimWorldAnimationStudio
|
|||
Workspace.animationDef.animationStages.RemoveAt(Workspace.stageID);
|
||||
Workspace.stageID = Workspace.stageID >= Workspace.animationDef.animationStages.Count ? Workspace.stageID = Workspace.animationDef.animationStages.Count - 1 : Workspace.stageID;
|
||||
|
||||
Workspace.Instance.MakeDirty();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public void AddActor()
|
||||
{
|
||||
Actor actor = new Actor();
|
||||
actor.MakeNew();
|
||||
|
||||
if (actor.MakeNew())
|
||||
{ Initialize(); }
|
||||
Workspace.Instance.MakeDirty();
|
||||
}
|
||||
|
||||
public void RemoveActor()
|
||||
|
@ -272,7 +293,7 @@ namespace RimWorldAnimationStudio
|
|||
Workspace.animationDef.actors.RemoveAt(Workspace.actorID);
|
||||
Workspace.actorID = Workspace.actorID >= Workspace.animationDef.actors.Count ? Workspace.actorID = Workspace.animationDef.actors.Count - 1 : Workspace.actorID;
|
||||
|
||||
Initialize();
|
||||
Workspace.Instance.MakeDirty();
|
||||
}
|
||||
|
||||
public void AddPawnKeyframe()
|
||||
|
@ -311,11 +332,15 @@ namespace RimWorldAnimationStudio
|
|||
clip.BuildSimpleCurves();
|
||||
|
||||
animationTimelines.GetComponentsInChildren<AnimationTimeline>()[Workspace.actorID].AddPawnKeyFrame(keyframe.keyframeID);
|
||||
|
||||
Workspace.Instance.MakeDirty();
|
||||
}
|
||||
|
||||
public void RemovePawnKeyframe()
|
||||
{
|
||||
RemovePawnKeyframe(Workspace.actorID, Workspace.keyframeID);
|
||||
|
||||
Workspace.Instance.MakeDirty();
|
||||
}
|
||||
|
||||
public void RemovePawnKeyframe(int actorID, int keyframeID)
|
||||
|
@ -333,6 +358,8 @@ namespace RimWorldAnimationStudio
|
|||
clip.keyframes.Remove(keyframe);
|
||||
clip.BuildSimpleCurves();
|
||||
}
|
||||
|
||||
Workspace.Instance.MakeDirty();
|
||||
}
|
||||
|
||||
public void ToggleAnimation()
|
||||
|
@ -363,6 +390,8 @@ namespace RimWorldAnimationStudio
|
|||
int.TryParse(animationClipTimeField.text, out int newStageTick);
|
||||
stageTick = Mathf.Clamp(newStageTick, 1, Workspace.StageWindowSize);
|
||||
stageTimelineSlider.value = stageTick;
|
||||
|
||||
Workspace.Instance.MakeDirty();
|
||||
}
|
||||
|
||||
public void OnAnimationClipLengthFieldChange()
|
||||
|
@ -394,8 +423,7 @@ namespace RimWorldAnimationStudio
|
|||
animationClipLengthField.text = newstageWindowSize.ToString();
|
||||
Workspace.animationDef.animationStages[Workspace.stageID].stageWindowSize = newstageWindowSize;
|
||||
|
||||
//ResetAnimationTimeline();
|
||||
//InitializeAnimationTimeline();
|
||||
Workspace.Instance.MakeDirty();
|
||||
}
|
||||
|
||||
public void OnCycleNormalFieldChange()
|
||||
|
@ -404,6 +432,8 @@ namespace RimWorldAnimationStudio
|
|||
|
||||
if (int.TryParse(cyclesNormalField.text, out int cycles))
|
||||
{ Workspace.animationDef.animationStages[Workspace.stageID].playTimeTicks = cycles * Workspace.StageWindowSize; }
|
||||
|
||||
Workspace.Instance.MakeDirty();
|
||||
}
|
||||
|
||||
public void OnCycleFastFieldChange()
|
||||
|
@ -412,6 +442,44 @@ namespace RimWorldAnimationStudio
|
|||
|
||||
if (int.TryParse(cyclesFastField.text, out int cycles))
|
||||
{ Workspace.animationDef.animationStages[Workspace.stageID].playTimeTicksQuick = cycles * Workspace.StageWindowSize; }
|
||||
|
||||
Workspace.Instance.MakeDirty();
|
||||
}
|
||||
|
||||
private int lastactorCount = 0;
|
||||
private int lastStageID = 0;
|
||||
private int lastStageCount = 0;
|
||||
private int lastStageWindowSize = 0;
|
||||
|
||||
public bool AnimationTimelinesNeedUpdate()
|
||||
{
|
||||
if (Workspace.animationDef == null) return false;
|
||||
|
||||
bool update = isTimelineDirty;
|
||||
|
||||
if (lastStageID != Workspace.stageID)
|
||||
{ update = true; }
|
||||
|
||||
if (lastStageCount != Workspace.animationDef.animationStages.Count)
|
||||
{ update = true; }
|
||||
|
||||
if (lastactorCount != Workspace.animationDef.actors.Count)
|
||||
{ update = true; }
|
||||
|
||||
if (lastStageWindowSize != Workspace.StageWindowSize)
|
||||
{ update = true; }
|
||||
|
||||
if (update)
|
||||
{
|
||||
lastStageID = Workspace.stageID;
|
||||
lastStageCount = Workspace.animationDef.animationStages.Count;
|
||||
lastactorCount = Workspace.animationDef.actors.Count;
|
||||
lastStageWindowSize = Workspace.StageWindowSize;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -46,11 +46,15 @@ namespace RimWorldAnimationStudio
|
|||
|
||||
public void LoadAnimation(AnimationDef animationDef)
|
||||
{
|
||||
animationDef.RunPostLoadOperations();
|
||||
Debug.Log("Loaded AnimationDef: " + animationDef.defName);
|
||||
|
||||
|
||||
Workspace.animationDef = animationDef;
|
||||
animationDef.Initialize();
|
||||
Workspace.isDirty = true;
|
||||
|
||||
Workspace.Instance.ClearHistory();
|
||||
Workspace.Instance.MakeDirty();
|
||||
AnimationController.Instance.MakeDirty();
|
||||
|
||||
var animationDefCards = Resources.FindObjectsOfTypeAll(typeof(AnimationDefCard)) as AnimationDefCard[];
|
||||
|
||||
|
@ -78,16 +82,8 @@ namespace RimWorldAnimationStudio
|
|||
{
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
||||
AnimationDef animationDef = Workspace.animationDef.Copy();
|
||||
animationDef.RunPreSaveOperations();
|
||||
|
||||
Defs defs = new Defs();
|
||||
defs.animationDefs.Add(animationDef);
|
||||
|
@ -104,7 +100,7 @@ namespace RimWorldAnimationStudio
|
|||
// Add one stage, add one actor, add one clip, add one frame
|
||||
|
||||
Workspace.animationDef = new AnimationDef();
|
||||
Workspace.isDirty = true;
|
||||
Workspace.Instance.MakeDirty();
|
||||
|
||||
var animationDefCards = Resources.FindObjectsOfTypeAll(typeof(AnimationDefCard)) as GameObject[];
|
||||
|
||||
|
|
|
@ -18,5 +18,6 @@ namespace RimWorldAnimationStudio
|
|||
public static Color ColorRichOrange = new Color(1.0f, 0.4f, 0.1f);
|
||||
public static Color ColorCyan = new Color(0.0f, 1.0f, 1.0f);
|
||||
public static Color ColorPurple = new Color(0.85f, 0.0f, 1.0f);
|
||||
public static Color ColorGhost = new Color(0.5f, 0.5f, 0.5f, 0.5f);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -39,11 +39,6 @@ namespace RimWorldAnimationStudio
|
|||
}
|
||||
}
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
DontDestroyOnLoad(this.gameObject);
|
||||
}
|
||||
|
||||
private void OnDestroy()
|
||||
{
|
||||
shuttingDown = true;
|
||||
|
|
|
@ -12,18 +12,18 @@ namespace RimWorldAnimationStudio
|
|||
public static AnimationDef animationDef;
|
||||
public static int stageID = 0;
|
||||
public static int actorID = 0;
|
||||
public static int keyframeID = 0;
|
||||
public static bool isDirty = false;
|
||||
public static int keyframeID = 0;
|
||||
|
||||
public static List<string> defNames = new List<string>() { "Human" };
|
||||
public static List<string> bodyParts = new List<string>() { "Penis", "Vagina", "Anus", "Breasts", "Mouth" };
|
||||
public static List<string> bodyParts = new List<string>() { "Any appendage", "Any orifice", "Penis", "Vagina", "Anus", "Breasts", "Mouth" };
|
||||
public static List<string> bodyDefTypes = new List<string>() { "Human" };
|
||||
public static List<string> sexTypes = new List<string>() { "None", "Vaginal", "Anal", "Oral", "Masturbation", "DoublePenetration", "Boobjob", "Handjob", "Footjob", "Fingering", "Scissoring", "MutualMasturbation", "Fisting", "MechImplant", "Rimming", "Fellatio", "Cunnilingus", "Sixtynine" };
|
||||
public static List<string> interactionDefTypes = new List<string>();
|
||||
|
||||
private static List<WorkspaceSnapShot> workspaceHistory = new List<WorkspaceSnapShot>();
|
||||
private static int maxHistoryDepth = 100;
|
||||
private static int historyIndex = 0;
|
||||
[SerializeField] private List<WorkspaceSnapShot> workspaceHistory = new List<WorkspaceSnapShot>();
|
||||
[SerializeField] private int historyIndex = 0;
|
||||
[SerializeField] private int maxHistoryDepth = 100;
|
||||
private bool isDirty = false;
|
||||
|
||||
public static ActorManipulationMode actorManipulationMode = ActorManipulationMode.Pan;
|
||||
|
||||
|
@ -41,6 +41,12 @@ namespace RimWorldAnimationStudio
|
|||
}
|
||||
}
|
||||
|
||||
public void Update()
|
||||
{
|
||||
if (isDirty)
|
||||
{ TrackChanges(); }
|
||||
}
|
||||
|
||||
public PawnKeyframe GetCurrentPawnKeyframe()
|
||||
{
|
||||
int stageTick = AnimationController.Instance.stageTick;
|
||||
|
@ -70,21 +76,26 @@ namespace RimWorldAnimationStudio
|
|||
|
||||
public void TrackChanges()
|
||||
{
|
||||
Debug.Log("Test");
|
||||
Debug.Log(historyIndex + 1);
|
||||
Debug.Log(workspaceHistory.Count - historyIndex);
|
||||
|
||||
if (historyIndex < workspaceHistory.Count - 1)
|
||||
{ workspaceHistory.RemoveRange(historyIndex + 1, workspaceHistory.Count - historyIndex); }
|
||||
{ workspaceHistory.RemoveRange(historyIndex + 1, workspaceHistory.Count - historyIndex - 1); }
|
||||
|
||||
if (workspaceHistory.Any() && workspaceHistory.Count >= maxHistoryDepth)
|
||||
{ workspaceHistory.RemoveAt(0); }
|
||||
|
||||
WorkspaceSnapShot workspaceSnapShot = new WorkspaceSnapShot();
|
||||
workspaceSnapShot.animationDef = animationDef;
|
||||
workspaceSnapShot.animationDef = animationDef.Copy();
|
||||
workspaceSnapShot.stageID = stageID;
|
||||
workspaceSnapShot.actorID = actorID;
|
||||
workspaceSnapShot.keyframeID = keyframeID;
|
||||
|
||||
workspaceHistory.Add(workspaceSnapShot);
|
||||
historyIndex = workspaceHistory.Count - 1;
|
||||
|
||||
// track bType for actors, stageID, isdirty
|
||||
|
||||
historyIndex++;
|
||||
isDirty = false;
|
||||
}
|
||||
|
||||
public void Undo()
|
||||
|
@ -95,51 +106,30 @@ namespace RimWorldAnimationStudio
|
|||
|
||||
public void Redo()
|
||||
{
|
||||
historyIndex = Mathf.Clamp(historyIndex - 1, 0, workspaceHistory.Count - 1);
|
||||
historyIndex = Mathf.Clamp(historyIndex + 1, 0, workspaceHistory.Count - 1);
|
||||
LoadHistoricState();
|
||||
}
|
||||
|
||||
public void LoadHistoricState()
|
||||
{
|
||||
animationDef = workspaceHistory[historyIndex].animationDef;
|
||||
if (workspaceHistory.NullOrEmpty())
|
||||
{ Debug.LogWarning("Cannot load historic state - workspace history is empty"); return; }
|
||||
|
||||
// All other data
|
||||
animationDef = workspaceHistory[historyIndex].animationDef.Copy();
|
||||
stageID = workspaceHistory[historyIndex].stageID;
|
||||
actorID = workspaceHistory[historyIndex].actorID;
|
||||
keyframeID = workspaceHistory[historyIndex].keyframeID;
|
||||
|
||||
AnimationController.Instance.MakeTimelineDirty();
|
||||
}
|
||||
|
||||
private int lastactorCount = 0;
|
||||
private int lastStageID = 0;
|
||||
private int lastStageCount = 0;
|
||||
private int lastStageWindowSize = 0;
|
||||
|
||||
public bool AnimationTimelinesNeedUpdate()
|
||||
public void ClearHistory()
|
||||
{
|
||||
if (animationDef == null) return false;
|
||||
|
||||
bool update = false;
|
||||
|
||||
if (lastStageID != stageID)
|
||||
{ update = true; }
|
||||
|
||||
if (lastStageCount != animationDef.animationStages.Count)
|
||||
{ update = true; }
|
||||
|
||||
if (lastactorCount != animationDef.actors.Count)
|
||||
{ update = true; }
|
||||
|
||||
if (lastStageWindowSize != StageWindowSize)
|
||||
{ update = true; }
|
||||
|
||||
if (update)
|
||||
{
|
||||
lastStageID = stageID;
|
||||
lastStageCount = animationDef.animationStages.Count;
|
||||
lastactorCount = animationDef.actors.Count;
|
||||
lastStageWindowSize = StageWindowSize;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
workspaceHistory.Clear();
|
||||
historyIndex = 0;
|
||||
}
|
||||
|
||||
public void MakeDirty()
|
||||
{ isDirty = true; }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,9 +6,12 @@ using System.Threading.Tasks;
|
|||
|
||||
namespace RimWorldAnimationStudio
|
||||
{
|
||||
[Serializable]
|
||||
public class WorkspaceSnapShot
|
||||
{
|
||||
public AnimationDef animationDef;
|
||||
public int stageID = 0;
|
||||
public int actorID = 0;
|
||||
public int keyframeID = 0;
|
||||
}
|
||||
}
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/06/06b98f9db8c6159b65e16e2d90e4e13c
Normal file
BIN
Library/Artifacts/06/06b98f9db8c6159b65e16e2d90e4e13c
Normal file
Binary file not shown.
BIN
Library/Artifacts/06/06f4b43d94b07db4e1e5e47ca120de96
Normal file
BIN
Library/Artifacts/06/06f4b43d94b07db4e1e5e47ca120de96
Normal file
Binary file not shown.
BIN
Library/Artifacts/07/076fcfec114fc3ed263488877c7b1d67
Normal file
BIN
Library/Artifacts/07/076fcfec114fc3ed263488877c7b1d67
Normal file
Binary file not shown.
BIN
Library/Artifacts/08/08068abcf4937551e8ec1caac74416da
Normal file
BIN
Library/Artifacts/08/08068abcf4937551e8ec1caac74416da
Normal file
Binary file not shown.
BIN
Library/Artifacts/08/0896f6e22053ed99937837d0d5861050
Normal file
BIN
Library/Artifacts/08/0896f6e22053ed99937837d0d5861050
Normal file
Binary file not shown.
BIN
Library/Artifacts/09/095d8593fbd527a5050cc6038bcf24fb
Normal file
BIN
Library/Artifacts/09/095d8593fbd527a5050cc6038bcf24fb
Normal file
Binary file not shown.
BIN
Library/Artifacts/0b/0b03623b58a6733b6c2c9184e6473581
Normal file
BIN
Library/Artifacts/0b/0b03623b58a6733b6c2c9184e6473581
Normal file
Binary file not shown.
BIN
Library/Artifacts/0b/0b42879c52ed6a2db68b059f2537ba59
Normal file
BIN
Library/Artifacts/0b/0b42879c52ed6a2db68b059f2537ba59
Normal file
Binary file not shown.
BIN
Library/Artifacts/0d/0df84995532d44ddb0378bd7136990a4
Normal file
BIN
Library/Artifacts/0d/0df84995532d44ddb0378bd7136990a4
Normal file
Binary file not shown.
BIN
Library/Artifacts/10/107f3ee6e5a9cb7eb6cb41bb5bff0429
Normal file
BIN
Library/Artifacts/10/107f3ee6e5a9cb7eb6cb41bb5bff0429
Normal file
Binary file not shown.
BIN
Library/Artifacts/11/11fe416d7499ebee5271c16cec0d9748
Normal file
BIN
Library/Artifacts/11/11fe416d7499ebee5271c16cec0d9748
Normal file
Binary file not shown.
BIN
Library/Artifacts/12/122d48429f9b0c28de3e54770d6be015
Normal file
BIN
Library/Artifacts/12/122d48429f9b0c28de3e54770d6be015
Normal file
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/1d/1d5f2846db37420b01762206575c4902
Normal file
BIN
Library/Artifacts/1d/1d5f2846db37420b01762206575c4902
Normal file
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/25/25144525b11a343ef0f5bdd826e5532a
Normal file
BIN
Library/Artifacts/25/25144525b11a343ef0f5bdd826e5532a
Normal file
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/26/2684e09c2f19ac1aa213d2118b048641
Normal file
BIN
Library/Artifacts/26/2684e09c2f19ac1aa213d2118b048641
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/2e/2e27364efa61be806b476520990757ac
Normal file
BIN
Library/Artifacts/2e/2e27364efa61be806b476520990757ac
Normal file
Binary file not shown.
BIN
Library/Artifacts/30/30a1681818823a6a3f70844d6f4ede89
Normal file
BIN
Library/Artifacts/30/30a1681818823a6a3f70844d6f4ede89
Normal file
Binary file not shown.
BIN
Library/Artifacts/32/32ebee44b8c6b16ac336d094d8e434db
Normal file
BIN
Library/Artifacts/32/32ebee44b8c6b16ac336d094d8e434db
Normal file
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/34/347a93de92fb8b22f01d8224e4813140
Normal file
BIN
Library/Artifacts/34/347a93de92fb8b22f01d8224e4813140
Normal file
Binary file not shown.
BIN
Library/Artifacts/38/389651417c78679dd53c3f6cae3453f0
Normal file
BIN
Library/Artifacts/38/389651417c78679dd53c3f6cae3453f0
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/3b/3b623aad3c8de94ca93f6fc96ce868e6
Normal file
BIN
Library/Artifacts/3b/3b623aad3c8de94ca93f6fc96ce868e6
Normal file
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/42/42b38c6769d3c77cba2d49b632ca3993
Normal file
BIN
Library/Artifacts/42/42b38c6769d3c77cba2d49b632ca3993
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/4a/4a61bd6f60ec3083f48c32c2af1e1fd1
Normal file
BIN
Library/Artifacts/4a/4a61bd6f60ec3083f48c32c2af1e1fd1
Normal file
Binary file not shown.
BIN
Library/Artifacts/4b/4bb23e6a4cbe1ced09da9488fa26c073
Normal file
BIN
Library/Artifacts/4b/4bb23e6a4cbe1ced09da9488fa26c073
Normal file
Binary file not shown.
BIN
Library/Artifacts/4f/4f747451bd0a2bc05124a248adaacc72
Normal file
BIN
Library/Artifacts/4f/4f747451bd0a2bc05124a248adaacc72
Normal file
Binary file not shown.
BIN
Library/Artifacts/4f/4fa68673775e1285528d313687872e4c
Normal file
BIN
Library/Artifacts/4f/4fa68673775e1285528d313687872e4c
Normal file
Binary file not shown.
BIN
Library/Artifacts/52/525fb55f112b3a36fc0f6fb2e83663e9
Normal file
BIN
Library/Artifacts/52/525fb55f112b3a36fc0f6fb2e83663e9
Normal file
Binary file not shown.
BIN
Library/Artifacts/5c/5c4b6027afde652f95aa7de5819c5598
Normal file
BIN
Library/Artifacts/5c/5c4b6027afde652f95aa7de5819c5598
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/64/64e2af6d096e9d9ac49a297b706cc81d
Normal file
BIN
Library/Artifacts/64/64e2af6d096e9d9ac49a297b706cc81d
Normal file
Binary file not shown.
BIN
Library/Artifacts/66/66413c3077e42e57fade4d9b62cf33fc
Normal file
BIN
Library/Artifacts/66/66413c3077e42e57fade4d9b62cf33fc
Normal file
Binary file not shown.
BIN
Library/Artifacts/69/6952660f8eeeadc26e8b5de1bd7bc8aa
Normal file
BIN
Library/Artifacts/69/6952660f8eeeadc26e8b5de1bd7bc8aa
Normal file
Binary file not shown.
BIN
Library/Artifacts/69/697937d58c4f7ae977b6774bcb938584
Normal file
BIN
Library/Artifacts/69/697937d58c4f7ae977b6774bcb938584
Normal file
Binary file not shown.
BIN
Library/Artifacts/6a/6a9c07be4c1ed2f1f2038f07317a38cb
Normal file
BIN
Library/Artifacts/6a/6a9c07be4c1ed2f1f2038f07317a38cb
Normal file
Binary file not shown.
BIN
Library/Artifacts/6b/6b6a3e0c077e9734ad55c0bf758dcf50
Normal file
BIN
Library/Artifacts/6b/6b6a3e0c077e9734ad55c0bf758dcf50
Normal file
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/70/701b133079cd05fec2bdc7270294dab6
Normal file
BIN
Library/Artifacts/70/701b133079cd05fec2bdc7270294dab6
Normal file
Binary file not shown.
BIN
Library/Artifacts/72/72557898fc227e9c07818b392414685a
Normal file
BIN
Library/Artifacts/72/72557898fc227e9c07818b392414685a
Normal file
Binary file not shown.
BIN
Library/Artifacts/72/7299cec76c8d5258340b25b8817cf67e
Normal file
BIN
Library/Artifacts/72/7299cec76c8d5258340b25b8817cf67e
Normal file
Binary file not shown.
BIN
Library/Artifacts/75/756edb5853b2b55d51df2e1307faafe0
Normal file
BIN
Library/Artifacts/75/756edb5853b2b55d51df2e1307faafe0
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/7d/7d909b99dbc1138b5fa8fa3bcce82953
Normal file
BIN
Library/Artifacts/7d/7d909b99dbc1138b5fa8fa3bcce82953
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/82/82d71af5a319d1ad77bfa759e079854a
Normal file
BIN
Library/Artifacts/82/82d71af5a319d1ad77bfa759e079854a
Normal file
Binary file not shown.
BIN
Library/Artifacts/84/843293598ecdbaa261d52ec18ff301f3
Normal file
BIN
Library/Artifacts/84/843293598ecdbaa261d52ec18ff301f3
Normal file
Binary file not shown.
BIN
Library/Artifacts/85/85588823cce39fa6e2d31c05faf6f19c
Normal file
BIN
Library/Artifacts/85/85588823cce39fa6e2d31c05faf6f19c
Normal file
Binary file not shown.
BIN
Library/Artifacts/87/87701e21a1de3dbc6c893f7eca0169ac
Normal file
BIN
Library/Artifacts/87/87701e21a1de3dbc6c893f7eca0169ac
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/8f/8fc6ebfe936174cc90f962eea0dd4362
Normal file
BIN
Library/Artifacts/8f/8fc6ebfe936174cc90f962eea0dd4362
Normal file
Binary file not shown.
BIN
Library/Artifacts/90/902a55490f01f9c94ab86722e59c06e4
Normal file
BIN
Library/Artifacts/90/902a55490f01f9c94ab86722e59c06e4
Normal file
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/92/926c4df9b86000a554fc8ea974b67bb7
Normal file
BIN
Library/Artifacts/92/926c4df9b86000a554fc8ea974b67bb7
Normal file
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/9b/9bf8b3d1f01d61063a3d80bd87fe6e91
Normal file
BIN
Library/Artifacts/9b/9bf8b3d1f01d61063a3d80bd87fe6e91
Normal file
Binary file not shown.
BIN
Library/Artifacts/9e/9eafa20735a7e46bf3df0405cde55792
Normal file
BIN
Library/Artifacts/9e/9eafa20735a7e46bf3df0405cde55792
Normal file
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/a2/a2feb69b7d8292e0370c8b8c0f7c1330
Normal file
BIN
Library/Artifacts/a2/a2feb69b7d8292e0370c8b8c0f7c1330
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue