0.448.0.411244

This commit is contained in:
CloneTrooper1019 2020-09-17 12:14:57 -05:00
parent 2a114e70b0
commit 7252e96c03
4 changed files with 36 additions and 15 deletions

View File

@ -1,5 +1,5 @@
// Auto-generated list of creatable Roblox classes. // Auto-generated list of creatable Roblox classes.
// Updated as of 0.447.1.411123 // Updated as of 0.448.0.411244
using System; using System;
@ -2288,6 +2288,7 @@ namespace RobloxFiles
public float FallenPartsDestroyHeight = -500; public float FallenPartsDestroyHeight = -500;
public bool FilteringEnabled; public bool FilteringEnabled;
public float Gravity = 196.2f; public float Gravity = 196.2f;
public InterpolationThrottlingMode InterpolationThrottling = InterpolationThrottlingMode.Default;
public bool StreamingEnabled; public bool StreamingEnabled;
public int StreamingMinRadius = 64; public int StreamingMinRadius = 64;
public StreamingPauseMode StreamingPauseMode = StreamingPauseMode.Default; public StreamingPauseMode StreamingPauseMode = StreamingPauseMode.Default;

View File

@ -1,5 +1,5 @@
// Auto-generated list of Roblox enums. // Auto-generated list of Roblox enums.
// Updated as of 0.447.1.411123 // Updated as of 0.448.0.411244
namespace RobloxFiles.Enums namespace RobloxFiles.Enums
{ {
@ -336,6 +336,13 @@ namespace RobloxFiles.Enums
Sin Sin
} }
public enum InterpolationThrottlingMode
{
Default,
Disabled,
Enabled
}
public enum LeftRight public enum LeftRight
{ {
Left, Left,

Binary file not shown.

View File

@ -32,8 +32,8 @@ namespace RobloxFiles
/// <summary>The raw list of children for this Instance.</summary> /// <summary>The raw list of children for this Instance.</summary>
internal HashSet<Instance> Children = new HashSet<Instance>(); internal HashSet<Instance> Children = new HashSet<Instance>();
/// <summary>The raw value of the Instance's parent.</summary> /// <summary>The raw unsafe value of the Instance's parent.</summary>
private Instance RawParent; private Instance ParentUnsafe;
/// <summary>The name of this Instance.</summary> /// <summary>The name of this Instance.</summary>
public string Name; public string Name;
@ -41,6 +41,9 @@ namespace RobloxFiles
/// <summary>Indicates whether this Instance should be serialized.</summary> /// <summary>Indicates whether this Instance should be serialized.</summary>
public bool Archivable = true; public bool Archivable = true;
/// <summary>The source AssetId this instance was created in.</summary>
public long SourceAssetId = -1;
/// <summary>The name of this Instance, if a Name property is defined.</summary> /// <summary>The name of this Instance, if a Name property is defined.</summary>
public override string ToString() => Name; public override string ToString() => Name;
@ -174,25 +177,35 @@ namespace RobloxFiles
/// </summary> /// </summary>
public Instance Parent public Instance Parent
{ {
get get => ParentUnsafe;
{
return RawParent;
}
set set
{ {
if (ParentLocked) if (ParentLocked)
throw new Exception("The Parent property of this instance is locked."); {
string newParent = value?.Name ?? "NULL",
currParent = Parent?.Name ?? "NULL";
throw new InvalidOperationException($"The Parent property of {Name} is locked, current parent: {currParent}, new parent {newParent}");
}
if (IsAncestorOf(value)) if (IsAncestorOf(value))
throw new Exception("Parent would result in circular reference."); {
string pathA = GetFullName("."),
pathB = value.GetFullName(".");
throw new InvalidOperationException($"Attempt to set parent of {pathA} to {pathB} would result in circular reference");
}
if (Parent == this) if (Parent == this)
throw new Exception("Attempt to set parent to self."); throw new InvalidOperationException($"Attempt to set {Name} as its own parent");
RawParent?.Children.Remove(this); lock (ParentUnsafe)
value?.Children.Add(this); {
ParentUnsafe?.Children.Remove(this);
RawParent = value; value?.Children.Add(this);
ParentUnsafe = value;
}
} }
} }