Basic keybinds plus multi key selection

This commit is contained in:
AbstractConcept 2022-10-02 17:39:03 -05:00
parent 518a912ef1
commit 842c954455
89 changed files with 977 additions and 164 deletions

View File

@ -110,6 +110,7 @@
<Compile Include="Assets\Scripts\Managers\AnimationController.cs" /> <Compile Include="Assets\Scripts\Managers\AnimationController.cs" />
<Compile Include="Assets\Scripts\Managers\ApplicationManager.cs" /> <Compile Include="Assets\Scripts\Managers\ApplicationManager.cs" />
<Compile Include="Assets\Scripts\Managers\CameraController.cs" /> <Compile Include="Assets\Scripts\Managers\CameraController.cs" />
<Compile Include="Assets\Scripts\Managers\InputManager.cs" />
<Compile Include="Assets\Scripts\Managers\StageCardManager.cs" /> <Compile Include="Assets\Scripts\Managers\StageCardManager.cs" />
<Compile Include="Assets\Scripts\Math\Constants\Constants.cs" /> <Compile Include="Assets\Scripts\Math\Constants\Constants.cs" />
<Compile Include="Assets\Scripts\Math\Constants\Enums.cs" /> <Compile Include="Assets\Scripts\Math\Constants\Enums.cs" />

View File

@ -275,6 +275,84 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 11575765} m_GameObject: {fileID: 11575765}
m_CullTransparentMesh: 0 m_CullTransparentMesh: 0
--- !u!1 &28901883
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 28901884}
- component: {fileID: 28901886}
- component: {fileID: 28901885}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &28901884
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 28901883}
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: 1673590781}
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 &28901885
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 28901883}
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: Cancel
--- !u!222 &28901886
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 28901883}
m_CullTransparentMesh: 0
--- !u!1 &40775274 --- !u!1 &40775274
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -629,7 +707,7 @@ RectTransform:
- {fileID: 1302075273} - {fileID: 1302075273}
- {fileID: 1849536740} - {fileID: 1849536740}
m_Father: {fileID: 682235885} m_Father: {fileID: 682235885}
m_RootOrder: 1 m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1}
@ -2117,6 +2195,7 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
exitDialog: {fileID: 1588340716} exitDialog: {fileID: 1588340716}
newAnimationDialog: {fileID: 1717923583}
selectAnimationDialog: {fileID: 56207934} selectAnimationDialog: {fileID: 56207934}
--- !u!1 &219230437 --- !u!1 &219230437
GameObject: GameObject:
@ -5908,7 +5987,7 @@ MonoBehaviour:
m_PersistentCalls: m_PersistentCalls:
m_Calls: m_Calls:
- m_Target: {fileID: 168629124} - m_Target: {fileID: 168629124}
m_MethodName: TrySaveAnimation m_MethodName: TryToSaveAnimation
m_Mode: 1 m_Mode: 1
m_Arguments: m_Arguments:
m_ObjectArgument: {fileID: 0} m_ObjectArgument: {fileID: 0}
@ -6309,7 +6388,7 @@ MonoBehaviour:
m_PersistentCalls: m_PersistentCalls:
m_Calls: m_Calls:
- m_Target: {fileID: 168629124} - m_Target: {fileID: 168629124}
m_MethodName: NewAnimation m_MethodName: TryToMakeNewAnimation
m_Mode: 1 m_Mode: 1
m_Arguments: m_Arguments:
m_ObjectArgument: {fileID: 0} m_ObjectArgument: {fileID: 0}
@ -9130,6 +9209,87 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 671921653} m_GameObject: {fileID: 671921653}
m_CullTransparentMesh: 0 m_CullTransparentMesh: 0
--- !u!1 &675100305
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 675100306}
- component: {fileID: 675100308}
- component: {fileID: 675100307}
m_Layer: 5
m_Name: WarningText
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &675100306
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 675100305}
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: 1717923582}
m_RootOrder: 3
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: 0, y: 20}
m_SizeDelta: {x: 330.00006, y: 90}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &675100307
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 675100305}
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: 20
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 0
m_MaxSize: 40
m_Alignment: 1
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 'Create a new animation?
All unsaved changes will be lost'
--- !u!222 &675100308
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 675100305}
m_CullTransparentMesh: 0
--- !u!1 &682235884 --- !u!1 &682235884
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -9160,6 +9320,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: m_Children:
- {fileID: 1588340713} - {fileID: 1588340713}
- {fileID: 1717923582}
- {fileID: 56207931} - {fileID: 56207931}
- {fileID: 1969226734} - {fileID: 1969226734}
- {fileID: 685077909} - {fileID: 685077909}
@ -9405,7 +9566,7 @@ RectTransform:
- {fileID: 371198550} - {fileID: 371198550}
- {fileID: 77649836} - {fileID: 77649836}
m_Father: {fileID: 682235885} m_Father: {fileID: 682235885}
m_RootOrder: 3 m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1}
@ -12175,7 +12336,7 @@ PrefabInstance:
- target: {fileID: 7715503544296011585, guid: 8b89f6c9e5f696c4997760829c45a505, - target: {fileID: 7715503544296011585, guid: 8b89f6c9e5f696c4997760829c45a505,
type: 3} type: 3}
propertyPath: m_RootOrder propertyPath: m_RootOrder
value: 8 value: 9
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 7715503544296011585, guid: 8b89f6c9e5f696c4997760829c45a505, - target: {fileID: 7715503544296011585, guid: 8b89f6c9e5f696c4997760829c45a505,
type: 3} type: 3}
@ -13263,7 +13424,7 @@ RectTransform:
- {fileID: 347034222} - {fileID: 347034222}
- {fileID: 932977622} - {fileID: 932977622}
m_Father: {fileID: 682235885} m_Father: {fileID: 682235885}
m_RootOrder: 4 m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1}
@ -15220,7 +15381,7 @@ PrefabInstance:
- target: {fileID: 7715503544296011585, guid: 8b89f6c9e5f696c4997760829c45a505, - target: {fileID: 7715503544296011585, guid: 8b89f6c9e5f696c4997760829c45a505,
type: 3} type: 3}
propertyPath: m_RootOrder propertyPath: m_RootOrder
value: 6 value: 7
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 7715503544296011585, guid: 8b89f6c9e5f696c4997760829c45a505, - target: {fileID: 7715503544296011585, guid: 8b89f6c9e5f696c4997760829c45a505,
type: 3} type: 3}
@ -16703,6 +16864,7 @@ GameObject:
- component: {fileID: 1335076901} - component: {fileID: 1335076901}
- component: {fileID: 1335076900} - component: {fileID: 1335076900}
- component: {fileID: 1335076904} - component: {fileID: 1335076904}
- component: {fileID: 1335076905}
m_Layer: 5 m_Layer: 5
m_Name: Workspace m_Name: Workspace
m_TagString: Untagged m_TagString: Untagged
@ -16807,6 +16969,18 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
workspaceHistory: [] workspaceHistory: []
maxHistoryDepth: 100 maxHistoryDepth: 100
--- !u!114 &1335076905
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1335076899}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 120c040fa90da65478716f3ccda1248f, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &1344070787 --- !u!1 &1344070787
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -19873,6 +20047,80 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1489591897} m_GameObject: {fileID: 1489591897}
m_CullTransparentMesh: 0 m_CullTransparentMesh: 0
--- !u!1 &1493764522
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1493764523}
- component: {fileID: 1493764525}
- component: {fileID: 1493764524}
m_Layer: 5
m_Name: BackSpalsh
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1493764523
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1493764522}
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: 1717923582}
m_RootOrder: 0
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: 0, y: 0}
m_SizeDelta: {x: 330, y: 150}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1493764524
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1493764522}
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: 10907, 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 &1493764525
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1493764522}
m_CullTransparentMesh: 0
--- !u!1 &1502398120 --- !u!1 &1502398120
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -22688,6 +22936,136 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1671366298} m_GameObject: {fileID: 1671366298}
m_CullTransparentMesh: 0 m_CullTransparentMesh: 0
--- !u!1 &1673590780
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1673590781}
- component: {fileID: 1673590784}
- component: {fileID: 1673590783}
- component: {fileID: 1673590782}
m_Layer: 5
m_Name: CancelButton
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1673590781
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1673590780}
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: 28901884}
m_Father: {fileID: 1717923582}
m_RootOrder: 2
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: 90, y: -45}
m_SizeDelta: {x: 120, y: 30}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1673590782
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1673590780}
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: 1673590783}
m_OnClick:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 1717923581}
m_MethodName: SetActive
m_Mode: 6
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 &1673590783
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1673590780}
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 &1673590784
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1673590780}
m_CullTransparentMesh: 0
--- !u!1 &1676585153 --- !u!1 &1676585153
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -22931,6 +23309,98 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1697817321} m_GameObject: {fileID: 1697817321}
m_CullTransparentMesh: 0 m_CullTransparentMesh: 0
--- !u!1 &1717923581
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1717923582}
- component: {fileID: 1717923585}
- component: {fileID: 1717923584}
- component: {fileID: 1717923583}
m_Layer: 5
m_Name: NewAnimationDialog
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &1717923582
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1717923581}
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: 1493764523}
- {fileID: 1805611459}
- {fileID: 1673590781}
- {fileID: 675100306}
m_Father: {fileID: 682235885}
m_RootOrder: 1
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 &1717923583
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1717923581}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5a554bad525e79e4fb3dea0d391daf48, type: 3}
m_Name:
m_EditorClassIdentifier:
cloneObjects: []
--- !u!114 &1717923584
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1717923581}
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: 0, g: 0, b: 0, a: 0.392}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10907, 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 &1717923585
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1717923581}
m_CullTransparentMesh: 0
--- !u!1 &1719111567 --- !u!1 &1719111567
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -24130,6 +24600,225 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1798757603} m_GameObject: {fileID: 1798757603}
m_CullTransparentMesh: 0 m_CullTransparentMesh: 0
--- !u!1 &1805611458
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1805611459}
- component: {fileID: 1805611462}
- component: {fileID: 1805611461}
- component: {fileID: 1805611460}
m_Layer: 5
m_Name: OKButton
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1805611459
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1805611458}
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: 1808559463}
m_Father: {fileID: 1717923582}
m_RootOrder: 1
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: -90, y: -45}
m_SizeDelta: {x: 120, y: 30}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1805611460
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1805611458}
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: 1805611461}
m_OnClick:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 168629124}
m_MethodName: NewAnimation
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_Target: {fileID: 1717923583}
m_MethodName: Pop
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 &1805611461
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1805611458}
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 &1805611462
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1805611458}
m_CullTransparentMesh: 0
--- !u!1 &1808559462
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1808559463}
- component: {fileID: 1808559465}
- component: {fileID: 1808559464}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1808559463
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1808559462}
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: 1805611459}
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 &1808559464
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1808559462}
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: OK
--- !u!222 &1808559465
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1808559462}
m_CullTransparentMesh: 0
--- !u!1 &1811894048 --- !u!1 &1811894048
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -25708,7 +26397,7 @@ RectTransform:
- {fileID: 1543793723} - {fileID: 1543793723}
- {fileID: 1344070788} - {fileID: 1344070788}
m_Father: {fileID: 682235885} m_Father: {fileID: 682235885}
m_RootOrder: 5 m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1}
@ -26063,7 +26752,7 @@ RectTransform:
- {fileID: 1481521047} - {fileID: 1481521047}
- {fileID: 1261535758} - {fileID: 1261535758}
m_Father: {fileID: 682235885} m_Father: {fileID: 682235885}
m_RootOrder: 2 m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1}
@ -31524,7 +32213,7 @@ RectTransform:
- {fileID: 631515291} - {fileID: 631515291}
- {fileID: 3579074259096323583} - {fileID: 3579074259096323583}
m_Father: {fileID: 682235885} m_Father: {fileID: 682235885}
m_RootOrder: 9 m_RootOrder: 10
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1}
@ -32288,7 +32977,7 @@ PrefabInstance:
- target: {fileID: 7715503544296011585, guid: 8b89f6c9e5f696c4997760829c45a505, - target: {fileID: 7715503544296011585, guid: 8b89f6c9e5f696c4997760829c45a505,
type: 3} type: 3}
propertyPath: m_RootOrder propertyPath: m_RootOrder
value: 7 value: 8
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 7715503544296011585, guid: 8b89f6c9e5f696c4997760829c45a505, - target: {fileID: 7715503544296011585, guid: 8b89f6c9e5f696c4997760829c45a505,
type: 3} type: 3}

