def move_dir(self): dir = Vector(0,0) if not self.valid(): return dir dir.x = -self.action_value(InputMethod.MOVE_LEFT) if dir.x == 0: dir.x = self.action_value(InputMethod.MOVE_RIGHT) dir.y = -self.action_value(InputMethod.MOVE_UP) if dir.y == 0: dir.y = self.action_value(InputMethod.MOVE_DOWN) if dir.squaredLen() > 1: dir.normalize() return dir
def targeting_dir(self): if self.targeting_type == InputMethod.AUTO_TARGETING: return None elif self.targeting_type == InputMethod.POINT_TARGETING: mouse = sf.Mouse.get_position(Game.window) dir = Vector(mouse.x, mouse.y) - self.player.center() dir.normalize() return dir elif self.targeting_type == InputMethod.DIRECTIONAL_TARGETING: dir = Vector(0.0, 0.0) dir.x += self.targeting_bindings['right'].value(self.id) dir.x -= self.targeting_bindings['left'].value(self.id) dir.y += self.targeting_bindings['down'].value(self.id) dir.y -= self.targeting_bindings['up'].value(self.id) dir.normalize() return dir return None