Key snapping

This commit is contained in:
AbstractConcept 2022-10-03 21:45:52 -05:00
parent 5436410162
commit f275ed90ae
101 changed files with 253 additions and 117 deletions

View File

@ -121,6 +121,7 @@
<Compile Include="Assets\Scripts\NumberValidator.cs" />
<Compile Include="Assets\Scripts\RequiresAnimationDef.cs" />
<Compile Include="Assets\Scripts\Singleton.cs" />
<Compile Include="Assets\Scripts\SnapToKeyframe.cs" />
<Compile Include="Assets\Scripts\Utilities\PawnUtility.cs" />
<Compile Include="Assets\Scripts\Utilities\XmlUtility.cs" />
<Compile Include="Assets\Scripts\Workspace\HistoricRecord.cs" />

View File

@ -911,7 +911,7 @@ MonoBehaviour:
m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_CustomCaretColor: 0
m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412}
m_Text: 1
m_Text: 0
m_CaretBlinkRate: 0.85
m_CaretWidth: 1
m_ReadOnly: 0
@ -1649,8 +1649,8 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 439, y: -7.5}
m_SizeDelta: {x: 878, y: 15}
m_AnchoredPosition: {x: 305.5, y: -7.5}
m_SizeDelta: {x: 611, y: 15}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &138865805
MonoBehaviour:
@ -16133,6 +16133,7 @@ GameObject:
m_Component:
- component: {fileID: 1289465654}
- component: {fileID: 1289465655}
- component: {fileID: 1289465656}
m_Layer: 5
m_Name: AnimTimelineSlider
m_TagString: Untagged
@ -16225,6 +16226,18 @@ MonoBehaviour:
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
--- !u!114 &1289465656
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1289465653}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9b19816966eab6a4eba748f04532fb61, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &1293104865
GameObject:
m_ObjectHideFlags: 0
@ -19044,7 +19057,7 @@ MonoBehaviour:
m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_CustomCaretColor: 0
m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412}
m_Text: 1
m_Text: 0
m_CaretBlinkRate: 0.85
m_CaretWidth: 1
m_ReadOnly: 0

View File

@ -128,6 +128,15 @@ namespace RimWorldAnimationStudio
interactable = true;
base.OnDrag(eventData);
int targetTick = Workspace.FindClosestKeyFrameAtTick(keyframe.atTick.Value, Mathf.CeilToInt(Workspace.StageWindowSize * 0.01f), actorID);
if (Input.GetKey(KeyCode.LeftShift) && Workspace.Instance.DoesPawnKeyframeExistAtTick(Workspace.stageID, actorID, targetTick) == false)
{ value = (float)targetTick; }
// Prevent frames from being moved to tick 1
if (value == 1)
{ value = 2; }
//AnimationController.Instance.stageTick = keyframe.atTick.Value;
Workspace.actorID = actorID;
}

View File