View File

@ -95,7 +95,12 @@ namespace RimWorldAnimationStudio
public void OnPointerClick(PointerEventData eventData) public void OnPointerClick(PointerEventData eventData)
{ {
Workspace.actorID = actorID; Workspace.actorID = actorID;
Workspace.keyframeID = keyframeID;
if (Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.LeftCommand))
{ Workspace.keyframeID.Add(keyframeID); }
else
{ Workspace.keyframeID = new List<int> { keyframeID }; }
if (eventData.clickCount >= 2) if (eventData.clickCount >= 2)
{ AnimationController.Instance.stageTick = keyframe.atTick.Value; } { AnimationController.Instance.stageTick = keyframe.atTick.Value; }
@ -107,7 +112,8 @@ namespace RimWorldAnimationStudio
{ {
//AnimationController.Instance.stageTick = keyframe.atTick.Value; //AnimationController.Instance.stageTick = keyframe.atTick.Value;
Workspace.actorID = actorID; Workspace.actorID = actorID;
Workspace.keyframeID = keyframeID;
Workspace.keyframeID = new List<int> { keyframeID };
dragTimeStart = Time.unscaledTime; dragTimeStart = Time.unscaledTime;
} }
@ -132,17 +138,17 @@ namespace RimWorldAnimationStudio
{ value = 1; return; } { value = 1; return; }
interactable = false; interactable = false;
Workspace.Instance.RecordEvent("Keyframe tick"); Workspace.Instance.RecordEvent("Keyframe move");
} }
protected override void Update() protected override void Update()
{ {
base.Update(); base.Update();
if (keyframe.atTick.HasValue && Workspace.keyframeID == keyframeID && AnimationController.Instance.stageTick == keyframe.atTick.Value) if (keyframe.atTick.HasValue && Workspace.keyframeID.Contains(keyframeID) && AnimationController.Instance.stageTick == keyframe.atTick.Value)
{ handleImage.color = Constants.ColorPurple; } { handleImage.color = Constants.ColorPurple; }
else if (Workspace.keyframeID == keyframeID) else if (Workspace.keyframeID.Contains(keyframeID))
{ handleImage.color = Constants.ColorCyan; } { handleImage.color = Constants.ColorCyan; }
else if (keyframe.atTick.HasValue && AnimationController.Instance.stageTick == keyframe.atTick.Value) else if (keyframe.atTick.HasValue && AnimationController.Instance.stageTick == keyframe.atTick.Value)

View File

@ -132,10 +132,10 @@ namespace RimWorldAnimationStudio
for (int actorID = 0; actorID < _actorBodies.Count; actorID++) for (int actorID = 0; actorID < _actorBodies.Count; actorID++)
{ {
if (Workspace.stageID >= Workspace.animationDef?.animationStages.Count) if (Workspace.stageID >= Workspace.animationDef?.animationStages.Count)
{ Debug.Log("Waiting for animation stage data to initialize..."); return; } { /*Debug.Log("Waiting for animation stage data to initialize...");*/ return; }
if (actorID >= Workspace.animationDef?.animationStages[Workspace.stageID]?.animationClips.Count) if (actorID >= Workspace.animationDef?.animationStages[Workspace.stageID]?.animationClips.Count)
{ Debug.Log("Waiting for animation clip data to initialize..."); return; } { /*Debug.Log("Waiting for animation clip data to initialize...");*/ return; }
Actor actor = Workspace.animationDef.actors[actorID]; Actor actor = Workspace.animationDef.actors[actorID];
PawnAnimationClip clip = Workspace.animationDef?.animationStages[Workspace.stageID]?.animationClips[actorID]; PawnAnimationClip clip = Workspace.animationDef?.animationStages[Workspace.stageID]?.animationClips[actorID];
@ -340,39 +340,45 @@ namespace RimWorldAnimationStudio
public void ClonePawnKeyframe() public void ClonePawnKeyframe()
{ {
PawnAnimationClip clip = Workspace.Instance.GetCurrentPawnAnimationClip(); List<PawnKeyframe> keyframesToClone = Workspace.Instance.GetPawnKeyframes(Workspace.keyframeID);
List<PawnKeyframe> keyframes = clip?.keyframes;
PawnKeyframe keyframe = Workspace.Instance.GetPawnKeyframe(Workspace.actorID, Workspace.keyframeID);
if (clip == null || keyframes == null) foreach (PawnKeyframe keyframe in keyframesToClone)
{ Debug.LogWarning("Cannot clone pawn keyframe - the AnimationDef is invalid"); return; } {
PawnAnimationClip clip = Workspace.Instance.GetAnimationClipThatOwnsKeyframe(keyframe.keyframeID, out int clipID);
if (keyframes.FirstOrDefault(x => x.atTick == stageTick) != null) if (clip == null)
{ Debug.LogWarning("Cannot clone pawn keyframe - a keyframe already exists at this tick"); return; } { Debug.LogWarning("Cannot clone pawn keyframe - no clip owns this keyframe"); continue; }
if (keyframe == null) if (clip.keyframes.FirstOrDefault(x => x.atTick == stageTick) != null)
{ Debug.LogWarning("Cannot clone pawn keyframe - no keyframe has been selected for cloning"); return; } { Debug.LogWarning("Cannot clone pawn keyframe - a keyframe already exists at this tick"); return; }
PawnKeyframe cloneFrame = keyframe.Copy(); PawnKeyframe cloneFrame = keyframe.Copy();
cloneFrame.GenerateKeyframeID(); cloneFrame.GenerateKeyframeID();
cloneFrame.atTick = stageTick; cloneFrame.atTick = stageTick;
PawnKeyframe nextKeyframe = keyframes.FirstOrDefault(x => x.atTick > stageTick); PawnKeyframe nextKeyframe = clip.keyframes.FirstOrDefault(x => x.atTick > stageTick);
if (nextKeyframe != null) if (nextKeyframe != null)
{ keyframes.Insert(keyframes.IndexOf(nextKeyframe), cloneFrame); } { clip.keyframes.Insert(clip.keyframes.IndexOf(nextKeyframe), cloneFrame); }
else else
{ keyframes.Add(cloneFrame); } { clip.keyframes.Add(cloneFrame); }
clip.BuildSimpleCurves(); clip.BuildSimpleCurves();
animationTimelines.GetComponentsInChildren<AnimationTimeline>()[Workspace.actorID].AddPawnKeyFrame(cloneFrame.keyframeID); animationTimelines.GetComponentsInChildren<AnimationTimeline>()[clipID].AddPawnKeyFrame(cloneFrame.keyframeID);
}
Workspace.Instance.RecordEvent("Keyframe clone");
} }
public void RemovePawnKeyframe() public void RemovePawnKeyframe()
{ {
RemovePawnKeyframe(Workspace.actorID, Workspace.keyframeID); foreach (int keyframeID in Workspace.keyframeID)
{
if (Workspace.Instance.GetAnimationClipThatOwnsKeyframe(keyframeID, out int clipID) != null)
{ RemovePawnKeyframe(clipID, keyframeID); }
}
} }
public void RemovePawnKeyframe(int actorID, int keyframeID) public void RemovePawnKeyframe(int actorID, int keyframeID)
@ -388,7 +394,7 @@ namespace RimWorldAnimationStudio
if (clip.keyframes.Count <= 2) if (clip.keyframes.Count <= 2)
{ Debug.LogWarning("Cannot delete key frame - an animation clip must have two or more keyframes"); return; } { Debug.LogWarning("Cannot delete key frame - an animation clip must have two or more keyframes"); return; }
animationTimelines.GetComponentsInChildren<AnimationTimeline>()[Workspace.actorID].RemovePawnKeyFrame(keyframe.keyframeID); animationTimelines.GetComponentsInChildren<AnimationTimeline>()[actorID].RemovePawnKeyFrame(keyframe.keyframeID);
clip.keyframes.Remove(keyframe); clip.keyframes.Remove(keyframe);
clip.BuildSimpleCurves(); clip.BuildSimpleCurves();

View File

@ -13,6 +13,7 @@ namespace RimWorldAnimationStudio
public class ApplicationManager : Singleton<ApplicationManager> public class ApplicationManager : Singleton<ApplicationManager>
{ {
public DialogBox exitDialog; public DialogBox exitDialog;
public DialogBox newAnimationDialog;
public SelectAnimationDialog selectAnimationDialog; public SelectAnimationDialog selectAnimationDialog;
public void Start() public void Start()
@ -74,7 +75,7 @@ namespace RimWorldAnimationStudio
} }
public void TrySaveAnimation() public void TryToSaveAnimation()
{ {
if (Workspace.animationDef == null) if (Workspace.animationDef == null)
{ return; } { return; }
@ -121,6 +122,14 @@ namespace RimWorldAnimationStudio
} }
} }
public void TryToMakeNewAnimation()
{
if (Workspace.animationDef == null)
{ NewAnimation(); return; }
newAnimationDialog.Pop();
}
public void NewAnimation() public void NewAnimation()
{ {
var path = Path.Combine(Application.streamingAssetsPath, "AnimationDefs/newAnimationDef.xml"); var path = Path.Combine(Application.streamingAssetsPath, "AnimationDefs/newAnimationDef.xml");

View File

@ -0,0 +1,42 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using UnityEngine;
namespace RimWorldAnimationStudio
{
public class InputManager : Singleton<InputManager>
{
public void Update()
{
if (Input.GetKey(KeyCode.LeftControl) && Input.GetKeyDown(KeyCode.Z))
{ Workspace.Instance.Undo(); }
else if (Input.GetKey(KeyCode.LeftCommand) && Input.GetKeyDown(KeyCode.Z))
{ Workspace.Instance.Undo(); }
else if (Input.GetKey(KeyCode.LeftControl) && Input.GetKeyDown(KeyCode.Y))
{ Workspace.Instance.Redo(); }
else if (Input.GetKey(KeyCode.LeftCommand) && Input.GetKey(KeyCode.LeftShift) && Input.GetKeyDown(KeyCode.Z))
{ Workspace.Instance.Redo(); }
else if ((Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.LeftCommand)) && Input.GetKeyDown(KeyCode.C))
{ AnimationController.Instance.ClonePawnKeyframe(); }
else if (Input.GetKey(KeyCode.Backspace) || Input.GetKey(KeyCode.Delete))
{ AnimationController.Instance.RemovePawnKeyframe(); }
else if ((Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.LeftCommand)) && Input.GetKeyDown(KeyCode.N))
{ ApplicationManager.Instance.TryToMakeNewAnimation(); }
else if ((Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.LeftCommand)) && Input.GetKeyDown(KeyCode.S))
{ ApplicationManager.Instance.TryToSaveAnimation(); }
else if ((Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.LeftCommand)) && Input.GetKeyDown(KeyCode.L))
{ ApplicationManager.Instance.TryToLoadAnimation(); }
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 120c040fa90da65478716f3ccda1248f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -13,14 +13,14 @@ namespace RimWorldAnimationStudio
{ {
public static T ReadXML<T>(string path) public static T ReadXML<T>(string path)
{ {
Debug.Log("Reading data from " + path); //Debug.Log("Reading data from " + path);
using (StreamReader stringReader = new StreamReader(path)) using (StreamReader stringReader = new StreamReader(path))
{ {
XmlSerializer serializer = new XmlSerializer(typeof(T)); XmlSerializer serializer = new XmlSerializer(typeof(T));
var data = (T)serializer.Deserialize(stringReader); var data = (T)serializer.Deserialize(stringReader);
Debug.Log("Read successful"); //Debug.Log("Read successful");
return data; return data;
} }
} }
@ -30,7 +30,7 @@ namespace RimWorldAnimationStudio
if (obj == null || path == null || path == "") if (obj == null || path == null || path == "")
{ return; } { return; }
Debug.Log("Saving data to " + path); //Debug.Log("Saving data to " + path);
XmlSerializer writer = new XmlSerializer(typeof(T)); XmlSerializer writer = new XmlSerializer(typeof(T));
XmlSerializerNamespaces nameSpaces = new XmlSerializerNamespaces(); XmlSerializerNamespaces nameSpaces = new XmlSerializerNamespaces();
@ -40,7 +40,7 @@ namespace RimWorldAnimationStudio
writer.Serialize(file, obj, nameSpaces); writer.Serialize(file, obj, nameSpaces);
file.Close(); file.Close();
Debug.Log("Saving successful"); //Debug.Log("Saving successful");
} }
} }
} }

