Commit | Line | Data |
---|---|---|
ea38777c FC |
1 | from panda3d.core import TransformState |
2 | from panda3d.bullet import BulletCylinderShape, BulletRigidBodyNode, BulletGhostNode, YUp, ZUp | |
3 | from pmachines.items.item import Item | |
4 | ||
5 | ||
6 | class TeeterTooter(Item): | |
7 | ||
32cd89ca | 8 | def __init__(self, world, plane_node, cb_inst, curr_bottom, repos, mass=1, pos=(0, 0, 0), r=0, count=0, restitution=.5, friction=.5): |
80d579b1 | 9 | super().__init__(world, plane_node, cb_inst, curr_bottom, repos, 'assets/gltf/teeter_tooter/teeter_tooter.gltf', exp_num_contacts=2, mass=mass, pos=pos, r=r, count=count, restitution=restitution, friction=friction, model_scale=.5) |
ea38777c | 10 | |
80d579b1 FC |
11 | def _set_shape(self, apply_scale=True): |
12 | scale = self._model_scale if apply_scale else 1 | |
ea38777c FC |
13 | self.node.add_shape( |
14 | BulletCylinderShape(.1, 1.6, YUp), | |
80d579b1 | 15 | TransformState.makePos((0, 0, scale * .36))) |
ea38777c FC |
16 | self.node.add_shape( |
17 | BulletCylinderShape(.1, .7, ZUp), | |
80d579b1 | 18 | TransformState.makePos((0, scale * .8, scale * -.1))) |
ea38777c FC |
19 | self.node.add_shape( |
20 | BulletCylinderShape(.1, .7, ZUp), | |
80d579b1 | 21 | TransformState.makePos((0, scale * -.8, scale * -.1))) |