0.470.0.419147
This commit is contained in:
parent
535ffa905c
commit
336792dc83
@ -1,5 +1,5 @@
|
|||||||
// Auto-generated list of creatable Roblox classes.
|
// Auto-generated list of creatable Roblox classes.
|
||||||
// Updated as of 0.469.0.418830
|
// Updated as of 0.470.0.419147
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
@ -648,6 +648,7 @@ namespace RobloxFiles
|
|||||||
public class HingeConstraint : Constraint
|
public class HingeConstraint : Constraint
|
||||||
{
|
{
|
||||||
public ActuatorType ActuatorType = ActuatorType.None;
|
public ActuatorType ActuatorType = ActuatorType.None;
|
||||||
|
public float AngularResponsiveness = 45;
|
||||||
public float AngularSpeed;
|
public float AngularSpeed;
|
||||||
public float AngularVelocity;
|
public float AngularVelocity;
|
||||||
public bool LimitsEnabled;
|
public bool LimitsEnabled;
|
||||||
@ -690,6 +691,7 @@ namespace RobloxFiles
|
|||||||
{
|
{
|
||||||
public ActuatorType ActuatorType = ActuatorType.None;
|
public ActuatorType ActuatorType = ActuatorType.None;
|
||||||
public bool LimitsEnabled;
|
public bool LimitsEnabled;
|
||||||
|
public float LinearResponsiveness = 45;
|
||||||
public float LowerLimit;
|
public float LowerLimit;
|
||||||
public float MotorMaxAcceleration = float.MaxValue;
|
public float MotorMaxAcceleration = float.MaxValue;
|
||||||
public float MotorMaxForce;
|
public float MotorMaxForce;
|
||||||
@ -706,6 +708,7 @@ namespace RobloxFiles
|
|||||||
{
|
{
|
||||||
public ActuatorType AngularActuatorType = ActuatorType.None;
|
public ActuatorType AngularActuatorType = ActuatorType.None;
|
||||||
public bool AngularLimitsEnabled;
|
public bool AngularLimitsEnabled;
|
||||||
|
public float AngularResponsiveness = 45;
|
||||||
public float AngularRestitution;
|
public float AngularRestitution;
|
||||||
public float AngularSpeed;
|
public float AngularSpeed;
|
||||||
public float AngularVelocity;
|
public float AngularVelocity;
|
||||||
@ -743,6 +746,18 @@ namespace RobloxFiles
|
|||||||
public Vector3 Torque_ = new Vector3();
|
public Vector3 Torque_ = new Vector3();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class TorsionSpringConstraint : Constraint
|
||||||
|
{
|
||||||
|
public float Coils = 8;
|
||||||
|
public float Damping = 0.01f;
|
||||||
|
public bool LimitEnabled;
|
||||||
|
public float MaxAngle = 45;
|
||||||
|
public float MaxTorque = float.MaxValue;
|
||||||
|
public float Radius = 0.4f;
|
||||||
|
public float Restitution;
|
||||||
|
public float Stiffness = 100;
|
||||||
|
}
|
||||||
|
|
||||||
public class UniversalConstraint : Constraint
|
public class UniversalConstraint : Constraint
|
||||||
{
|
{
|
||||||
public bool LimitsEnabled;
|
public bool LimitsEnabled;
|
||||||
@ -2191,6 +2206,7 @@ namespace RobloxFiles
|
|||||||
public bool Locked;
|
public bool Locked;
|
||||||
public bool Massless;
|
public bool Massless;
|
||||||
public Material Material = Material.Plastic;
|
public Material Material = Material.Plastic;
|
||||||
|
public CFrame PivotOffset = new CFrame();
|
||||||
|
|
||||||
public Vector3 Position
|
public Vector3 Position
|
||||||
{
|
{
|
||||||
@ -2392,6 +2408,7 @@ namespace RobloxFiles
|
|||||||
public SharedString ModelMeshData = SharedString.FromBase64("yuZpQdnvvUBOTYh1jqZ2cA==");
|
public SharedString ModelMeshData = SharedString.FromBase64("yuZpQdnvvUBOTYh1jqZ2cA==");
|
||||||
public Vector3 ModelMeshSize = new Vector3();
|
public Vector3 ModelMeshSize = new Vector3();
|
||||||
public BasePart PrimaryPart;
|
public BasePart PrimaryPart;
|
||||||
|
public CFrame WorldPivot = new CFrame();
|
||||||
}
|
}
|
||||||
|
|
||||||
public class Actor : Model
|
public class Actor : Model
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
// Auto-generated list of Roblox enums.
|
// Auto-generated list of Roblox enums.
|
||||||
// Updated as of 0.469.0.418830
|
// Updated as of 0.470.0.419147
|
||||||
|
|
||||||
namespace RobloxFiles.Enums
|
namespace RobloxFiles.Enums
|
||||||
{
|
{
|
||||||
|
Binary file not shown.
@ -137,11 +137,9 @@ namespace RobloxFiles
|
|||||||
{
|
{
|
||||||
if (AttributesImpl.TryGetValue(key, out Attribute attr))
|
if (AttributesImpl.TryGetValue(key, out Attribute attr))
|
||||||
{
|
{
|
||||||
object result = attr.Value;
|
if (attr.Value is T result)
|
||||||
|
|
||||||
if (result is T)
|
|
||||||
{
|
{
|
||||||
value = (T)result;
|
value = result;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -193,8 +191,7 @@ namespace RobloxFiles
|
|||||||
/// <param name="ancestor">The instance whose ancestry will be tested against this Instance.</param>
|
/// <param name="ancestor">The instance whose ancestry will be tested against this Instance.</param>
|
||||||
public bool IsDescendantOf(Instance ancestor)
|
public bool IsDescendantOf(Instance ancestor)
|
||||||
{
|
{
|
||||||
Contract.Requires(ancestor != null);
|
return ancestor?.IsAncestorOf(this) ?? false;
|
||||||
return ancestor.IsAncestorOf(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -203,9 +200,7 @@ namespace RobloxFiles
|
|||||||
[Obsolete("Use the `is` operator instead.")]
|
[Obsolete("Use the `is` operator instead.")]
|
||||||
public bool IsA<T>() where T : Instance
|
public bool IsA<T>() where T : Instance
|
||||||
{
|
{
|
||||||
Type myType = GetType();
|
return this is T;
|
||||||
Type classType = typeof(T);
|
|
||||||
return classType.IsAssignableFrom(myType);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -214,14 +209,10 @@ namespace RobloxFiles
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <typeparam name="T">The type of Instance to cast to.</typeparam>
|
/// <typeparam name="T">The type of Instance to cast to.</typeparam>
|
||||||
/// <returns>The instance as the type '<typeparamref name="T"/>' if it can be converted, or null.</returns>
|
/// <returns>The instance as the type '<typeparamref name="T"/>' if it can be converted, or null.</returns>
|
||||||
|
[Obsolete("Use the `as` operator instead.")]
|
||||||
public T Cast<T>() where T : Instance
|
public T Cast<T>() where T : Instance
|
||||||
{
|
{
|
||||||
T result = null;
|
return this as T;
|
||||||
|
|
||||||
if (this is T)
|
|
||||||
result = this as T;
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,18 +1,11 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.IO;
|
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text.RegularExpressions;
|
|
||||||
|
|
||||||
using RobloxFiles.DataTypes;
|
|
||||||
|
|
||||||
namespace RobloxFiles.UnitTest
|
namespace RobloxFiles.UnitTest
|
||||||
{
|
{
|
||||||
static class Program
|
static class Program
|
||||||
{
|
{
|
||||||
const string pattern = "\\d+$";
|
|
||||||
|
|
||||||
static void PrintTreeImpl(Instance inst, int stack = 0)
|
static void PrintTreeImpl(Instance inst, int stack = 0)
|
||||||
{
|
{
|
||||||
string padding = "";
|
string padding = "";
|
||||||
@ -24,15 +17,20 @@ namespace RobloxFiles.UnitTest
|
|||||||
switch (inst.ClassName)
|
switch (inst.ClassName)
|
||||||
{
|
{
|
||||||
case "Script":
|
case "Script":
|
||||||
|
{
|
||||||
extension = ".server.lua";
|
extension = ".server.lua";
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
case "LocalScript":
|
case "LocalScript":
|
||||||
|
{
|
||||||
extension = ".client.lua";
|
extension = ".client.lua";
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
case "ModuleScript":
|
case "ModuleScript":
|
||||||
|
{
|
||||||
extension = ".lua";
|
extension = ".lua";
|
||||||
break;
|
break;
|
||||||
default: break;
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Console.WriteLine($"{padding}{inst.Name}{extension}");
|
Console.WriteLine($"{padding}{inst.Name}{extension}");
|
||||||
@ -54,57 +52,7 @@ namespace RobloxFiles.UnitTest
|
|||||||
|
|
||||||
Debugger.Break();
|
Debugger.Break();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void CountAssets(string path)
|
|
||||||
{
|
|
||||||
Console.WriteLine("Opening file...");
|
|
||||||
RobloxFile target = RobloxFile.Open(path);
|
|
||||||
|
|
||||||
var workspace = target.FindFirstChildOfClass<Workspace>();
|
|
||||||
var assets = new HashSet<string>();
|
|
||||||
|
|
||||||
if (workspace == null)
|
|
||||||
{
|
|
||||||
Console.WriteLine("No workspace found!");
|
|
||||||
Debugger.Break();
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach (Instance inst in workspace.GetDescendants())
|
|
||||||
{
|
|
||||||
var instPath = inst.GetFullName();
|
|
||||||
var props = inst.Properties;
|
|
||||||
|
|
||||||
foreach (var prop in props)
|
|
||||||
{
|
|
||||||
var propName = prop.Key;
|
|
||||||
var content = prop.Value.CastValue<Content>();
|
|
||||||
|
|
||||||
if (content != null)
|
|
||||||
{
|
|
||||||
string url = content.Url.Trim();
|
|
||||||
|
|
||||||
var id = Regex
|
|
||||||
.Match(url, pattern)?
|
|
||||||
.Value;
|
|
||||||
|
|
||||||
if (id != null && id.Length > 5)
|
|
||||||
url = "rbxassetid://" + id;
|
|
||||||
|
|
||||||
if (url.Length > 0 && !assets.Contains(url))
|
|
||||||
{
|
|
||||||
Console.WriteLine($"[{url}] at {instPath}.{propName}");
|
|
||||||
assets.Add(url);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Console.WriteLine("Done! Press any key to continue...");
|
|
||||||
Console.Read();
|
|
||||||
}
|
|
||||||
|
|
||||||
[STAThread]
|
[STAThread]
|
||||||
static void Main(string[] args)
|
static void Main(string[] args)
|
||||||
{
|
{
|
||||||
@ -120,8 +68,6 @@ namespace RobloxFiles.UnitTest
|
|||||||
RobloxFile bin = RobloxFile.Open(@"Files\Binary.rbxl");
|
RobloxFile bin = RobloxFile.Open(@"Files\Binary.rbxl");
|
||||||
RobloxFile xml = RobloxFile.Open(@"Files\Xml.rbxlx");
|
RobloxFile xml = RobloxFile.Open(@"Files\Xml.rbxlx");
|
||||||
|
|
||||||
Folder attributes = bin.FindFirstChild<Folder>("Attributes", true);
|
|
||||||
|
|
||||||
Console.WriteLine("Files opened! Pausing execution for debugger analysis...");
|
Console.WriteLine("Files opened! Pausing execution for debugger analysis...");
|
||||||
Debugger.Break();
|
Debugger.Break();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user