49 lines
1.5 KiB
C#
49 lines
1.5 KiB
C#
using System;
|
|
using Unity.VisualScripting.Dependencies.Sqlite;
|
|
|
|
namespace Unity.VisualScripting
|
|
{
|
|
public sealed class UnitOptionRow
|
|
{
|
|
[AutoIncrement, PrimaryKey]
|
|
public int id { get; set; }
|
|
|
|
public string sourceScriptGuids { get; set; }
|
|
|
|
public string optionType { get; set; }
|
|
public string unitType { get; set; }
|
|
public string labelHuman { get; set; }
|
|
public string labelProgrammer { get; set; }
|
|
public string category { get; set; }
|
|
public int order { get; set; }
|
|
public string haystackHuman { get; set; }
|
|
public string haystackProgrammer { get; set; }
|
|
public string favoriteKey { get; set; }
|
|
public string tag1 { get; set; }
|
|
public string tag2 { get; set; }
|
|
public string tag3 { get; set; }
|
|
public string unit { get; set; }
|
|
|
|
public int controlInputCount { get; set; }
|
|
public int controlOutputCount { get; set; }
|
|
public string valueInputTypes { get; set; }
|
|
public string valueOutputTypes { get; set; }
|
|
|
|
public IUnitOption ToOption()
|
|
{
|
|
using (ProfilingUtility.SampleBlock("Row to option"))
|
|
{
|
|
var optionType = Codebase.DeserializeType(this.optionType);
|
|
|
|
IUnitOption option;
|
|
|
|
option = (IUnitOption)Activator.CreateInstance(optionType);
|
|
|
|
option.Deserialize(this);
|
|
|
|
return option;
|
|
}
|
|
}
|
|
}
|
|
}
|