View File

@ -12,7 +12,7 @@ namespace RimWorldAnimationStudio
public static AnimationDef animationDef; public static AnimationDef animationDef;
public static int stageID = 0; public static int stageID = 0;
public static int keyframeID = 0; public static List<int> keyframeID = new List<int>();
[SerializeField] private List<HistoricRecord> workspaceHistory = new List<HistoricRecord>(); [SerializeField] private List<HistoricRecord> workspaceHistory = new List<HistoricRecord>();
[SerializeField] private int maxHistoryDepth = 100; [SerializeField] private int maxHistoryDepth = 100;
@ -61,9 +61,49 @@ namespace RimWorldAnimationStudio
public PawnKeyframe GetPawnKeyframe(int actorID, int keyframeID) public PawnKeyframe GetPawnKeyframe(int actorID, int keyframeID)
{ {
if (stageID < 0) return null;
if (actorID < 0) return null;
if (stageID >= animationDef.animationStages.Count) return null;
if (actorID >= animationDef.animationStages[stageID].animationClips.Count) return null;
return animationDef.animationStages[stageID].animationClips[actorID].keyframes.FirstOrDefault(x => x.keyframeID == keyframeID); return animationDef.animationStages[stageID].animationClips[actorID].keyframes.FirstOrDefault(x => x.keyframeID == keyframeID);
} }
public List<PawnKeyframe> GetPawnKeyframes(List<int> keyframeIDs)
{
List<PawnKeyframe> pawnKeyframes = new List<PawnKeyframe>();
foreach (PawnAnimationClip clip in animationDef.animationStages[stageID].animationClips)
{
foreach (PawnKeyframe keyframe in clip.keyframes)
{
if (keyframeIDs.Contains(keyframe.keyframeID))
{ pawnKeyframes.Add(keyframe); }
}
}
return pawnKeyframes;
}
public PawnAnimationClip GetAnimationClipThatOwnsKeyframe(int keyframeID, out int clipID)
{
clipID = -1;
for (int i = 0; i < animationDef.animationStages[stageID].animationClips.Count; i++)
{
PawnAnimationClip clip = animationDef.animationStages[stageID].animationClips[i];
if (clip.keyframes.Any(x => x.keyframeID == keyframeID))
{
clipID = i;
return clip;
}
}
return null;
}
[SerializeField] [SerializeField]
public LinkedList<HistoricRecord> pastSnapshots = new LinkedList<HistoricRecord>(); public LinkedList<HistoricRecord> pastSnapshots = new LinkedList<HistoricRecord>();
public LinkedList<HistoricRecord> futureSnapshots = new LinkedList<HistoricRecord>(); public LinkedList<HistoricRecord> futureSnapshots = new LinkedList<HistoricRecord>();

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -115,7 +115,7 @@ MonoBehaviour:
m_MinSize: {x: 678, y: 471} m_MinSize: {x: 678, y: 471}
m_MaxSize: {x: 14000, y: 14021} m_MaxSize: {x: 14000, y: 14021}
vertical: 0 vertical: 0
controlID: 6558 controlID: 8042
--- !u!114 &6 --- !u!114 &6
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 52 m_ObjectHideFlags: 52
@ -135,12 +135,12 @@ MonoBehaviour:
serializedVersion: 2 serializedVersion: 2
x: 0 x: 0
y: 0 y: 0
width: 1524 width: 1314
height: 947 height: 947
m_MinSize: {x: 403, y: 471} m_MinSize: {x: 403, y: 471}
m_MaxSize: {x: 10000, y: 14021} m_MaxSize: {x: 10000, y: 14021}
vertical: 1 vertical: 1
controlID: 6559 controlID: 8043
--- !u!114 &7 --- !u!114 &7
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 52 m_ObjectHideFlags: 52
@ -160,12 +160,12 @@ MonoBehaviour:
serializedVersion: 2 serializedVersion: 2
x: 0 x: 0
y: 0 y: 0
width: 1524 width: 1314
height: 648 height: 426
m_MinSize: {x: 403, y: 221} m_MinSize: {x: 403, y: 221}
m_MaxSize: {x: 8003, y: 4021} m_MaxSize: {x: 8003, y: 4021}
vertical: 0 vertical: 0
controlID: 6560 controlID: 8044
--- !u!114 &8 --- !u!114 &8
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 52 m_ObjectHideFlags: 52
@ -183,8 +183,8 @@ MonoBehaviour:
serializedVersion: 2 serializedVersion: 2
x: 0 x: 0
y: 0 y: 0
width: 384 width: 441
height: 648 height: 426
m_MinSize: {x: 201, y: 221} m_MinSize: {x: 201, y: 221}
m_MaxSize: {x: 4001, y: 4021} m_MaxSize: {x: 4001, y: 4021}
m_ActualView: {fileID: 13} m_ActualView: {fileID: 13}
@ -207,10 +207,10 @@ MonoBehaviour:
m_Children: [] m_Children: []
m_Position: m_Position:
serializedVersion: 2 serializedVersion: 2
x: 384 x: 441
y: 0 y: 0
width: 1140 width: 873
height: 648 height: 426
m_MinSize: {x: 202, y: 221} m_MinSize: {x: 202, y: 221}
m_MaxSize: {x: 4002, y: 4021} m_MaxSize: {x: 4002, y: 4021}
m_ActualView: {fileID: 14} m_ActualView: {fileID: 14}
@ -237,9 +237,9 @@ MonoBehaviour:
m_Position: m_Position:
serializedVersion: 2 serializedVersion: 2
x: 0 x: 0
y: 648 y: 426
width: 1524 width: 1314
height: 299 height: 521
m_MinSize: {x: 231, y: 271} m_MinSize: {x: 231, y: 271}
m_MaxSize: {x: 10001, y: 10021} m_MaxSize: {x: 10001, y: 10021}
m_ActualView: {fileID: 17} m_ActualView: {fileID: 17}
@ -264,9 +264,9 @@ MonoBehaviour:
m_Children: [] m_Children: []
m_Position: m_Position:
serializedVersion: 2 serializedVersion: 2
x: 1524 x: 1314
y: 0 y: 0
width: 396 width: 606
height: 947 height: 947
m_MinSize: {x: 276, y: 71} m_MinSize: {x: 276, y: 71}
m_MaxSize: {x: 4001, y: 4021} m_MaxSize: {x: 4001, y: 4021}
@ -296,10 +296,10 @@ MonoBehaviour:
m_Tooltip: m_Tooltip:
m_Pos: m_Pos:
serializedVersion: 2 serializedVersion: 2
x: 385 x: 442
y: 19 y: 19
width: 1138 width: 871
height: 627 height: 405
m_ViewDataDictionary: {fileID: 0} m_ViewDataDictionary: {fileID: 0}
m_SerializedViewNames: [] m_SerializedViewNames: []
m_SerializedViewValues: [] m_SerializedViewValues: []
@ -309,7 +309,7 @@ MonoBehaviour:
m_ShowGizmos: 0 m_ShowGizmos: 0
m_TargetDisplay: 0 m_TargetDisplay: 0
m_ClearColor: {r: 0, g: 0, b: 0, a: 0} m_ClearColor: {r: 0, g: 0, b: 0, a: 0}
m_TargetSize: {x: 1138, y: 606} m_TargetSize: {x: 871, y: 384}
m_TextureFilterMode: 0 m_TextureFilterMode: 0
m_TextureHideFlags: 61 m_TextureHideFlags: 61
m_RenderIMGUI: 1 m_RenderIMGUI: 1
@ -390,15 +390,15 @@ MonoBehaviour:
serializedVersion: 2 serializedVersion: 2
x: 0 x: 0
y: 73 y: 73
width: 383 width: 440
height: 627 height: 405
m_ViewDataDictionary: {fileID: 0} m_ViewDataDictionary: {fileID: 0}
m_SceneHierarchy: m_SceneHierarchy:
m_TreeViewState: m_TreeViewState:
scrollPos: {x: 0, y: 0} scrollPos: {x: 0, y: 0}
m_SelectedIDs: m_SelectedIDs:
m_LastClickedID: 0 m_LastClickedID: 0
m_ExpandedIDs: ec32feff0033feffa633feff668afeff888afeffb68afeffc4cbfeffdacbfeff84ccfeffd6d6ffffead6ffff8cd7ffffe6d9fffffad9ffff98daffff5ae9ffff6ee9ffff0ceaffff62fbffffb2be0000a2c20000940a0100620c010052100100 m_ExpandedIDs: d81effffec1effff8a1fffff0c58ffff2058ffffbe58ffff787cffff4afbffffa23a00003e3d0000e83f0000
m_RenameOverlay: m_RenameOverlay:
m_UserAcceptedRename: 0 m_UserAcceptedRename: 0
m_Name: m_Name:
@ -443,10 +443,10 @@ MonoBehaviour:
m_Tooltip: m_Tooltip:
m_Pos: m_Pos:
serializedVersion: 2 serializedVersion: 2
x: 384 x: 441
y: 73 y: 73
width: 1138 width: 871
height: 627 height: 405
m_ViewDataDictionary: {fileID: 0} m_ViewDataDictionary: {fileID: 0}
m_ShowContextualTools: 0 m_ShowContextualTools: 0
m_WindowGUID: 352ee9c972596684b9fdf9db32bf21bf m_WindowGUID: 352ee9c972596684b9fdf9db32bf21bf
@ -1087,9 +1087,9 @@ MonoBehaviour:
m_Pos: m_Pos:
serializedVersion: 2 serializedVersion: 2
x: 0 x: 0
y: 721 y: 499
width: 1523 width: 1313
height: 278 height: 500
m_ViewDataDictionary: {fileID: 0} m_ViewDataDictionary: {fileID: 0}
m_SearchFilter: m_SearchFilter:
m_NameFilter: m_NameFilter:
@ -1115,9 +1115,9 @@ MonoBehaviour:
m_IsLocked: 0 m_IsLocked: 0
m_FolderTreeState: m_FolderTreeState:
scrollPos: {x: 0, y: 0} scrollPos: {x: 0, y: 0}
m_SelectedIDs: 20480000 m_SelectedIDs: 14480000
m_LastClickedID: 18464 m_LastClickedID: 18452
m_ExpandedIDs: 00000000fc470000fe470000004800000248000004480000184800002048000000ca9a3b m_ExpandedIDs: 00000000084800000a4800000c4800000e48000010480000124800001448000000ca9a3b
m_RenameOverlay: m_RenameOverlay:
m_UserAcceptedRename: 0 m_UserAcceptedRename: 0
m_Name: m_Name:
@ -1145,7 +1145,7 @@ MonoBehaviour:
scrollPos: {x: 0, y: 0} scrollPos: {x: 0, y: 0}
m_SelectedIDs: m_SelectedIDs:
m_LastClickedID: 0 m_LastClickedID: 0
m_ExpandedIDs: 00000000fc470000fe470000004800000248000004480000184800002048000000ca9a3b m_ExpandedIDs: 00000000084800000a4800000c4800000e48000010480000124800001448000000ca9a3b
m_RenameOverlay: m_RenameOverlay:
m_UserAcceptedRename: 0 m_UserAcceptedRename: 0
m_Name: m_Name:
@ -1172,7 +1172,7 @@ MonoBehaviour:
m_ListAreaState: m_ListAreaState:
m_SelectedInstanceIDs: m_SelectedInstanceIDs:
m_LastClickedInstanceID: 0 m_LastClickedInstanceID: 0
m_HadKeyboardFocusLastEvent: 0 m_HadKeyboardFocusLastEvent: 1
m_ExpandedInstanceIDs: c6230000303a0000063a0000a83d00005c66000000870000f8860000004a00004a4600000c43000000000000 m_ExpandedInstanceIDs: c6230000303a0000063a0000a83d00005c66000000870000f8860000004a00004a4600000c43000000000000
m_RenameOverlay: m_RenameOverlay:
m_UserAcceptedRename: 0 m_UserAcceptedRename: 0
@ -1279,9 +1279,9 @@ MonoBehaviour:
m_Tooltip: m_Tooltip:
m_Pos: m_Pos:
serializedVersion: 2 serializedVersion: 2
x: 1524 x: 1314
y: 73 y: 73
width: 395 width: 605
height: 926 height: 926
m_ViewDataDictionary: {fileID: 0} m_ViewDataDictionary: {fileID: 0}
m_OpenAddComponentMenu: 0 m_OpenAddComponentMenu: 0
@ -1295,4 +1295,4 @@ MonoBehaviour:
m_PrefName: Preview_InspectorPreview m_PrefName: Preview_InspectorPreview
m_PreviewWindow: {fileID: 0} m_PreviewWindow: {fileID: 0}
m_LastInspectedObjectInstanceID: -1 m_LastInspectedObjectInstanceID: -1
m_LastVerticalScrollValue: 100 m_LastVerticalScrollValue: 0

