update node implementations
This commit is contained in:
parent
5a591fa15a
commit
eab7fcbbe6
|
@ -3,35 +3,34 @@ package armory.logicnode;
|
|||
import iron.Scene;
|
||||
import iron.data.MaterialData;
|
||||
import iron.object.Object;
|
||||
import armory.trait.internal.UniformsManager;
|
||||
import iron.data.UniformsManager;
|
||||
|
||||
class SetMaterialImageParamNode extends LogicNode {
|
||||
|
||||
public var property0: Bool; // per object
|
||||
|
||||
var manager: UniformsManager;
|
||||
|
||||
public function new(tree: LogicTree) {
|
||||
super(tree);
|
||||
|
||||
manager = new UniformsManager(UniformType.Texture);
|
||||
}
|
||||
|
||||
override function run(from: Int) {
|
||||
var object = inputs[1].get();
|
||||
if(object == null) return;
|
||||
|
||||
var mat = inputs[2].get();
|
||||
var perObject = inputs[2].get();
|
||||
if(perObject == null) perObject = false;
|
||||
|
||||
var mat = inputs[3].get();
|
||||
if(mat == null) return;
|
||||
|
||||
if(! property0){
|
||||
if(! perObject){
|
||||
UniformsManager.removeObjectFromMap(object, Texture);
|
||||
object = Scene.active.root;
|
||||
}
|
||||
|
||||
var img = inputs[4].get();
|
||||
var img = inputs[5].get();
|
||||
if(img == null) return;
|
||||
iron.data.Data.getImage(img, function(image: kha.Image) {
|
||||
manager.setTextureValue(mat, object, inputs[3].get(), image);
|
||||
UniformsManager.setTextureValue(mat, object, inputs[4].get(), image);
|
||||
});
|
||||
|
||||
runOutput(0);
|
||||
|
|
|
@ -4,32 +4,30 @@ import iron.Scene;
|
|||
import iron.math.Vec4;
|
||||
import iron.data.MaterialData;
|
||||
import iron.object.Object;
|
||||
import armory.trait.internal.UniformsManager;
|
||||
import iron.data.UniformsManager;
|
||||
|
||||
class SetMaterialRgbParamNode extends LogicNode {
|
||||
|
||||
public var property0: Bool; // per object
|
||||
|
||||
var manager: UniformsManager;
|
||||
|
||||
public function new(tree: LogicTree) {
|
||||
super(tree);
|
||||
|
||||
manager = new UniformsManager(UniformType.Vector);
|
||||
}
|
||||
|
||||
override function run(from: Int) {
|
||||
var object = inputs[1].get();
|
||||
if(object == null) return;
|
||||
|
||||
var mat = inputs[2].get();
|
||||
var perObject = inputs[2].get();
|
||||
if(perObject == null) perObject = false;
|
||||
|
||||
var mat = inputs[3].get();
|
||||
if(mat == null) return;
|
||||
|
||||
if(! property0){
|
||||
if(! perObject){
|
||||
UniformsManager.removeObjectFromMap(object, Vector);
|
||||
object = Scene.active.root;
|
||||
}
|
||||
|
||||
manager.setVec3Value(mat, object, inputs[3].get(), inputs[4].get());
|
||||
UniformsManager.setVec3Value(mat, object, inputs[4].get(), inputs[5].get());
|
||||
runOutput(0);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,32 +3,31 @@ package armory.logicnode;
|
|||
import iron.Scene;
|
||||
import iron.data.MaterialData;
|
||||
import iron.object.Object;
|
||||
import armory.trait.internal.UniformsManager;
|
||||
import iron.data.UniformsManager;
|
||||
|
||||
class SetMaterialValueParamNode extends LogicNode {
|
||||
|
||||
public var property0: Bool; // per object
|
||||
|
||||
var manager: UniformsManager;
|
||||
|
||||
public function new(tree: LogicTree) {
|
||||
super(tree);
|
||||
|
||||
manager = new UniformsManager(UniformType.Float);
|
||||
}
|
||||
|
||||
override function run(from: Int) {
|
||||
var object = inputs[1].get();
|
||||
if(object == null) return;
|
||||
|
||||
var mat = inputs[2].get();
|
||||
var perObject = inputs[2].get();
|
||||
if(perObject == null) perObject = false;
|
||||
|
||||
var mat = inputs[3].get();
|
||||
if(mat == null) return;
|
||||
|
||||
if(! property0){
|
||||
if(! perObject){
|
||||
UniformsManager.removeObjectFromMap(object, Float);
|
||||
object = Scene.active.root;
|
||||
}
|
||||
|
||||
manager.setFloatValue(mat, object, inputs[3].get(), inputs[4].get());
|
||||
UniformsManager.setFloatValue(mat, object, inputs[4].get(), inputs[5].get());
|
||||
runOutput(0);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue