54 lines
3.6 KiB
TypeScript
54 lines
3.6 KiB
TypeScript
// @structural-rewrite-v1
|
|
import { _decorator, CCFloat, Component, Node, v3, Vec3 } from 'cc';
|
|
const { ccclass, property } = _decorator;
|
|
@ccclass('RagdollConstraint')
|
|
export class RagdollConstraint extends Component {
|
|
@property(Node)
|
|
connectedBone: Node = null;
|
|
@property(Vec3)
|
|
pivotA: Vec3 = v3();
|
|
@property(Vec3)
|
|
pivotB: Vec3 = v3();
|
|
@property(Vec3)
|
|
axisA: Vec3 = v3();
|
|
@property(Vec3)
|
|
axisB: Vec3 = v3();
|
|
@property(CCFloat)
|
|
angle = (Math["PI"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown) / 4;
|
|
@property(CCFloat)
|
|
twistAngle = (Math["PI"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown) / 8;
|
|
createConstraint(bodyA: CANNON.Body, bodyB: CANNON.Body): CANNON.ConeTwistConstraint {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default: return new (CANNON["ConeTwistConstraint"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)(bodyA, bodyB, {
|
|
"pivotA": this["toCannonVector"](this["pivotA"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown),
|
|
"pivotB": this["toCannonVector"](this["pivotB"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown),
|
|
"axisA": this["toCannonVector"](this["axisA"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown),
|
|
"axisB": this["toCannonVector"](this["axisB"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown),
|
|
"angle": this["angle"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown,
|
|
"twistAngle": this["twistAngle"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown,
|
|
});
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
}
|
|
private toCannonVector(vector: Vec3): CANNON.Vec3 {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default: return new (CANNON["Vec3"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)(vector["x"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, vector["y"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, vector["z"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown);
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
}
|
|
}
|