View File

@ -24,7 +24,7 @@ MonoBehaviour:
m_MinSize: {x: 678, y: 471} m_MinSize: {x: 678, y: 471}
m_MaxSize: {x: 14000, y: 14021} m_MaxSize: {x: 14000, y: 14021}
vertical: 0 vertical: 0
controlID: 6238 controlID: 7920
--- !u!114 &2 --- !u!114 &2
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 52 m_ObjectHideFlags: 52
@ -46,10 +46,10 @@ MonoBehaviour:
m_Tooltip: m_Tooltip:
m_Pos: m_Pos:
serializedVersion: 2 serializedVersion: 2
x: 385 x: 442
y: 19 y: 19
width: 1138 width: 871
height: 627 height: 405
m_ViewDataDictionary: {fileID: 0} m_ViewDataDictionary: {fileID: 0}
m_SerializedViewNames: [] m_SerializedViewNames: []
m_SerializedViewValues: [] m_SerializedViewValues: []
@ -59,7 +59,7 @@ MonoBehaviour:
m_ShowGizmos: 0 m_ShowGizmos: 0
m_TargetDisplay: 0 m_TargetDisplay: 0
m_ClearColor: {r: 0, g: 0, b: 0, a: 0} m_ClearColor: {r: 0, g: 0, b: 0, a: 0}
m_TargetSize: {x: 1138, y: 606} m_TargetSize: {x: 871, y: 384}
m_TextureFilterMode: 0 m_TextureFilterMode: 0
m_TextureHideFlags: 61 m_TextureHideFlags: 61
m_RenderIMGUI: 1 m_RenderIMGUI: 1
@ -74,10 +74,10 @@ MonoBehaviour:
m_VRangeLocked: 0 m_VRangeLocked: 0
hZoomLockedByDefault: 0 hZoomLockedByDefault: 0
vZoomLockedByDefault: 0 vZoomLockedByDefault: 0
m_HBaseRangeMin: -569 m_HBaseRangeMin: -435.5
m_HBaseRangeMax: 569 m_HBaseRangeMax: 435.5
m_VBaseRangeMin: -303 m_VBaseRangeMin: -192
m_VBaseRangeMax: 303 m_VBaseRangeMax: 192
m_HAllowExceedBaseRangeMin: 1 m_HAllowExceedBaseRangeMin: 1
m_HAllowExceedBaseRangeMax: 1 m_HAllowExceedBaseRangeMax: 1
m_VAllowExceedBaseRangeMin: 1 m_VAllowExceedBaseRangeMin: 1
@ -95,23 +95,23 @@ MonoBehaviour:
serializedVersion: 2 serializedVersion: 2
x: 0 x: 0
y: 21 y: 21
width: 1138 width: 871
height: 606 height: 384
m_Scale: {x: 1, y: 1} m_Scale: {x: 1, y: 1}
m_Translation: {x: 569, y: 303} m_Translation: {x: 435.5, y: 192}
m_MarginLeft: 0 m_MarginLeft: 0
m_MarginRight: 0 m_MarginRight: 0
m_MarginTop: 0 m_MarginTop: 0
m_MarginBottom: 0 m_MarginBottom: 0
m_LastShownAreaInsideMargins: m_LastShownAreaInsideMargins:
serializedVersion: 2 serializedVersion: 2
x: -569 x: -435.5
y: -303 y: -192
width: 1138 width: 871
height: 606 height: 384
m_MinimalGUI: 1 m_MinimalGUI: 1
m_defaultScale: 1 m_defaultScale: 1
m_LastWindowPixelSize: {x: 1138, y: 627} m_LastWindowPixelSize: {x: 871, y: 405}
m_ClearInEditMode: 1 m_ClearInEditMode: 1
m_NoCameraWarning: 1 m_NoCameraWarning: 1
m_LowResolutionForAspectRatios: 01000000000000000000 m_LowResolutionForAspectRatios: 01000000000000000000
@ -136,12 +136,12 @@ MonoBehaviour:
serializedVersion: 2 serializedVersion: 2
x: 0 x: 0
y: 0 y: 0
width: 1524 width: 1314
height: 947 height: 947
m_MinSize: {x: 403, y: 471} m_MinSize: {x: 403, y: 471}
m_MaxSize: {x: 10000, y: 14021} m_MaxSize: {x: 10000, y: 14021}
vertical: 1 vertical: 1
controlID: 6239 controlID: 7921
--- !u!114 &4 --- !u!114 &4
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 52 m_ObjectHideFlags: 52
@ -161,12 +161,12 @@ MonoBehaviour:
serializedVersion: 2 serializedVersion: 2
x: 0 x: 0
y: 0 y: 0
width: 1524 width: 1314
height: 648 height: 426
m_MinSize: {x: 403, y: 221} m_MinSize: {x: 403, y: 221}
m_MaxSize: {x: 8003, y: 4021} m_MaxSize: {x: 8003, y: 4021}
vertical: 0 vertical: 0
controlID: 6240 controlID: 7890
--- !u!114 &5 --- !u!114 &5
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 52 m_ObjectHideFlags: 52
@ -184,8 +184,8 @@ MonoBehaviour:
serializedVersion: 2 serializedVersion: 2
x: 0 x: 0
y: 0 y: 0
width: 384 width: 441
height: 648 height: 426
m_MinSize: {x: 201, y: 221} m_MinSize: {x: 201, y: 221}
m_MaxSize: {x: 4001, y: 4021} m_MaxSize: {x: 4001, y: 4021}
m_ActualView: {fileID: 6} m_ActualView: {fileID: 6}
@ -216,15 +216,15 @@ MonoBehaviour:
serializedVersion: 2 serializedVersion: 2
x: 0 x: 0
y: 73 y: 73
width: 383 width: 440
height: 627 height: 405
m_ViewDataDictionary: {fileID: 0} m_ViewDataDictionary: {fileID: 0}
m_SceneHierarchy: m_SceneHierarchy:
m_TreeViewState: m_TreeViewState:
scrollPos: {x: 0, y: 0} scrollPos: {x: 0, y: 0}
m_SelectedIDs: m_SelectedIDs:
m_LastClickedID: 0 m_LastClickedID: 0
m_ExpandedIDs: 668afeff888afeffb68afeffc4cbfeffdacbfeff84ccfeffd6d6ffffead6ffff8cd7ffffe6d9fffffad9ffff98daffff5ae9ffff6ee9ffff0ceaffff62fbffffb2be0000a2c20000940a0100620c010052100100 m_ExpandedIDs: 0c58ffff2058ffffbe58ffff787cffff4afbffffa23a00003e3d0000e83f0000
m_RenameOverlay: m_RenameOverlay:
m_UserAcceptedRename: 0 m_UserAcceptedRename: 0
m_Name: m_Name:
@ -263,10 +263,10 @@ MonoBehaviour:
m_Children: [] m_Children: []
m_Position: m_Position:
serializedVersion: 2 serializedVersion: 2
x: 384 x: 441
y: 0 y: 0
width: 1140 width: 873
height: 648 height: 426
m_MinSize: {x: 202, y: 221} m_MinSize: {x: 202, y: 221}
m_MaxSize: {x: 4002, y: 4021} m_MaxSize: {x: 4002, y: 4021}
m_ActualView: {fileID: 2} m_ActualView: {fileID: 2}
@ -298,10 +298,10 @@ MonoBehaviour:
m_Tooltip: m_Tooltip:
m_Pos: m_Pos:
serializedVersion: 2 serializedVersion: 2
x: 384 x: 441
y: 73 y: 73
width: 1138 width: 871
height: 627 height: 405
m_ViewDataDictionary: {fileID: 0} m_ViewDataDictionary: {fileID: 0}
m_ShowContextualTools: 0 m_ShowContextualTools: 0
m_WindowGUID: 352ee9c972596684b9fdf9db32bf21bf m_WindowGUID: 352ee9c972596684b9fdf9db32bf21bf
@ -936,11 +936,11 @@ MonoBehaviour:
m_Position: m_Position:
serializedVersion: 2 serializedVersion: 2
x: 0 x: 0
y: 648 y: 426
width: 1524 width: 1314
height: 299 height: 521
m_MinSize: {x: 230, y: 250} m_MinSize: {x: 231, y: 271}
m_MaxSize: {x: 10000, y: 10000} m_MaxSize: {x: 10001, y: 10021}
m_ActualView: {fileID: 12} m_ActualView: {fileID: 12}
m_Panes: m_Panes:
- {fileID: 12} - {fileID: 12}
@ -970,9 +970,9 @@ MonoBehaviour:
m_Pos: m_Pos:
serializedVersion: 2 serializedVersion: 2
x: 0 x: 0
y: 721 y: 499
width: 1523 width: 1313
height: 278 height: 500
m_ViewDataDictionary: {fileID: 0} m_ViewDataDictionary: {fileID: 0}
m_SearchFilter: m_SearchFilter:
m_NameFilter: m_NameFilter:
@ -998,9 +998,9 @@ MonoBehaviour:
m_IsLocked: 0 m_IsLocked: 0
m_FolderTreeState: m_FolderTreeState:
scrollPos: {x: 0, y: 0} scrollPos: {x: 0, y: 0}
m_SelectedIDs: 20480000 m_SelectedIDs: 14480000
m_LastClickedID: 18464 m_LastClickedID: 18452
m_ExpandedIDs: 00000000fc470000fe470000004800000248000004480000184800002048000000ca9a3b m_ExpandedIDs: 00000000084800000a4800000c4800000e48000010480000124800001448000000ca9a3b
m_RenameOverlay: m_RenameOverlay:
m_UserAcceptedRename: 0 m_UserAcceptedRename: 0
m_Name: m_Name:
@ -1028,7 +1028,7 @@ MonoBehaviour:
scrollPos: {x: 0, y: 0} scrollPos: {x: 0, y: 0}
m_SelectedIDs: m_SelectedIDs:
m_LastClickedID: 0 m_LastClickedID: 0
m_ExpandedIDs: 00000000fc470000fe470000004800000248000004480000184800002048000000ca9a3b m_ExpandedIDs: 00000000084800000a4800000c4800000e48000010480000124800001448000000ca9a3b
m_RenameOverlay: m_RenameOverlay:
m_UserAcceptedRename: 0 m_UserAcceptedRename: 0
m_Name: m_Name:
@ -1053,8 +1053,8 @@ MonoBehaviour:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_ResourceFile: m_ResourceFile:
m_ListAreaState: m_ListAreaState:
m_SelectedInstanceIDs: 52460000 m_SelectedInstanceIDs:
m_LastClickedInstanceID: 18002 m_LastClickedInstanceID: 0
m_HadKeyboardFocusLastEvent: 0 m_HadKeyboardFocusLastEvent: 0
m_ExpandedInstanceIDs: c6230000303a0000063a0000a83d00005c66000000870000f8860000004a00004a4600000c43000000000000 m_ExpandedInstanceIDs: c6230000303a0000063a0000a83d00005c66000000870000f8860000004a00004a4600000c43000000000000
m_RenameOverlay: m_RenameOverlay:
@ -1156,12 +1156,12 @@ MonoBehaviour:
m_Children: [] m_Children: []
m_Position: m_Position:
serializedVersion: 2 serializedVersion: 2
x: 1524 x: 1314
y: 0 y: 0
width: 396 width: 606
height: 947 height: 947
m_MinSize: {x: 275, y: 50} m_MinSize: {x: 276, y: 71}
m_MaxSize: {x: 4000, y: 4000} m_MaxSize: {x: 4001, y: 4021}
m_ActualView: {fileID: 16} m_ActualView: {fileID: 16}
m_Panes: m_Panes:
- {fileID: 16} - {fileID: 16}
@ -1188,9 +1188,9 @@ MonoBehaviour:
m_Tooltip: m_Tooltip:
m_Pos: m_Pos:
serializedVersion: 2 serializedVersion: 2
x: 1524 x: 1314
y: 73 y: 73
width: 395 width: 605
height: 926 height: 926
m_ViewDataDictionary: {fileID: 0} m_ViewDataDictionary: {fileID: 0}
m_OpenAddComponentMenu: 0 m_OpenAddComponentMenu: 0
@ -1203,5 +1203,5 @@ MonoBehaviour:
m_ControlHash: -371814159 m_ControlHash: -371814159
m_PrefName: Preview_InspectorPreview m_PrefName: Preview_InspectorPreview
m_PreviewWindow: {fileID: 0} m_PreviewWindow: {fileID: 0}
m_LastInspectedObjectInstanceID: 18002 m_LastInspectedObjectInstanceID: -1
m_LastVerticalScrollValue: 100 m_LastVerticalScrollValue: 0

