Merge remote-tracking branch 'origin/master' into 1.9

This commit is contained in:
Wojtek Figat
2024-08-05 11:08:51 +02:00
62 changed files with 9529 additions and 2700 deletions

View File

@@ -58,10 +58,10 @@ namespace FlaxEngine.Tools
FieldInfo[] fields = typeof(CustomMaxSizes).GetFields();
for (int i = 0; i < fields.Length; i++)
{
var field = fields[i];
if (field.Name.Equals("value__"))
var @field = fields[i];
if (@field.Name.Equals("value__"))
continue;
if (value == (int)field.GetRawConstantValue())
if (value == (int)@field.GetRawConstantValue())
return (CustomMaxSizes)value;
}
return CustomMaxSizes._8192;

View File

@@ -100,12 +100,16 @@ namespace FlaxEditor.Content
/// <inheritdoc />
public object GetValue(object obj)
{
if (!_type.Asset)
throw new TargetException("Missing Visual Script asset.");
return _type.Asset.GetScriptInstanceParameterValue(_parameter.Name, (Object)obj);
}
/// <inheritdoc />
public void SetValue(object obj, object value)
{
if (!_type.Asset)
throw new TargetException("Missing Visual Script asset.");
_type.Asset.SetScriptInstanceParameterValue(_parameter.Name, (Object)obj, value);
}
}

View File

@@ -166,6 +166,25 @@ namespace FlaxEditor.Content
/// <inheritdoc />
public override string Name { get; } = Utilities.Utils.GetPropertyNameUI(typeof(T).Name);
private SpriteHandle _thumbnail;
/// <summary>
/// Default Constructor.
/// </summary>
public SpawnableJsonAssetProxy()
{
_thumbnail = SpriteHandle.Invalid;
}
/// <summary>
/// Constructor with overriden thumbnail.
/// </summary>
/// <param name="thumbnail">The thumbnail to use.</param>
public SpawnableJsonAssetProxy(SpriteHandle thumbnail)
{
_thumbnail = thumbnail;
}
/// <inheritdoc />
public override bool CanCreate(ContentFolder targetLocation)
{
@@ -177,6 +196,12 @@ namespace FlaxEditor.Content
{
Editor.SaveJsonAsset(outputPath, new T());
}
/// <inheritdoc />
public override AssetItem ConstructItem(string path, string typeName, ref Guid id)
{
return _thumbnail.IsValid ? new JsonAssetItem(path, id, typeName, _thumbnail) : base.ConstructItem(path, typeName, ref id);
}
/// <inheritdoc />
public override string TypeName { get; } = typeof(T).FullName;

View File

@@ -73,6 +73,16 @@ namespace FlaxEditor.Content
return targetLocation.CanHaveAssets;
}
/// <inheritdoc />
public override bool CanReimport(ContentItem item)
{
if (item is not PrefabItem prefabItem)
return base.CanReimport(item);
var prefab = FlaxEngine.Content.Load<Prefab>(prefabItem.ID);
return prefab.GetDefaultInstance().GetScript<ModelPrefab>() != null;
}
/// <inheritdoc />
public override void Create(string outputPath, object arg)
{