armory/Sources/armory/logicnode/GetRigidBodyDataNode.hx

52 lines
913 B
Haxe
Raw Normal View History

2020-09-13 19:08:55 +02:00
package armory.logicnode;
import iron.object.Object;
import armory.trait.physics.RigidBody;
class GetRigidBodyDataNode extends LogicNode {
public function new(tree: LogicTree) {
super(tree);
}
override function get(from: Int): Dynamic {
var object: Object = inputs[0].get();
if (object == null) return null;
2020-10-01 21:05:47 +02:00
#if arm_physics
var rb = object.getTrait(RigidBody);
2020-09-13 19:08:55 +02:00
return switch (from) {
case 0:
2020-11-18 17:50:24 +01:00
rb == null ? return false : return true;
case 1:
rb.group;
case 2:
rb.mask;
case 3:
rb.animated;
case 4:
rb.staticObj;
case 5:
rb.angularDamping;
case 6:
rb.linearDamping;
case 7:
rb.friction;
case 8:
rb.mass;
2020-09-25 00:49:21 +02:00
//case 9: ; // collision shape
//case 10: ; // activation state
//case 11: ; // is gravity enabled
//case 12: ; // angular factor
//case 13: ; // linear factor
2020-11-18 17:50:24 +01:00
default:
null;
2020-09-13 19:08:55 +02:00
}
2020-11-18 17:50:24 +01:00
#end
2020-10-01 21:05:47 +02:00
2020-11-18 18:07:23 +01:00
return null;
2020-09-13 19:08:55 +02:00
}
}