39 lines
1.0 KiB
C#
39 lines
1.0 KiB
C#
namespace Obi
|
|
{
|
|
public class ObiMasterSlavePaintBrushMode : IObiBrushMode
|
|
{
|
|
ObiBlueprintIntProperty property;
|
|
|
|
public ObiMasterSlavePaintBrushMode(ObiBlueprintIntProperty property)
|
|
{
|
|
this.property = property;
|
|
}
|
|
|
|
public string name
|
|
{
|
|
get { return "Master/Slave paint"; }
|
|
}
|
|
|
|
public bool needsInputValue
|
|
{
|
|
get { return true; }
|
|
}
|
|
|
|
public void ApplyStamps(ObiBrushBase brush, bool modified)
|
|
{
|
|
for (int i = 0; i < brush.weights.Length; ++i)
|
|
{
|
|
if (!property.Masked(i) && brush.weights[i] > (1 - brush.opacity))
|
|
{
|
|
int currentValue = property.Get(i);
|
|
|
|
if (modified)
|
|
currentValue &= ~(int)(1 << property.GetDefault());
|
|
else currentValue |= (int)(1 << property.GetDefault());
|
|
|
|
property.Set(i, currentValue);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |