Bug fixes
- Animation keys should be better synced with the animation (fewer instance of missing keys) - Copied keyframes and cloned stages should no longer be linked to each other -If you delete the first keyframe in a clip, instead of denying you, it will reset the associated actor it to its default starting position - You can now move keyframes over the first one in a clip and override it. If less than two keys remain, new keys will be generated to a minimum of a two - Fixed error when cycling through actor body parts
This commit is contained in:
parent
39f771a720
commit
23f8d8cfec
Binary file not shown.
|
@ -128,7 +128,7 @@ namespace RimWorldAnimationStudio
|
|||
|
||||
public void CloneAnimationStage()
|
||||
{
|
||||
AnimationStage stage = Workspace.GetCurrentAnimationStage().Copy();
|
||||
AnimationStage stage = Workspace.GetCurrentAnimationStage().GetClone();
|
||||
stage.StageName += " (Clone)";
|
||||
|
||||
Workspace.animationDef.AnimationStages.Insert(Workspace.StageID + 1, stage);
|
||||
|
|
|
@ -59,7 +59,7 @@ namespace RimWorldAnimationStudio
|
|||
[XmlIgnore] public int StageLoopsQuick
|
||||
{
|
||||
get { return Mathf.CeilToInt(PlayTimeTicksQuick / Workspace.StageWindowSize); }
|
||||
set { value = Math.Max(0, Math.Min(value, StageLoopsNormal)); PlayTimeTicksQuick = value * Workspace.StageWindowSize; IsLooping = value > 1; }
|
||||
set { value = Math.Max(0, Math.Min(value, StageLoopsNormal)); PlayTimeTicksQuick = value * Workspace.StageWindowSize; }
|
||||
}
|
||||
|
||||
// Local data
|
||||
|
@ -86,13 +86,15 @@ namespace RimWorldAnimationStudio
|
|||
|
||||
public void StretchStageWindow(int newStageWindowSize)
|
||||
{
|
||||
ResizeStageWindow(newStageWindowSize);
|
||||
|
||||
float scale = (float)newStageWindowSize / Workspace.StageWindowSize;
|
||||
|
||||
foreach (PawnAnimationClip clip in AnimationClips)
|
||||
{
|
||||
foreach (PawnKeyframe keyframe in clip.Keyframes)
|
||||
{
|
||||
keyframe.atTick = Mathf.CeilToInt((float)keyframe.atTick.Value * scale);
|
||||
keyframe.atTick = keyframe.atTick == Constants.minTick ? Constants.minTick : Mathf.CeilToInt((float)keyframe.atTick.Value * scale);
|
||||
keyframe.TickDuration = 0;
|
||||
}
|
||||
|
||||
|
@ -103,10 +105,10 @@ namespace RimWorldAnimationStudio
|
|||
}
|
||||
|
||||
public void ResizeStageWindow(int newStageWindowSize)
|
||||
{
|
||||
Workspace.GetCurrentAnimationStage().stageWindowSize = newStageWindowSize;
|
||||
{
|
||||
Workspace.GetCurrentAnimationStage().PlayTimeTicks = newStageWindowSize * StageLoopsNormal;
|
||||
Workspace.GetCurrentAnimationStage().PlayTimeTicksQuick = newStageWindowSize * StageLoopsQuick;
|
||||
Workspace.GetCurrentAnimationStage().stageWindowSize = newStageWindowSize;
|
||||
|
||||
EventsManager.OnStageWindowSizeChanged(this);
|
||||
}
|
||||
|
@ -121,17 +123,17 @@ namespace RimWorldAnimationStudio
|
|||
|
||||
if (lastkeyframe != null)
|
||||
{
|
||||
PawnKeyframe keyframeA = lastkeyframe.Copy();
|
||||
PawnKeyframe keyframeA = lastkeyframe.GetClone();
|
||||
keyframeA.GenerateKeyframeID(actorID);
|
||||
keyframeA.atTick = null;
|
||||
keyframeA.TickDuration = Constants.defaultAnimationClipLength - 1;
|
||||
keyframeA.GenerateKeyframeID(actorID);
|
||||
|
||||
clip.Keyframes.Add(keyframeA);
|
||||
|
||||
PawnKeyframe keyframeB = lastkeyframe.Copy();
|
||||
PawnKeyframe keyframeB = lastkeyframe.GetClone();
|
||||
keyframeB.GenerateKeyframeID(actorID);
|
||||
keyframeB.atTick = null;
|
||||
keyframeB.TickDuration = 1;
|
||||
keyframeB.GenerateKeyframeID(actorID);
|
||||
|
||||
clip.Keyframes.Add(keyframeB);
|
||||
}
|
||||
|
@ -151,6 +153,19 @@ namespace RimWorldAnimationStudio
|
|||
animationClips.Add(clip);
|
||||
}
|
||||
|
||||
public AnimationStage GetClone()
|
||||
{
|
||||
AnimationStage clone = this.Copy();
|
||||
|
||||
foreach (PawnAnimationClip clip in clone.animationClips)
|
||||
{
|
||||
foreach (PawnKeyframe keyframe in clip.Keyframes)
|
||||
{ keyframe.GenerateKeyframeID(keyframe.actorID); }
|
||||
}
|
||||
|
||||
return clone;
|
||||
}
|
||||
|
||||
// Pre-save / post-load
|
||||
public void OnPreSave()
|
||||
{
|
||||
|
|
|
@ -236,7 +236,7 @@ namespace RimWorldAnimationStudio
|
|||
List<PawnKeyframe> keyframesToClone = Workspace.GetPawnKeyframesByID(Workspace.keyframeID);
|
||||
|
||||
foreach (PawnKeyframe keyframe in keyframesToClone)
|
||||
{ Workspace.copiedKeyframes.Add(keyframe.Copy()); }
|
||||
{ Workspace.copiedKeyframes.Add(keyframe.GetClone()); }
|
||||
}
|
||||
|
||||
public void PastePawnKeyframes()
|
||||
|
@ -273,7 +273,7 @@ namespace RimWorldAnimationStudio
|
|||
Workspace.GetAnimationClipThatOwnsKeyframe(oldKeyframe.keyframeID).RemovePawnKeyframe(oldKeyframe.keyframeID, true);
|
||||
}
|
||||
|
||||
PawnKeyframe clonedKeyframe = copiedKeyframe.Copy();
|
||||
PawnKeyframe clonedKeyframe = copiedKeyframe.GetClone();
|
||||
clonedKeyframe.GenerateKeyframeID(targetActorID);
|
||||
clonedKeyframe.atTick = tickToPasteAt;
|
||||
|
||||
|
@ -305,13 +305,24 @@ namespace RimWorldAnimationStudio
|
|||
PawnKeyframe keyframe = Workspace.GetPawnKeyframe(keyframeID);
|
||||
if (keyframe == null || IsOwnerOfKeyframe(keyframeID) == false) return;
|
||||
|
||||
if (keyframe.atTick == Constants.minTick && force == false)
|
||||
{ Debug.LogWarning("Cannot delete key frame - the first key frame of an animation clip cannot be deleted"); return; }
|
||||
|
||||
if (Keyframes.Count <= 2 && force == false)
|
||||
{ Debug.LogWarning("Cannot delete key frame - an animation clip must have two or more keyframes"); return; }
|
||||
|
||||
Keyframes.Remove(keyframe);
|
||||
|
||||
if (Workspace.GetAllPawnKeyframesAtTick(GetOwningActorID(), Constants.minTick).NullOrEmpty())
|
||||
{
|
||||
PawnKeyframe newKeyframe = new PawnKeyframe();
|
||||
newKeyframe.GenerateKeyframeID(GetOwningActorID());
|
||||
newKeyframe.atTick = Constants.minTick;
|
||||
Keyframes.Insert(0, newKeyframe);
|
||||
}
|
||||
|
||||
// Add missing second keyframe (if needed)
|
||||
if (Keyframes.Count == 1)
|
||||
{
|
||||
PawnKeyframe newKeyframe = Workspace.GetAllPawnKeyframesAtTick(GetOwningActorID(), Constants.minTick).First().GetClone();
|
||||
newKeyframe.atTick = 10;
|
||||
Keyframes.Add(newKeyframe);
|
||||
}
|
||||
|
||||
BuildSimpleCurves();
|
||||
|
||||
EventsManager.OnKeyframeCountChanged(this);
|
||||
|
@ -323,11 +334,6 @@ namespace RimWorldAnimationStudio
|
|||
return Keyframes.Any(x => x.keyframeID == keyframeID);
|
||||
}
|
||||
|
||||
public float GetStageTickPercentage()
|
||||
{
|
||||
return (float)(Workspace.StageTick % duration) / duration;
|
||||
}
|
||||
|
||||
// Pre-save / post-load
|
||||
public void OnPreSave()
|
||||
{
|
||||
|
|
|
@ -39,7 +39,7 @@ namespace RimWorldAnimationStudio
|
|||
// Data helper functions
|
||||
[XmlIgnore] public float BodyAngle
|
||||
{
|
||||
get { return bodyAngle.HasValue ? bodyAngle.Value : 0f; }
|
||||
get { return bodyAngle.HasValue ? bodyAngle.Value : (float)(bodyAngle = 0f); }
|
||||
set { bodyAngle = value; }
|
||||
}
|
||||
|
||||
|
@ -205,6 +205,14 @@ namespace RimWorldAnimationStudio
|
|||
Workspace.RecordEvent("Actor position / orientation");
|
||||
}
|
||||
|
||||
public PawnKeyframe GetClone()
|
||||
{
|
||||
PawnKeyframe clone = this.Copy();
|
||||
clone.GenerateKeyframeID(actorID);
|
||||
|
||||
return clone;
|
||||
}
|
||||
|
||||
// Pre-save / post-load
|
||||
public void OnPreSave()
|
||||
{
|
||||
|
|
|
@ -23,7 +23,7 @@ namespace RimWorldAnimationStudio
|
|||
{
|
||||
PawnAnimationClip clip = Workspace.GetPawnAnimationClip(actorID);
|
||||
|
||||
float clipPercent = (float)atTick / Workspace.StageWindowSize;
|
||||
float clipPercent = (float)(atTick % clip.duration) / clip.duration;
|
||||
if (atTick > Constants.minTick && atTick == clip.duration) clipPercent = 1f;
|
||||
|
||||
if (Workspace.GetCurrentAnimationStage().IsLooping == false)
|
||||
|
|
|
@ -18,6 +18,10 @@ namespace RimWorldAnimationStudio
|
|||
{
|
||||
EventsManager.onActorBodyPartSelected.AddListener(delegate(ActorBodyPart bodyPart) { OnActorBodyPartSelected(bodyPart); });
|
||||
EventsManager.onActorBodySelected.AddListener(delegate(ActorBody actorBody) { OnActorBodySelected(actorBody); });
|
||||
EventsManager.onActorIDChanged.AddListener(delegate {
|
||||
if (Workspace.ActorID == actorID)
|
||||
{ EventsManager.OnActorBodySelected(this); }
|
||||
});
|
||||
|
||||
if (Workspace.ActorID == actorID)
|
||||
{ Activate(); }
|
||||
|
|
|
@ -22,6 +22,7 @@ namespace RimWorldAnimationStudio
|
|||
EventsManager.onKeyframeCountChanged.AddListener(delegate { UpdateGUI(); });
|
||||
EventsManager.onActorIDChanged.AddListener(delegate { UpdateTimelineSelection(); });
|
||||
EventsManager.onStageWindowSizeChanged.AddListener(delegate { UpdateGUI(); });
|
||||
EventsManager.onAnimationStageChanged.AddListener(delegate { UpdateGUI(); });
|
||||
|
||||
UpdateTimelineSelection();
|
||||
UpdateGUI();
|
||||
|
|
|
@ -58,6 +58,8 @@ namespace RimWorldAnimationStudio
|
|||
|
||||
else
|
||||
{
|
||||
Workspace.GetCurrentAnimationStage().ResizeStageWindow(newStageWindowSize);
|
||||
|
||||
foreach (PawnAnimationClip clip in Workspace.GetCurrentAnimationStage().AnimationClips)
|
||||
{
|
||||
List<PawnKeyframe> keyframes = clip.Keyframes.Where(x => x.atTick > newStageWindowSize)?.ToList();
|
||||
|
@ -75,7 +77,6 @@ namespace RimWorldAnimationStudio
|
|||
}
|
||||
}
|
||||
|
||||
Workspace.GetCurrentAnimationStage().ResizeStageWindow(newStageWindowSize);
|
||||
Workspace.RecordEvent("Stage length");
|
||||
|
||||
UpdateGUI();
|
||||
|
|
|
@ -111,7 +111,8 @@ namespace RimWorldAnimationStudio
|
|||
}
|
||||
|
||||
public void OnBeginDrag(PointerEventData eventData)
|
||||
{
|
||||
{
|
||||
// Select key
|
||||
Workspace.ActorID = actorID;
|
||||
dragTimeStart = Time.unscaledTime;
|
||||
dragTickStart = keyframe.atTick.Value;
|
||||
|
@ -119,6 +120,12 @@ namespace RimWorldAnimationStudio
|
|||
if (Workspace.keyframeID.NullOrEmpty() || Workspace.keyframeID.Contains(keyframeID) == false)
|
||||
{ Workspace.keyframeID = new List<int> { keyframeID }; }
|
||||
|
||||
// The first key can't be moved though
|
||||
if (keyframe.atTick == Constants.minTick)
|
||||
{ interactable = false; return; }
|
||||
|
||||
interactable = true;
|
||||
|
||||
List<PawnKeyframe> selectedKeyframes = Workspace.GetPawnKeyframesByID(Workspace.keyframeID).Except(new List<PawnKeyframe>() { keyframe })?.ToList();
|
||||
|
||||
// Link other selected keyframes to the movement of this one
|
||||
|
@ -134,6 +141,7 @@ namespace RimWorldAnimationStudio
|
|||
|
||||
if (unlinkedSlider != null)
|
||||
{
|
||||
if (selectedKeyframe.atTick == Constants.minTick) continue;
|
||||
if (Workspace.stretchKeyframes && unlinkedSlider.keyframe.atTick == pivotKeyframe.atTick) continue;
|
||||
|
||||
unlinkedSlider.linkedSlider = this;
|
||||
|
@ -147,31 +155,19 @@ namespace RimWorldAnimationStudio
|
|||
{
|
||||
Workspace.ActorID = actorID;
|
||||
|
||||
// The first keyframe can't be moved
|
||||
if (keyframe.atTick == Constants.minTick)
|
||||
{ value = Constants.minTick; return; }
|
||||
|
||||
// Sticky drag
|
||||
if (Time.unscaledTime - dragTimeStart < 0.05f) return;
|
||||
|
||||
interactable = true;
|
||||
base.OnDrag(eventData);
|
||||
|
||||
// Snap to nearest keyframe (on another timeline)
|
||||
int targetTick = Workspace.FindClosestKeyFrameAtTick(keyframe.atTick.Value, Mathf.CeilToInt(Workspace.StageWindowSize * 0.01f), actorID);
|
||||
if (Input.GetKey(KeyCode.LeftShift) && Workspace.DoesPawnKeyframeExistAtTick(Workspace.StageID, actorID, targetTick) == false)
|
||||
{ value = (float)targetTick; }
|
||||
|
||||
// Prevent other frames from being moved to the first keyframe
|
||||
if (value == Constants.minTick)
|
||||
{ value = Constants.minTick + 1; }
|
||||
}
|
||||
|
||||
public void OnEndDrag(PointerEventData eventData)
|
||||
{
|
||||
if (keyframe.atTick == Constants.minTick)
|
||||
{ value = Constants.minTick; return; }
|
||||
|
||||
List<PawnKeyframe> keyframesToCheck = Workspace.GetAllPawnKeyframesAtTick(actorID, keyframe.atTick.Value);
|
||||
if (keyframesToCheck.NotNullOrEmpty())
|
||||
{
|
||||
|
@ -227,7 +223,7 @@ namespace RimWorldAnimationStudio
|
|||
{ value = Mathf.CeilToInt(linkedSlider.keyframe.atTick.Value + linkedOffset * linkedSlider.ScaledOffsetFromPivot()); }
|
||||
|
||||
else if (Workspace.stretchKeyframes == false && linkedSlider != null)
|
||||
{ value = Mathf.Clamp(linkedSlider.keyframe.atTick.Value + linkedOffset, Constants.minTick + 1, Workspace.StageWindowSize); }
|
||||
{ value = Mathf.Clamp(linkedSlider.keyframe.atTick.Value + linkedOffset, Constants.minTick, Workspace.StageWindowSize); }
|
||||
|
||||
else if (keyframe.atTick.Value != value)
|
||||
{ value = keyframe.atTick.Value; }
|
||||
|
|
|
@ -89,21 +89,24 @@ namespace RimWorldAnimationStudio
|
|||
|
||||
for (int actorID = 0; actorID < Workspace.animationDef.actors.Count; actorID++)
|
||||
{
|
||||
// Get the current actor and their animation clip
|
||||
// Get the current actor
|
||||
Actor actor = Workspace.GetActor(actorID);
|
||||
|
||||
// Get their animation clip and rebuild it to ensure it is up to date
|
||||
PawnAnimationClip clip = Workspace.GetPawnAnimationClip(actorID);
|
||||
clip.BuildSimpleCurves();
|
||||
|
||||
// Get flags
|
||||
bool quiver = Workspace.IsAnimating && Workspace.GetCurrentOrPreviousKeyframe(actorID).Quiver == true;
|
||||
bool requiresGenitals = actor.RequiredGenitals.Any(x => x == "Penis") || actor.IsFucking;
|
||||
|
||||
// Get clip percentage
|
||||
float clipPercent = clip.GetStageTickPercentage();
|
||||
if (Workspace.StageTick > Constants.minTick && Workspace.StageTick == clip.duration) clipPercent = 1f;
|
||||
|
||||
// Get clip percentage
|
||||
float clipPercent = (float)(Workspace.StageTick % clip.duration) / clip.duration;
|
||||
if (Workspace.StageTick > Constants.minTick && Workspace.StageTick == clip.duration) clipPercent = 1f;
|
||||
|
||||
if (Workspace.GetCurrentAnimationStage().IsLooping == false)
|
||||
{ clipPercent = (float)Workspace.StageTick / clip.duration; }
|
||||
|
||||
|
||||
// Get the actors race and body type
|
||||
PawnRaceDef pawnRaceDef = actor.GetPawnRaceDef();
|
||||
string bodyType = pawnRaceDef.isHumanoid ? actor.bodyType : "None";
|
||||
|
@ -188,7 +191,7 @@ namespace RimWorldAnimationStudio
|
|||
// Play sounds
|
||||
if (Workspace.IsAnimating)
|
||||
{
|
||||
PawnKeyframe keyframe = clip.keyframes.FirstOrDefault(x => x.atTick == Workspace.StageTick);
|
||||
PawnKeyframe keyframe = clip.keyframes.FirstOrDefault(x => x.atTick == (int)(clip.duration * clipPercent));
|
||||
|
||||
if (keyframe != null && string.IsNullOrEmpty(keyframe.soundEffect) == false)
|
||||
{ actorBody.GetComponent<AudioController>().PlaySound(keyframe.soundEffect); }
|
||||
|
|
|
@ -316,8 +316,8 @@ namespace RimWorldAnimationStudio
|
|||
{
|
||||
if (Workspace.animationDef == null) return;
|
||||
|
||||
ActorBody actorBody = AnimationController.Instance.actorBodies.GetChild(Workspace.ActorID).GetComponent<ActorBody>();
|
||||
List<ActorBodyPart> actorBodyParts = actorBody.GetComponentsInChildren<ActorBodyPart>().Where(x => x.gameObject.activeInHierarchy)?.ToList();
|
||||
ActorBody actorBody = AnimationController.Instance.actorBodies.GetComponentsInChildren<ActorBody>().FirstOrDefault(x => x.actorID == Workspace.ActorID);
|
||||
List<ActorBodyPart> actorBodyParts = actorBody?.GetComponentsInChildren<ActorBodyPart>()?.Where(x => x.gameObject.activeInHierarchy)?.ToList();
|
||||
|
||||
if (actorBodyParts.NullOrEmpty()) return;
|
||||
|
||||
|
|
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.
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.
|
@ -112,10 +112,10 @@ MonoBehaviour:
|
|||
y: 30
|
||||
width: 1920
|
||||
height: 947
|
||||
m_MinSize: {x: 679, y: 492}
|
||||
m_MaxSize: {x: 14002, y: 14042}
|
||||
m_MinSize: {x: 677, y: 492}
|
||||
m_MaxSize: {x: 14001, y: 14042}
|
||||
vertical: 0
|
||||
controlID: 2473
|
||||
controlID: 3533
|
||||
--- !u!114 &6
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 52
|
||||
|
@ -137,10 +137,10 @@ MonoBehaviour:
|
|||
y: 0
|
||||
width: 1414
|
||||
height: 947
|
||||
m_MinSize: {x: 403, y: 492}
|
||||
m_MinSize: {x: 402, y: 492}
|
||||
m_MaxSize: {x: 10001, y: 14042}
|
||||
vertical: 1
|
||||
controlID: 2478
|
||||
controlID: 3534
|
||||
--- !u!114 &7
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 52
|
||||
|
@ -162,10 +162,10 @@ MonoBehaviour:
|
|||
y: 0
|
||||
width: 1414
|
||||
height: 671
|
||||
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: 2479
|
||||
controlID: 3535
|
||||
--- !u!114 &8
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 52
|
||||
|
@ -398,7 +398,7 @@ MonoBehaviour:
|
|||
scrollPos: {x: 0, y: 0}
|
||||
m_SelectedIDs:
|
||||
m_LastClickedID: 0
|
||||
m_ExpandedIDs: 28a2feff3ca2feffe2a2feff62fbffff7a3d0000a83d000010410000b4420000
|
||||
m_ExpandedIDs: 74a0fcff88a0fcff2ea1fcff4cfbffffbc420000
|
||||
m_RenameOverlay:
|
||||
m_UserAcceptedRename: 0
|
||||
m_Name:
|
||||
|
@ -1115,9 +1115,9 @@ MonoBehaviour:
|
|||
m_IsLocked: 0
|
||||
m_FolderTreeState:
|
||||
scrollPos: {x: 0, y: 143}
|
||||
m_SelectedIDs: 464e0000
|
||||
m_LastClickedID: 20038
|
||||
m_ExpandedIDs: 000000003a4e00003c4e00003e4e0000404e0000424e0000444e0000464e0000484e00004a4e00004c4e00004e4e0000504e000000ca9a3b
|
||||
m_SelectedIDs: 4e4e0000
|
||||
m_LastClickedID: 20046
|
||||
m_ExpandedIDs: 00000000424e0000444e0000464e0000484e00004a4e00004c4e00004e4e0000504e0000524e0000544e0000564e0000584e000000ca9a3b
|
||||
m_RenameOverlay:
|
||||
m_UserAcceptedRename: 0
|
||||
m_Name:
|
||||
|
@ -1145,7 +1145,7 @@ MonoBehaviour:
|
|||
scrollPos: {x: 0, y: 0}
|
||||
m_SelectedIDs:
|
||||
m_LastClickedID: 0
|
||||
m_ExpandedIDs: 000000003a4e00003c4e00003e4e0000404e0000424e0000444e0000464e0000484e00004a4e00004c4e00004e4e0000504e000000ca9a3b
|
||||
m_ExpandedIDs: 00000000424e0000444e0000464e0000484e00004a4e00004c4e00004e4e0000504e0000524e0000544e0000564e0000584e000000ca9a3b
|
||||
m_RenameOverlay:
|
||||
m_UserAcceptedRename: 0
|
||||
m_Name:
|
||||
|
@ -1295,4 +1295,4 @@ MonoBehaviour:
|
|||
m_PrefName: Preview_InspectorPreview
|
||||
m_PreviewWindow: {fileID: 0}
|
||||
m_LastInspectedObjectInstanceID: -1
|
||||
m_LastVerticalScrollValue: 100
|
||||
m_LastVerticalScrollValue: 0
|
||||
|
|
|
@ -21,10 +21,10 @@ MonoBehaviour:
|
|||
y: 30
|
||||
width: 1920
|
||||
height: 947
|
||||
m_MinSize: {x: 679, y: 492}
|
||||
m_MaxSize: {x: 14002, y: 14042}
|
||||
m_MinSize: {x: 677, y: 492}
|
||||
m_MaxSize: {x: 14001, y: 14042}
|
||||
vertical: 0
|
||||
controlID: 2139
|
||||
controlID: 3438
|
||||
--- !u!114 &2
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 52
|
||||
|
@ -138,10 +138,10 @@ MonoBehaviour:
|
|||
y: 0
|
||||
width: 1414
|
||||
height: 947
|
||||
m_MinSize: {x: 403, y: 492}
|
||||
m_MinSize: {x: 402, y: 492}
|
||||
m_MaxSize: {x: 10001, y: 14042}
|
||||
vertical: 1
|
||||
controlID: 2140
|
||||
controlID: 3439
|
||||
--- !u!114 &4
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 52
|
||||
|
@ -163,10 +163,10 @@ MonoBehaviour:
|
|||
y: 0
|
||||
width: 1414
|
||||
height: 671
|
||||
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: 2141
|
||||
controlID: 3440
|
||||
--- !u!114 &5
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 52
|
||||
|
@ -186,8 +186,8 @@ MonoBehaviour:
|
|||
y: 0
|
||||
width: 337
|
||||
height: 671
|
||||
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: 62fbffff7a3d0000a83d000010410000b4420000
|
||||
m_ExpandedIDs: 4cfbffffbc420000
|
||||
m_RenameOverlay:
|
||||
m_UserAcceptedRename: 0
|
||||
m_Name:
|
||||
|
@ -939,8 +939,8 @@ MonoBehaviour:
|
|||
y: 671
|
||||
width: 1414
|
||||
height: 276
|
||||
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}
|
||||
|
@ -998,9 +998,9 @@ MonoBehaviour:
|
|||
m_IsLocked: 0
|
||||
m_FolderTreeState:
|
||||
scrollPos: {x: 0, y: 143}
|
||||
m_SelectedIDs: 464e0000
|
||||
m_LastClickedID: 20038
|
||||
m_ExpandedIDs: 000000003a4e00003c4e00003e4e0000404e0000424e0000444e0000464e0000484e00004a4e00004c4e00004e4e0000504e000000ca9a3b
|
||||
m_SelectedIDs: 4e4e0000
|
||||
m_LastClickedID: 20046
|
||||
m_ExpandedIDs: 00000000424e0000444e0000464e0000484e00004a4e00004c4e00004e4e0000504e0000524e0000544e0000564e0000584e000000ca9a3b
|
||||
m_RenameOverlay:
|
||||
m_UserAcceptedRename: 0
|
||||
m_Name:
|
||||
|
@ -1028,7 +1028,7 @@ MonoBehaviour:
|
|||
scrollPos: {x: 0, y: 0}
|
||||
m_SelectedIDs:
|
||||
m_LastClickedID: 0
|
||||
m_ExpandedIDs: 000000003a4e00003c4e00003e4e0000404e0000424e0000444e0000464e0000484e00004a4e00004c4e00004e4e0000504e000000ca9a3b
|
||||
m_ExpandedIDs: 00000000424e0000444e0000464e0000484e00004a4e00004c4e00004e4e0000504e0000524e0000544e0000564e0000584e000000ca9a3b
|
||||
m_RenameOverlay:
|
||||
m_UserAcceptedRename: 0
|
||||
m_Name:
|
||||
|
@ -1053,8 +1053,8 @@ MonoBehaviour:
|
|||
m_Icon: {fileID: 0}
|
||||
m_ResourceFile:
|
||||
m_ListAreaState:
|
||||
m_SelectedInstanceIDs: ec440000
|
||||
m_LastClickedInstanceID: 17644
|
||||
m_SelectedInstanceIDs:
|
||||
m_LastClickedInstanceID: 0
|
||||
m_HadKeyboardFocusLastEvent: 0
|
||||
m_ExpandedInstanceIDs: c6230000303a0000063a0000a83d00005c66000000870000f8860000004a00004a4600000c430000004900007e9800000249000086980000000000007a140100
|
||||
m_RenameOverlay:
|
||||
|
@ -1203,5 +1203,5 @@ MonoBehaviour:
|
|||
m_ControlHash: -371814159
|
||||
m_PrefName: Preview_InspectorPreview
|
||||
m_PreviewWindow: {fileID: 0}
|
||||
m_LastInspectedObjectInstanceID: 17644
|
||||
m_LastVerticalScrollValue: 100
|
||||
m_LastInspectedObjectInstanceID: -1
|
||||
m_LastVerticalScrollValue: 0
|
||||
|
|
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.
|
@ -130,129 +130,129 @@ ScriptsOnlyBuild:
|
|||
- Class: 114
|
||||
Script: {instanceID: 11264}
|
||||
- Class: 114
|
||||
Script: {instanceID: 11268}
|
||||
Script: {instanceID: 11270}
|
||||
- Class: 114
|
||||
Script: {instanceID: 11292}
|
||||
Script: {instanceID: 11294}
|
||||
- Class: 114
|
||||
Script: {instanceID: 11450}
|
||||
Script: {instanceID: 11452}
|
||||
- Class: 114
|
||||
Script: {instanceID: 11504}
|
||||
Script: {instanceID: 11506}
|
||||
- Class: 114
|
||||
Script: {instanceID: 11580}
|
||||
Script: {instanceID: 11582}
|
||||
- Class: 114
|
||||
Script: {instanceID: 11592}
|
||||
Script: {instanceID: 11594}
|
||||
- Class: 114
|
||||
Script: {instanceID: 11606}
|
||||
Script: {instanceID: 11608}
|
||||
- Class: 114
|
||||
Script: {instanceID: 11660}
|
||||
Script: {instanceID: 11662}
|
||||
- Class: 114
|
||||
Script: {instanceID: 11734}
|
||||
Script: {instanceID: 11736}
|
||||
- Class: 114
|
||||
Script: {instanceID: 11760}
|
||||
- Class: 114
|
||||
Script: {instanceID: 11764}
|
||||
Script: {instanceID: 11762}
|
||||
- Class: 114
|
||||
Script: {instanceID: 11766}
|
||||
- Class: 114
|
||||
Script: {instanceID: 11774}
|
||||
Script: {instanceID: 11768}
|
||||
- Class: 114
|
||||
Script: {instanceID: 11784}
|
||||
Script: {instanceID: 11776}
|
||||
- Class: 114
|
||||
Script: {instanceID: 11806}
|
||||
Script: {instanceID: 11786}
|
||||
- Class: 114
|
||||
Script: {instanceID: 11870}
|
||||
Script: {instanceID: 11808}
|
||||
- Class: 114
|
||||
Script: {instanceID: 11876}
|
||||
Script: {instanceID: 11872}
|
||||
- Class: 114
|
||||
Script: {instanceID: 12144}
|
||||
Script: {instanceID: 11878}
|
||||
- Class: 114
|
||||
Script: {instanceID: 12180}
|
||||
Script: {instanceID: 12146}
|
||||
- Class: 114
|
||||
Script: {instanceID: 12324}
|
||||
Script: {instanceID: 12182}
|
||||
- Class: 114
|
||||
Script: {instanceID: 12348}
|
||||
Script: {instanceID: 12326}
|
||||
- Class: 114
|
||||
Script: {instanceID: 12364}
|
||||
Script: {instanceID: 12350}
|
||||
- Class: 114
|
||||
Script: {instanceID: 12434}
|
||||
Script: {instanceID: 12366}
|
||||
- Class: 114
|
||||
Script: {instanceID: 12614}
|
||||
Script: {instanceID: 12436}
|
||||
- Class: 114
|
||||
Script: {instanceID: 12638}
|
||||
Script: {instanceID: 12616}
|
||||
- Class: 114
|
||||
Script: {instanceID: 12756}
|
||||
Script: {instanceID: 12640}
|
||||
- Class: 114
|
||||
Script: {instanceID: 12880}
|
||||
Script: {instanceID: 12758}
|
||||
- Class: 114
|
||||
Script: {instanceID: 12924}
|
||||
Script: {instanceID: 12882}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13174}
|
||||
Script: {instanceID: 12926}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13200}
|
||||
Script: {instanceID: 13176}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13240}
|
||||
Script: {instanceID: 13202}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13250}
|
||||
Script: {instanceID: 13242}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13260}
|
||||
Script: {instanceID: 13252}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13270}
|
||||
Script: {instanceID: 13262}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13372}
|
||||
Script: {instanceID: 13272}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13390}
|
||||
Script: {instanceID: 13374}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13392}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13426}
|
||||
Script: {instanceID: 13394}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13466}
|
||||
Script: {instanceID: 13428}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13482}
|
||||
Script: {instanceID: 13468}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13498}
|
||||
Script: {instanceID: 13484}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13510}
|
||||
Script: {instanceID: 13500}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13514}
|
||||
Script: {instanceID: 13512}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13550}
|
||||
Script: {instanceID: 13516}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13682}
|
||||
Script: {instanceID: 13552}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13708}
|
||||
Script: {instanceID: 13684}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13840}
|
||||
Script: {instanceID: 13710}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13914}
|
||||
Script: {instanceID: 13842}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13918}
|
||||
Script: {instanceID: 13916}
|
||||
- Class: 114
|
||||
Script: {instanceID: 14046}
|
||||
Script: {instanceID: 13920}
|
||||
- Class: 114
|
||||
Script: {instanceID: 14110}
|
||||
Script: {instanceID: 14048}
|
||||
- Class: 114
|
||||
Script: {instanceID: 14206}
|
||||
Script: {instanceID: 14112}
|
||||
- Class: 114
|
||||
Script: {instanceID: 14356}
|
||||
Script: {instanceID: 14208}
|
||||
- Class: 114
|
||||
Script: {instanceID: 14504}
|
||||
Script: {instanceID: 14358}
|
||||
- Class: 114
|
||||
Script: {instanceID: 14530}
|
||||
Script: {instanceID: 14506}
|
||||
- Class: 114
|
||||
Script: {instanceID: 14532}
|
||||
- Class: 114
|
||||
Script: {instanceID: 14564}
|
||||
Script: {instanceID: 14534}
|
||||
- Class: 114
|
||||
Script: {instanceID: 14586}
|
||||
Script: {instanceID: 14566}
|
||||
- Class: 114
|
||||
Script: {instanceID: 14588}
|
||||
- Class: 114
|
||||
Script: {instanceID: 14628}
|
||||
Script: {instanceID: 14590}
|
||||
- Class: 114
|
||||
Script: {instanceID: 14634}
|
||||
Script: {instanceID: 14630}
|
||||
- Class: 114
|
||||
Script: {instanceID: 14676}
|
||||
Script: {instanceID: 14636}
|
||||
- Class: 114
|
||||
Script: {instanceID: 14678}
|
||||
- Class: 115
|
||||
Script: {instanceID: 0}
|
||||
- Class: 128
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,2 +1,4 @@
|
|||
Base path: 'C:/Program Files/Unity/Hub/Editor/2019.4.20f1/Editor/Data', plugins path 'C:/Program Files/Unity/Hub/Editor/2019.4.20f1/Editor/Data/PlaybackEngines'
|
||||
Cmd: initializeCompiler
|
||||
|
||||
Quitting shader compiler process
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
Base path: 'C:/Program Files/Unity/Hub/Editor/2019.4.20f1/Editor/Data', plugins path 'C:/Program Files/Unity/Hub/Editor/2019.4.20f1/Editor/Data/PlaybackEngines'
|
||||
Cmd: initializeCompiler
|
||||
|
||||
Quitting shader compiler process
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
Base path: 'C:/Program Files/Unity/Hub/Editor/2019.4.20f1/Editor/Data', plugins path 'C:/Program Files/Unity/Hub/Editor/2019.4.20f1/Editor/Data/PlaybackEngines'
|
||||
Cmd: initializeCompiler
|
||||
|
||||
Quitting shader compiler process
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
Base path: 'C:/Program Files/Unity/Hub/Editor/2019.4.20f1/Editor/Data', plugins path 'C:/Program Files/Unity/Hub/Editor/2019.4.20f1/Editor/Data/PlaybackEngines'
|
||||
Cmd: initializeCompiler
|
||||
|
||||
Quitting shader compiler process
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
Base path: 'C:/Program Files/Unity/Hub/Editor/2019.4.20f1/Editor/Data', plugins path 'C:/Program Files/Unity/Hub/Editor/2019.4.20f1/Editor/Data/PlaybackEngines'
|
||||
Cmd: initializeCompiler
|
||||
|
||||
Quitting shader compiler process
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
Base path: 'C:/Program Files/Unity/Hub/Editor/2019.4.20f1/Editor/Data', plugins path 'C:/Program Files/Unity/Hub/Editor/2019.4.20f1/Editor/Data/PlaybackEngines'
|
||||
Cmd: initializeCompiler
|
||||
|
||||
Quitting shader compiler process
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
Base path: 'C:/Program Files/Unity/Hub/Editor/2019.4.20f1/Editor/Data', plugins path 'C:/Program Files/Unity/Hub/Editor/2019.4.20f1/Editor/Data/PlaybackEngines'
|
||||
Cmd: initializeCompiler
|
||||
|
||||
Quitting shader compiler process
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
Base path: 'C:/Program Files/Unity/Hub/Editor/2019.4.20f1/Editor/Data', plugins path 'C:/Program Files/Unity/Hub/Editor/2019.4.20f1/Editor/Data/PlaybackEngines'
|
||||
Cmd: initializeCompiler
|
||||
|
||||
Quitting shader compiler process
|
||||
|
|
Loading…
Reference in New Issue