Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,8 @@ dotnet_diagnostic.UNT0014.severity = error
charset = utf-8
indent_size = 4
indent_style = space

[*.csproj]
charset = utf-8
indent_size = 2
indent_style = space
2 changes: 2 additions & 0 deletions DependencyDeclaration~/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
bin
obj
15 changes: 15 additions & 0 deletions DependencyDeclaration~/DependencyDeclaration~.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<!-- Unity compatible -->
<TargetFramework>netstandard2.0</TargetFramework>
<DebugType>portable</DebugType>
<RootNamespace>ResoniteImportHelper.Internal.DependencyDeclaration</RootNamespace>
<CopyLocalLockFoileAssemblies>true</CopyLocalLockFoileAssemblies>
<RestoreProjectStyle>PackageReference</RestoreProjectStyle>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="System.Reflection.Metadata" Version="9.0.1" />
</ItemGroup>
</Project>
8 changes: 8 additions & 0 deletions DependencyDeclaration~/Program.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
// Please run `dotnet publish` and copy them into `0ReflectionMetadata` respectively.
namespace ResoniteImportHelper.Internal.DependencyDeclaration
{
internal sealed class Program
{
private static void Main(string[] args) {}
}
}
2 changes: 2 additions & 0 deletions DependencyManager~/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
bin
obj
16 changes: 16 additions & 0 deletions DependencyManager~/DependencyManager~.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netstandard2.0</TargetFramework>
<RootNamespace>ResoniteImportHelper.Internal.DependencyManager</RootNamespace>
<ImplicitUsings>disable</ImplicitUsings>
<Nullable>enable</Nullable>
<LangVersion>13</LangVersion>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="System.Memory" Version="4.6.0" />
</ItemGroup>

</Project>
19 changes: 19 additions & 0 deletions DependencyManager~/Program.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
namespace ResoniteImportHelper.Internal.DependencyManager
{
public sealed class Args(string From, string To)
{
}

public sealed class Program
{
private static void Main(string[] args)
{
Main0(new Args(args[0], args[1]));
}

public static void Main0(Args args)
{
// TODO: dotnet publish
}
}
}
3 changes: 3 additions & 0 deletions Editor/0ReflectionMetadata.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Editor/0ReflectionMetadata/AssemblyInfo.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
// This file is dummy!
3 changes: 3 additions & 0 deletions Editor/0ReflectionMetadata/AssemblyInfo.cs.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"name": "ResoniteImportHelper.0ReflectionMetadata",
"autoReferenced": false,
"noEngineReferences": true
}

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file added Editor/0ReflectionMetadata/System.Buffers.dll
Binary file not shown.
3 changes: 3 additions & 0 deletions Editor/0ReflectionMetadata/System.Buffers.dll.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file not shown.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file added Editor/0ReflectionMetadata/System.Memory.dll
Binary file not shown.
3 changes: 3 additions & 0 deletions Editor/0ReflectionMetadata/System.Memory.dll.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file not shown.
3 changes: 3 additions & 0 deletions Editor/0ReflectionMetadata/System.Numerics.Vectors.dll.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file not shown.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file not shown.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions Editor/Package.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions Editor/Package/Asset.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions Editor/Package/Asset/Inspector.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

32 changes: 32 additions & 0 deletions Editor/Package/Asset/Inspector/MainTreeAssetInspector.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
using System.IO;
using ResoniteImportHelper.Editor.Package.Asset.Types;
using UnityEngine;
using UnityEngine.UIElements;
using CustomInspector = UnityEditor.CustomEditor;
using UserMadeInspector = UnityEditor.Editor;

namespace ResoniteImportHelper.Package.Asset.Inspector
{
[CustomInspector(typeof(MainTreeAsset))]
public class MainTreeAssetInspector: UserMadeInspector
{
public override VisualElement CreateInspectorGUI()
{
var root = new VisualElement();

root.Add(new Label("Content"));
var b = new Button(() =>
{
var x = Path.GetTempFileName();
File.WriteAllText(x, (this.target as MainTreeAsset)!.text);
Debug.Log($"Wrote full text temporary file located in {x}.");
});
b.Add(new Label("Write whole text to temporary file"));
root.Add(b);

root.Add(new TextField() { multiline = true, value = (this.target as MainTreeAsset)!.text.Substring(0, 5000) });

return root;
}
}
}
3 changes: 3 additions & 0 deletions Editor/Package/Asset/Inspector/MainTreeAssetInspector.cs.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"name": "ResoniteImportHelper.Package.Asset.Inspector",
"rootNamespace": "global::ResoniteImportHelper.Package.Asset.Inspector",
"autoReferenced": false,
"includePlatforms": ["Editor"],
"references":[ "ResoniteImportHelper.Package.Asset.Types" ]
}

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions Editor/Package/Asset/Types.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 14 additions & 0 deletions Editor/Package/Asset/Types/MainTreeAsset.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@

using UnityEngine;

namespace ResoniteImportHelper.Editor.Package.Asset.Types
{
public class MainTreeAsset: ScriptableObject
{
public string text;
public MainTreeAsset(string text)
{
this.text = text;
}
}
}
3 changes: 3 additions & 0 deletions Editor/Package/Asset/Types/MainTreeAsset.cs.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"name": "ResoniteImportHelper.Package.Asset.Types",
"rootNamespace": "global::ResoniteImportHelper.Package.Asset.Types",
"autoReferenced": false
}

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions Editor/Package/Import.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions Editor/Package/Import/Deserialize.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions Editor/Package/Import/Deserialize/Bitmap.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

44 changes: 44 additions & 0 deletions Editor/Package/Import/Deserialize/Bitmap/types.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
using System;
using Newtonsoft.Json;
using ResoniteImportHelper.Package.Import.Deserialize.Metadata;

namespace ResoniteImportHelper.Package.Import.Deserialize.Bitmap
{
internal sealed class BitmapTag: IAssetTag {}

[Serializable]
public sealed class BitmapMetadata : IMetadata<BitmapTag>
{
[JsonProperty("width")]
public uint Width;

[JsonProperty("height")]
public uint Height;

[JsonProperty("mipMapCount")]
public uint MipMapCount;

/// <summary>
/// Example. `png`
/// </summary>
[JsonProperty("baseFormat")]
public string Format;

[JsonProperty("bitsPerPixel")]
public uint BitsPerPixel;

[JsonProperty("channelCount")]
public uint ChannelCount;

[JsonIgnore]
public uint BitsPerChannel => BitsPerPixel / ChannelCount;

/// <summary>
/// Example. `FullyOpaque`
///
/// Example. `Alpha`
/// </summary>
[JsonProperty("alphaData")]
public string AlphaTreat;
}
}
3 changes: 3 additions & 0 deletions Editor/Package/Import/Deserialize/Bitmap/types.cs.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions Editor/Package/Import/Deserialize/IAssetTag.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
namespace ResoniteImportHelper.Package.Import.Deserialize.Metadata
{
internal interface IAssetTag
{

}
}
3 changes: 3 additions & 0 deletions Editor/Package/Import/Deserialize/IAssetTag.cs.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions Editor/Package/Import/Deserialize/IMetadata.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
namespace ResoniteImportHelper.Package.Import.Deserialize.Metadata
{
internal interface IMetadata<out TAssetTag> where TAssetTag : IAssetTag {}
}
3 changes: 3 additions & 0 deletions Editor/Package/Import/Deserialize/IMetadata.cs.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions Editor/Package/Import/Deserialize/Mesh.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading