72 lines
1.7 KiB
TypeScript
72 lines
1.7 KiB
TypeScript
|
|
// @:keep
|
|
class BrushOutputNode extends LogicNode {
|
|
|
|
id = 0;
|
|
texpaint: Image = null;
|
|
texpaint_nor: Image = null;
|
|
texpaint_pack: Image = null;
|
|
texpaint_nor_empty: Image = null;
|
|
texpaint_pack_empty: Image = null;
|
|
|
|
static inst: BrushOutputNode = null;
|
|
|
|
constructor() {
|
|
super();
|
|
|
|
if (inst == null) {
|
|
{
|
|
let t = new RenderTargetRaw();
|
|
t.name = "texpaint";
|
|
t.width = Config.getTextureResX();
|
|
t.height = Config.getTextureResY();
|
|
t.format = "RGBA32";
|
|
texpaint = RenderPath.active.createRenderTarget(t).image;
|
|
}
|
|
{
|
|
let t = new RenderTargetRaw();
|
|
t.name = "texpaint_nor";
|
|
t.width = Config.getTextureResX();
|
|
t.height = Config.getTextureResY();
|
|
t.format = "RGBA32";
|
|
texpaint_nor = RenderPath.active.createRenderTarget(t).image;
|
|
}
|
|
{
|
|
let t = new RenderTargetRaw();
|
|
t.name = "texpaint_pack";
|
|
t.width = Config.getTextureResX();
|
|
t.height = Config.getTextureResY();
|
|
t.format = "RGBA32";
|
|
texpaint_pack = RenderPath.active.createRenderTarget(t).image;
|
|
}
|
|
{
|
|
let t = new RenderTargetRaw();
|
|
t.name = "texpaint_nor_empty";
|
|
t.width = 1;
|
|
t.height = 1;
|
|
t.format = "RGBA32";
|
|
texpaint_nor_empty = RenderPath.active.createRenderTarget(t).image;
|
|
}
|
|
{
|
|
let t = new RenderTargetRaw();
|
|
t.name = "texpaint_pack_empty";
|
|
t.width = 1;
|
|
t.height = 1;
|
|
t.format = "RGBA32";
|
|
texpaint_pack_empty = RenderPath.active.createRenderTarget(t).image;
|
|
}
|
|
}
|
|
else {
|
|
texpaint = inst.texpaint;
|
|
texpaint_nor = inst.texpaint_nor;
|
|
texpaint_pack = inst.texpaint_pack;
|
|
}
|
|
|
|
inst = this;
|
|
}
|
|
|
|
override getAsImage = (from: i32, done: (img: Image)=>void) => {
|
|
inputs[from].getAsImage(done);
|
|
}
|
|
}
|