Files
2026-07-17 10:54:32 +08:00

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 {
}
}
}