35 lines
661 B
C#
35 lines
661 B
C#
|
using Godot;
|
||
|
using System.Reflection;
|
||
|
using System.Collections.Generic;
|
||
|
|
||
|
namespace Rokojori
|
||
|
{
|
||
|
[Tool]
|
||
|
[GlobalClass]
|
||
|
public partial class MaterialTransfer:Resource
|
||
|
{
|
||
|
[Export]
|
||
|
public SubMaterialTransfer[] transfers;
|
||
|
|
||
|
public void Transfer( Material source, Material target )
|
||
|
{
|
||
|
Lists.From( transfers ).ForEach(
|
||
|
( t )=>
|
||
|
{
|
||
|
if ( ! t.MatchesMaterial( source ) )
|
||
|
{
|
||
|
RJLog.Log( t.info, "not matching:", source );
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
RJLog.Log( t.info, "from", source, "to", target );
|
||
|
|
||
|
t.Transfer( source, target );
|
||
|
|
||
|
}
|
||
|
);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|