@ -95,8 +95,8 @@ namespace RimWorldAnimationStudio
else
{
stageTick = Workspace.StageWindowSize;
isAnimating = false;
//stageTick = Workspace.StageWindowSize;
//isAnimating = false;
}
}
}
@ -132,10 +132,10 @@ 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; }
{ return; }
if (actorID >= Workspace.animationDef?.animationStages[Workspace.stageID]?.animationClips.Count)
{ /*Debug.Log("Waiting for animation clip data to initialize...");*/ return; }
{ return; }
Actor actor = Workspace.animationDef.actors[actorID];
PawnAnimationClip clip = Workspace.animationDef?.animationStages[Workspace.stageID]?.animationClips[actorID];
@ -146,6 +146,9 @@ namespace RimWorldAnimationStudio
float clipPercent = (float)(stageTick % clip.duration) / clip.duration;
if (stageTick == clip.duration) clipPercent = 1f;
if (Workspace.animationDef.animationStages[Workspace.stageID].isLooping == false)
{ clipPercent = (float)stageTick / clip.duration; }
AlienRaceDef alienRaceDef = actor.GetAlienRaceDef();
ActorBody actorBody = _actorBodies[actorID];
string bodyType = alienRaceDef.isHumanoid ? actor.bodyType : "None";
@ -155,15 +158,6 @@ namespace RimWorldAnimationStudio
float bodyAngle = clip.BodyAngle.Evaluate(clipPercent);
float headAngle = clip.HeadAngle.Evaluate(clipPercent);
/*if (bodyAngle < 0) bodyAngle = 360 - ((-1f * bodyAngle) % 360);
if (bodyAngle > 360) bodyAngle %= 360;
if (headAngle < 0) headAngle = 360 - ((-1f * headAngle) % 360);
if (headAngle > 360) headAngle %= 360;
bodyAngle = bodyAngle > 180 ? 180 - bodyAngle : bodyAngle;
headAngle = headAngle > 180 ? 180 - headAngle : headAngle;*/
int bodyFacing = (int)clip.BodyFacing.Evaluate(clipPercent);
int headFacing = (int)clip.HeadFacing.Evaluate(clipPercent);
@ -233,7 +227,9 @@ namespace RimWorldAnimationStudio
public void InitializeAnimationTimeline()
{
cyclesNormalField.text = Mathf.Max(Mathf.CeilToInt((float)Workspace.animationDef.animationStages[Workspace.stageID].playTimeTicks / Workspace.StageWindowSize), 1).ToString();
cyclesFastField.text = Mathf.Max(Mathf.CeilToInt((float)Workspace.animationDef.animationStages[Workspace.stageID].playTimeTicksQuick / Workspace.StageWindowSize), 1).ToString();
cyclesFastField.text = Mathf.Max(Mathf.CeilToInt((float)Workspace.animationDef.animationStages[Workspace.stageID].playTimeTicksQuick / Workspace.StageWindowSize), 0).ToString();
Workspace.animationDef.animationStages[Workspace.stageID].isLooping = int.Parse(cyclesNormalField.text) > 1 ? true : false;
for (int actorID = 0; actorID < Workspace.animationDef.actors.Count; actorID++)
{

View File

@ -0,0 +1,26 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
namespace RimWorldAnimationStudio
{
public class SnapToKeyframe : MonoBehaviour, IDragHandler
{
private Slider slider;
public void Start()
{
slider = GetComponent<Slider>();
}
public void OnDrag(PointerEventData eventData)
{
int targetTick = Workspace.FindClosestKeyFrameAtTick((int)slider.value, Mathf.CeilToInt(Workspace.StageWindowSize * 0.01f));
if (Input.GetKey(KeyCode.LeftShift))
{ slider.value = (float)targetTick; }
}
}
}

View File

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

View File

@ -103,7 +103,77 @@ namespace RimWorldAnimationStudio
return null;
}
public bool DoesPawnKeyframeExistAtTick(int stageID, int actorID, int atTick)
{
return animationDef.animationStages[stageID].animationClips[actorID].keyframes.Any(x => x.atTick == atTick);
}
public static void FindAdjacentKeyframes(int atTick, out PawnKeyframe prevKeyframe, out PawnKeyframe nextKeyframe, int actorID = -1, int excludedActorID = -1, bool ignoreSelf = true, int searchDistance = int.MaxValue)
{
prevKeyframe = null;
nextKeyframe = null;
List<PawnKeyframe> keyframesToCheck;
if (actorID >= 0)
{ keyframesToCheck = animationDef.animationStages[stageID].animationClips[actorID].keyframes; }
else
{
keyframesToCheck = animationDef.animationStages[stageID].animationClips.Where(x =>
animationDef.animationStages[stageID].animationClips.IndexOf(x) != excludedActorID).SelectMany(x => x.keyframes)?.ToList();
}
foreach (PawnKeyframe keyframe in keyframesToCheck)
{
if (keyframe.atTick <= atTick && atTick - keyframe.atTick <= searchDistance)
{
if (keyframe.atTick != atTick || ignoreSelf)
{ prevKeyframe = keyframe; }
else
{ prevKeyframe = null; }
}
if (nextKeyframe == null && keyframe.atTick > atTick && keyframe.atTick - atTick <= searchDistance)
{ nextKeyframe = keyframe; }
}
}
public static int FindClosestKeyFrameAtTick(int atTick, int searchDistance = int.MaxValue, int excludedActorID = -1)
{
List<PawnKeyframe> keyframesToCheck;
if (excludedActorID >= 0)
{
keyframesToCheck = animationDef.animationStages[stageID].animationClips.Where(x =>
animationDef.animationStages[stageID].animationClips.IndexOf(x) != excludedActorID).SelectMany(x => x.keyframes)?.ToList();
}
else
{ keyframesToCheck = animationDef.animationStages[stageID].animationClips.SelectMany(x => x.keyframes)?.ToList(); }
keyframesToCheck = keyframesToCheck.Where(x => Mathf.Abs(atTick - x.atTick.Value) <= searchDistance)?.ToList();
if (keyframesToCheck.NullOrEmpty())
{ return atTick; }
int minDist = int.MaxValue;
int bestAtTick = -1;
foreach (PawnKeyframe keyframe_ in keyframesToCheck)
{
if (Mathf.Abs(keyframe_.atTick.Value - atTick) < minDist)
{
minDist = Mathf.Abs(keyframe_.atTick.Value - atTick);
bestAtTick = keyframe_.atTick.Value;
}
}
return bestAtTick;
}
[SerializeField]
public LinkedList<HistoricRecord> pastSnapshots = new LinkedList<HistoricRecord>();
public LinkedList<HistoricRecord> futureSnapshots = new LinkedList<HistoricRecord>();

View File

@ -19,7 +19,7 @@
<stageName>NewStage</stageName>
<stageIndex>0</stageIndex>
<playTimeTicks>600</playTimeTicks>
<playTimeTicksQuick>-1</playTimeTicksQuick>
<playTimeTicksQuick>600</playTimeTicksQuick>
<isLooping>false</isLooping>
<animationClips>
<li Class="Rimworld_Animations.PawnAnimationClip">

View File

@ -19,7 +19,7 @@
<stageName>NewStage</stageName>
<stageIndex>0</stageIndex>
<playTimeTicks>600</playTimeTicks>
<playTimeTicksQuick>-1</playTimeTicksQuick>
<playTimeTicksQuick>600</playTimeTicksQuick>
<isLooping>false</isLooping>
<animationClips>
<li Class="Rimworld_Animations.PawnAnimationClip">

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

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

@ -21,7 +21,7 @@ MonoBehaviour:
m_ShowMode: 4
m_Title:
m_RootView: {fileID: 2}
m_MinSize: {x: 875, y: 521}
m_MinSize: {x: 875, y: 542}
m_MaxSize: {x: 10000, y: 10000}
m_Maximized: 1
--- !u!114 &2
@ -46,7 +46,7 @@ MonoBehaviour:
y: 0
width: 1920
height: 997
m_MinSize: {x: 875, y: 521}
m_MinSize: {x: 875, y: 542}
m_MaxSize: {x: 10000, y: 10000}
--- !u!114 &3
MonoBehaviour:
@ -112,10 +112,10 @@ MonoBehaviour:
y: 30
width: 1920
height: 947
m_MinSize: {x: 678, y: 471}
m_MaxSize: {x: 14000, y: 14021}
m_MinSize: {x: 678, y: 492}
m_MaxSize: {x: 14002, y: 14042}
vertical: 0
controlID: 8042
controlID: 6748
--- !u!114 &6
MonoBehaviour:
m_ObjectHideFlags: 52
@ -137,10 +137,10 @@ MonoBehaviour:
y: 0
width: 1314
height: 947
m_MinSize: {x: 403, y: 471}
m_MaxSize: {x: 10000, y: 14021}
m_MinSize: {x: 402, y: 492}
m_MaxSize: {x: 10001, y: 14042}
vertical: 1
controlID: 8043
controlID: 6749
--- !u!114 &7
MonoBehaviour:
m_ObjectHideFlags: 52
@ -162,10 +162,10 @@ MonoBehaviour:
y: 0
width: 1314
height: 426
m_MinSize: {x: 403, y: 221}
m_MaxSize: {x: 8003, y: 4021}
m_MinSize: {x: 402, y: 221}
m_MaxSize: {x: 8002, y: 4021}
vertical: 0
controlID: 8044
controlID: 6750
--- !u!114 &8
MonoBehaviour:
m_ObjectHideFlags: 52
@ -398,7 +398,7 @@ MonoBehaviour:
scrollPos: {x: 0, y: 0}
m_SelectedIDs:
m_LastClickedID: 0
m_ExpandedIDs: d81effffec1effff8a1fffff0c58ffff2058ffffbe58ffff787cffff4afbffffa23a00003e3d0000e83f0000
m_ExpandedIDs: f45bfeff085cfeffa65cfeffc661feffda61feff7862fefff6a0feff0aa1feffa8a1feff62fbffffa23a0000f03f0000ba2a0100b62c0100542d0100822d010082300100c4300100e4320100
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
@ -458,9 +458,9 @@ MonoBehaviour:
m_PlayAudio: 0
m_AudioPlay: 0
m_Position:
m_Target: {x: 1077.5, y: 57.5, z: 0}
m_Target: {x: 598.16425, y: 121.84375, z: -73.88001}
speed: 2
m_Value: {x: 1077.5, y: 57.5, z: 0}
m_Value: {x: 598.16425, y: 121.84375, z: -73.88001}
m_RenderMode: 0
m_CameraMode:
drawMode: 0
@ -510,9 +510,9 @@ MonoBehaviour:
speed: 2
m_Value: {x: 0, y: 0, z: 0, w: 1}
m_Size:
m_Target: 829.6356
m_Target: 291.54535
speed: 2
m_Value: 829.6356
m_Value: 291.54535
m_Ortho:
m_Target: 1
speed: 2
@ -1104,20 +1104,20 @@ MonoBehaviour:
m_SkipHidden: 0
m_SearchArea: 1
m_Folders:
- Assets/Resources/Prefabs
- Assets
m_ViewMode: 1
m_StartGridSize: 67
m_LastFolders:
- Assets/Resources/Prefabs
- Assets
m_LastFoldersGridSize: 67
m_LastProjectPath: C:\UnityDev\rimworld-animation-studio
m_LockTracker:
m_IsLocked: 0
m_FolderTreeState:
scrollPos: {x: 0, y: 0}
m_SelectedIDs: 14480000
m_LastClickedID: 18452
m_ExpandedIDs: 00000000084800000a4800000c4800000e48000010480000124800001448000000ca9a3b
m_SelectedIDs: 40480000
m_LastClickedID: 18496
m_ExpandedIDs: 0000000040480000424800004448000046480000484800004a4800004c48000000ca9a3b
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
@ -1145,7 +1145,7 @@ MonoBehaviour:
scrollPos: {x: 0, y: 0}
m_SelectedIDs:
m_LastClickedID: 0
m_ExpandedIDs: 00000000084800000a4800000c4800000e48000010480000124800001448000000ca9a3b
m_ExpandedIDs: 0000000040480000424800004448000046480000484800004a4800004c48000000ca9a3b
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
@ -1172,7 +1172,7 @@ MonoBehaviour:
m_ListAreaState:
m_SelectedInstanceIDs:
m_LastClickedInstanceID: 0
m_HadKeyboardFocusLastEvent: 1
m_HadKeyboardFocusLastEvent: 0
m_ExpandedInstanceIDs: c6230000303a0000063a0000a83d00005c66000000870000f8860000004a00004a4600000c43000000000000
m_RenameOverlay:
m_UserAcceptedRename: 0

View File

@ -21,10 +21,10 @@ MonoBehaviour:
y: 30
width: 1920
height: 947
m_MinSize: {x: 678, y: 471}
m_MaxSize: {x: 14000, y: 14021}
m_MinSize: {x: 678, y: 492}
m_MaxSize: {x: 14002, y: 14042}
vertical: 0
controlID: 7920
controlID: 6521
--- !u!114 &2
MonoBehaviour:
m_ObjectHideFlags: 52
@ -138,10 +138,10 @@ MonoBehaviour:
y: 0
width: 1314
height: 947
m_MinSize: {x: 403, y: 471}
m_MaxSize: {x: 10000, y: 14021}
m_MinSize: {x: 402, y: 492}
m_MaxSize: {x: 10001, y: 14042}
vertical: 1
controlID: 7921
controlID: 6522
--- !u!114 &4
MonoBehaviour:
m_ObjectHideFlags: 52
@ -163,10 +163,10 @@ MonoBehaviour:
y: 0
width: 1314
height: 426
m_MinSize: {x: 403, y: 221}
m_MaxSize: {x: 8003, y: 4021}
m_MinSize: {x: 402, y: 221}
m_MaxSize: {x: 8002, y: 4021}
vertical: 0
controlID: 7890
controlID: 6523
--- !u!114 &5
MonoBehaviour:
m_ObjectHideFlags: 52
@ -186,8 +186,8 @@ MonoBehaviour:
y: 0
width: 441
height: 426
m_MinSize: {x: 201, y: 221}
m_MaxSize: {x: 4001, y: 4021}
m_MinSize: {x: 200, y: 200}
m_MaxSize: {x: 4000, y: 4000}
m_ActualView: {fileID: 6}
m_Panes:
- {fileID: 6}
@ -224,7 +224,7 @@ MonoBehaviour:
scrollPos: {x: 0, y: 0}
m_SelectedIDs:
m_LastClickedID: 0
m_ExpandedIDs: 0c58ffff2058ffffbe58ffff787cffff4afbffffa23a00003e3d0000e83f0000
m_ExpandedIDs: c661feffda61feff7862fefff6a0feff0aa1feffa8a1feff62fbffffa23a0000f03f0000ba2a0100b62c0100542d0100822d010082300100c4300100e4320100
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
@ -313,9 +313,9 @@ MonoBehaviour:
m_PlayAudio: 0
m_AudioPlay: 0
m_Position:
m_Target: {x: 1077.5, y: 57.5, z: 0}
m_Target: {x: 598.16425, y: 121.84375, z: -73.88001}
speed: 2
m_Value: {x: 1077.5, y: 57.5, z: 0}
m_Value: {x: 598.16425, y: 121.84375, z: -73.88001}
m_RenderMode: 0
m_CameraMode:
drawMode: 0
@ -365,9 +365,9 @@ MonoBehaviour:
speed: 2
m_Value: {x: 0, y: 0, z: 0, w: 1}
m_Size:
m_Target: 829.6356
m_Target: 291.54535
speed: 2
m_Value: 829.6356
m_Value: 291.54535
m_Ortho:
m_Target: 1
speed: 2
@ -939,8 +939,8 @@ MonoBehaviour:
y: 426
width: 1314
height: 521
m_MinSize: {x: 231, y: 271}
m_MaxSize: {x: 10001, y: 10021}
m_MinSize: {x: 230, y: 250}
m_MaxSize: {x: 10000, y: 10000}
m_ActualView: {fileID: 12}
m_Panes:
- {fileID: 12}
@ -987,20 +987,20 @@ MonoBehaviour:
m_SkipHidden: 0
m_SearchArea: 1
m_Folders:
- Assets/Resources/Prefabs
- Assets
m_ViewMode: 1
m_StartGridSize: 67
m_LastFolders:
- Assets/Resources/Prefabs
- Assets
m_LastFoldersGridSize: 67
m_LastProjectPath: C:\UnityDev\rimworld-animation-studio
m_LockTracker:
m_IsLocked: 0
m_FolderTreeState:
scrollPos: {x: 0, y: 0}
m_SelectedIDs: 14480000
m_LastClickedID: 18452
m_ExpandedIDs: 00000000084800000a4800000c4800000e48000010480000124800001448000000ca9a3b
m_SelectedIDs: 40480000
m_LastClickedID: 18496
m_ExpandedIDs: 0000000040480000424800004448000046480000484800004a4800004c48000000ca9a3b
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
@ -1028,7 +1028,7 @@ MonoBehaviour:
scrollPos: {x: 0, y: 0}
m_SelectedIDs:
m_LastClickedID: 0
m_ExpandedIDs: 00000000084800000a4800000c4800000e48000010480000124800001448000000ca9a3b
m_ExpandedIDs: 0000000040480000424800004448000046480000484800004a4800004c48000000ca9a3b
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
@ -1160,8 +1160,8 @@ MonoBehaviour:
y: 0
width: 606
height: 947
m_MinSize: {x: 276, y: 71}
m_MaxSize: {x: 4001, y: 4021}
m_MinSize: {x: 275, y: 50}
m_MaxSize: {x: 4000, y: 4000}
m_ActualView: {fileID: 16}
m_Panes:
- {fileID: 16}

Binary file not shown.

Binary file not shown.

View File

@ -31,6 +31,7 @@ ScriptsOnlyBuild:
- RimWorldAnimationStudio.SelectRaceDropdown
- RimWorldAnimationStudio.SelectSexTypesDialog
- RimWorldAnimationStudio.SelectSoundDefDialog
- RimWorldAnimationStudio.SnapToKeyframe
- RimWorldAnimationStudio.StageCard
- RimWorldAnimationStudio.StageCardManager
- RimWorldAnimationStudio.Workspace
@ -111,101 +112,103 @@ ScriptsOnlyBuild:
- Class: 114
Script: {instanceID: 11262}
- Class: 114
Script: {instanceID: 11290}
Script: {instanceID: 11288}
- Class: 114
Script: {instanceID: 11450}
Script: {instanceID: 11448}
- Class: 114
Script: {instanceID: 11502}
Script: {instanceID: 11500}
- Class: 114
Script: {instanceID: 11596}
- Class: 114
Script: {instanceID: 11598}
- Class: 114
Script: {instanceID: 11600}
Script: {instanceID: 11652}
- Class: 114
Script: {instanceID: 11654}
Script: {instanceID: 11728}
- Class: 114
Script: {instanceID: 11730}
Script: {instanceID: 11752}
- Class: 114
Script: {instanceID: 11754}
Script: {instanceID: 11764}
- Class: 114
Script: {instanceID: 11766}
Script: {instanceID: 11774}
- Class: 114
Script: {instanceID: 11776}
Script: {instanceID: 11796}
- Class: 114
Script: {instanceID: 11798}
Script: {instanceID: 11858}
- Class: 114
Script: {instanceID: 11860}
Script: {instanceID: 12128}
- Class: 114
Script: {instanceID: 12130}
Script: {instanceID: 12164}
- Class: 114
Script: {instanceID: 12166}
Script: {instanceID: 12330}
- Class: 114
Script: {instanceID: 12332}
Script: {instanceID: 12344}
- Class: 114
Script: {instanceID: 12346}
Script: {instanceID: 12592}
- Class: 114
Script: {instanceID: 12594}
Script: {instanceID: 12706}
- Class: 114
Script: {instanceID: 12708}
Script: {instanceID: 12730}
- Class: 114
Script: {instanceID: 12732}
Script: {instanceID: 12894}
- Class: 114
Script: {instanceID: 12896}
Script: {instanceID: 13140}
- Class: 114
Script: {instanceID: 13142}
Script: {instanceID: 13164}
- Class: 114
Script: {instanceID: 13166}
Script: {instanceID: 13204}
- Class: 114
Script: {instanceID: 13206}
Script: {instanceID: 13222}
- Class: 114
Script: {instanceID: 13224}
Script: {instanceID: 13232}
- Class: 114
Script: {instanceID: 13234}
Script: {instanceID: 13350}
- Class: 114
Script: {instanceID: 13352}
Script: {instanceID: 13382}
- Class: 114
Script: {instanceID: 13384}
Script: {instanceID: 13420}
- Class: 114
Script: {instanceID: 13422}
Script: {instanceID: 13438}
- Class: 114
Script: {instanceID: 13440}
Script: {instanceID: 13454}
- Class: 114
Script: {instanceID: 13456}
Script: {instanceID: 13466}
- Class: 114
Script: {instanceID: 13468}
Script: {instanceID: 13470}
- Class: 114
Script: {instanceID: 13472}
Script: {instanceID: 13504}
- Class: 114
Script: {instanceID: 13506}
Script: {instanceID: 13622}
- Class: 114
Script: {instanceID: 13624}
Script: {instanceID: 13636}
- Class: 114
Script: {instanceID: 13638}
Script: {instanceID: 13662}
- Class: 114
Script: {instanceID: 13664}
Script: {instanceID: 13864}
- Class: 114
Script: {instanceID: 13866}
Script: {instanceID: 14058}
- Class: 114
Script: {instanceID: 14060}
Script: {instanceID: 14140}
- Class: 114
Script: {instanceID: 14142}
Script: {instanceID: 14154}
- Class: 114
Script: {instanceID: 14156}
Script: {instanceID: 14302}
- Class: 114
Script: {instanceID: 14304}
Script: {instanceID: 14448}
- Class: 114
Script: {instanceID: 14450}
Script: {instanceID: 14476}
- Class: 114
Script: {instanceID: 14478}
Script: {instanceID: 14508}
- Class: 114
Script: {instanceID: 14510}
Script: {instanceID: 14530}
- Class: 114
Script: {instanceID: 14532}
- Class: 114
Script: {instanceID: 14534}
Script: {instanceID: 14572}
- Class: 114
Script: {instanceID: 14574}
Script: {instanceID: 14578}
- Class: 114
Script: {instanceID: 14580}
Script: {instanceID: 79764}
- Class: 115
Script: {instanceID: 0}
- Class: 128
@ -915,6 +918,12 @@ ScriptsOnlyBuild:
assemblyName: Unity.Timeline.dll
namespaceName: UnityEngine.Timeline
className: PlayableTrack
- hash:
serializedVersion: 2
Hash: 71bb6a6b6c8f052f948db64c7dd3ca4f
assemblyName: Assembly-CSharp.dll
namespaceName: RimWorldAnimationStudio
className: SnapToKeyframe
platform: 5
scenePathNames:
- Assets/Scenes/MainScene.unity

Binary file not shown.

View File

@ -1 +1 @@
{"cameraMode":{"drawMode":0,"name":"Shaded","section":"Shading Mode"},"sceneLighting":true,"audioPlay":false,"sceneViewState":{"showFog":true,"showMaterialUpdate":false,"showSkybox":true,"showFlares":true,"showImageEffects":true,"showParticleSystems":true},"in2DMode":true,"pivot":{"x":1077.5,"y":57.5,"z":0.0},"rotation":{"x":0.0,"y":0.0,"z":0.0,"w":1.0},"size":829.6356201171875,"orthographic":true}
{"cameraMode":{"drawMode":0,"name":"Shaded","section":"Shading Mode"},"sceneLighting":true,"audioPlay":false,"sceneViewState":{"showFog":true,"showMaterialUpdate":false,"showSkybox":true,"showFlares":true,"showImageEffects":true,"showParticleSystems":true},"in2DMode":true,"pivot":{"x":598.1642456054688,"y":121.84375,"z":-73.88001251220703},"rotation":{"x":0.0,"y":0.0,"z":0.0,"w":1.0},"size":291.54534912109377,"orthographic":true}

Some files were not shown because too many files have changed in this diff Show More