armory/Sources/armory/logicnode/SetMaterialRgbParamNode.hx

36 lines
757 B
Haxe
Raw Normal View History

2018-06-12 13:50:27 +02:00
package armory.logicnode;
2021-06-09 19:09:24 +02:00
import iron.Scene;
2018-06-12 13:50:27 +02:00
import iron.math.Vec4;
import iron.data.MaterialData;
import iron.object.Object;
2021-06-24 21:33:21 +02:00
import armory.trait.internal.UniformsManager;
2018-06-12 13:50:27 +02:00
class SetMaterialRgbParamNode extends LogicNode {
2021-06-09 19:09:24 +02:00
2019-12-19 23:54:08 +01:00
public function new(tree: LogicTree) {
2018-06-12 13:50:27 +02:00
super(tree);
}
2019-12-19 23:54:08 +01:00
override function run(from: Int) {
var perObject: Null<Bool>;
2021-06-09 19:09:24 +02:00
var object = inputs[1].get();
if(object == null) return;
perObject = inputs[2].get();
2021-06-14 13:37:10 +02:00
if(perObject == null) perObject = false;
var mat = inputs[3].get();
2021-06-09 19:09:24 +02:00
if(mat == null) return;
2021-06-14 13:37:10 +02:00
if(! perObject){
UniformsManager.removeObjectFromMap(object, Vector);
2021-06-09 19:09:24 +02:00
object = Scene.active.root;
}
2018-06-12 13:50:27 +02:00
2021-06-14 13:37:10 +02:00
UniformsManager.setVec3Value(mat, object, inputs[4].get(), inputs[5].get());
2021-06-09 19:09:24 +02:00
runOutput(0);
2018-06-12 13:50:27 +02:00
}
}