Binary file not shown.

Binary file not shown.

View File

@ -17,6 +17,7 @@ ScriptsOnlyBuild:
- RimWorldAnimationStudio.Chaser - RimWorldAnimationStudio.Chaser
- RimWorldAnimationStudio.ConsoleMessagesDialog - RimWorldAnimationStudio.ConsoleMessagesDialog
- RimWorldAnimationStudio.DialogBox - RimWorldAnimationStudio.DialogBox
- RimWorldAnimationStudio.InputManager
- RimWorldAnimationStudio.KeyframeSlider - RimWorldAnimationStudio.KeyframeSlider
- RimWorldAnimationStudio.QuiverToggle - RimWorldAnimationStudio.QuiverToggle
- RimWorldAnimationStudio.RaceSettingsDialog - RimWorldAnimationStudio.RaceSettingsDialog
@ -110,39 +111,39 @@ ScriptsOnlyBuild:
- Class: 114 - Class: 114
Script: {instanceID: 11262} Script: {instanceID: 11262}
- Class: 114 - Class: 114
Script: {instanceID: 11288} Script: {instanceID: 11290}
- Class: 114 - Class: 114
Script: {instanceID: 11448} Script: {instanceID: 11450}
- Class: 114 - Class: 114
Script: {instanceID: 11500} Script: {instanceID: 11502}
- Class: 114
Script: {instanceID: 11596}
- Class: 114 - Class: 114
Script: {instanceID: 11598} Script: {instanceID: 11598}
- Class: 114 - Class: 114
Script: {instanceID: 11652} Script: {instanceID: 11600}
- Class: 114 - Class: 114
Script: {instanceID: 11728} Script: {instanceID: 11654}
- Class: 114 - Class: 114
Script: {instanceID: 11752} Script: {instanceID: 11730}
- Class: 114 - Class: 114
Script: {instanceID: 11764} Script: {instanceID: 11754}
- Class: 114 - Class: 114
Script: {instanceID: 11774} Script: {instanceID: 11766}
- Class: 114 - Class: 114
Script: {instanceID: 11796} Script: {instanceID: 11776}
- Class: 114 - Class: 114
Script: {instanceID: 11858} Script: {instanceID: 11798}
- Class: 114 - Class: 114
Script: {instanceID: 12128} Script: {instanceID: 11860}
- Class: 114 - Class: 114
Script: {instanceID: 12164} Script: {instanceID: 12130}
- Class: 114 - Class: 114
Script: {instanceID: 12330} Script: {instanceID: 12166}
- Class: 114 - Class: 114
Script: {instanceID: 12344} Script: {instanceID: 12332}
- Class: 114 - Class: 114
Script: {instanceID: 12592} Script: {instanceID: 12346}
- Class: 114
Script: {instanceID: 12594}
- Class: 114 - Class: 114
Script: {instanceID: 12708} Script: {instanceID: 12708}
- Class: 114 - Class: 114
@ -186,23 +187,25 @@ ScriptsOnlyBuild:
- Class: 114 - Class: 114
Script: {instanceID: 14060} Script: {instanceID: 14060}
- Class: 114 - Class: 114
Script: {instanceID: 14140} Script: {instanceID: 14142}
- Class: 114 - Class: 114
Script: {instanceID: 14154} Script: {instanceID: 14156}
- Class: 114 - Class: 114
Script: {instanceID: 14302} Script: {instanceID: 14304}
- Class: 114 - Class: 114
Script: {instanceID: 14474} Script: {instanceID: 14450}
- Class: 114 - Class: 114
Script: {instanceID: 14506} Script: {instanceID: 14478}
- Class: 114 - Class: 114
Script: {instanceID: 14528} Script: {instanceID: 14510}
- Class: 114 - Class: 114
Script: {instanceID: 14530} Script: {instanceID: 14532}
- Class: 114 - Class: 114
Script: {instanceID: 14570} Script: {instanceID: 14534}
- Class: 114 - Class: 114
Script: {instanceID: 14576} Script: {instanceID: 14574}
- Class: 114
Script: {instanceID: 14580}
- Class: 115 - Class: 115
Script: {instanceID: 0} Script: {instanceID: 0}
- Class: 128 - Class: 128
@ -800,7 +803,7 @@ ScriptsOnlyBuild:
className: TMP_StyleSheet className: TMP_StyleSheet
- hash: - hash:
serializedVersion: 2 serializedVersion: 2
Hash: 155fa65a94dae986077e1915a319a469 Hash: d0af3b54d34686d4fe1d5fd42b74380d
assemblyName: Assembly-CSharp.dll assemblyName: Assembly-CSharp.dll
namespaceName: RimWorldAnimationStudio namespaceName: RimWorldAnimationStudio
className: ApplicationManager className: ApplicationManager
@ -846,6 +849,12 @@ ScriptsOnlyBuild:
assemblyName: Unity.TextMeshPro.dll assemblyName: Unity.TextMeshPro.dll
namespaceName: TMPro namespaceName: TMPro
className: TMP_SubMesh className: TMP_SubMesh
- hash:
serializedVersion: 2
Hash: 71bb6a6b6c8f052f948db64c7dd3ca4f
assemblyName: Assembly-CSharp.dll
namespaceName: RimWorldAnimationStudio
className: InputManager
- hash: - hash:
serializedVersion: 2 serializedVersion: 2
Hash: 71bb6a6b6c8f052f948db64c7dd3ca4f Hash: 71bb6a6b6c8f052f948db64c7dd3ca4f

Binary file not shown.