def callback(self, player):
parent = self.parent
if not parent:
return
shared = parent.shared_trigger_objects[self.type]
status = False
if not player.disconnected and player.world_object:
x1, y1, z1 = parent.x + 0.5, parent.y + 0.5, parent.z + 0.5
x2, y2, z2 = player.world_object.position.get()
status = collision_3d(x1, y1, z1, x2, y2, z2, self.radius)
if status:
shared.add(player)
else:
shared.discard(player)
status = bool(shared)
if self.status != status:
self.status = status
if self.parent:
parent.trigger_check()
评论列表
文章目录