Module game_qu.paths.action_followable_path
Expand source code
from game_qu.paths.velocity_followable_path import VelocityFollowablePath
class ActionFollowablePath(VelocityFollowablePath):
""" A path that performs an action at each of the points. This does not work the FollowablePath methods. This will have
to change in the future."""
actions = []
is_unending = True
index_of_last_line = None
object_on_path = None
def __init__(self, start_point, object_on_path, velocity):
"""Initializes the object"""
super().__init__(start_point, [], velocity)
self.object_on_path = object_on_path
self.actions = []
def add_point(self, point, action, additional_time=None):
"""Adds the point to the action path"""
if additional_time is None:
super().add_point(point)
if additional_time is not None:
super().add_time_point(point, self.last_end_time + additional_time)
self.actions.append(action)
def run(self):
"""Runs all the code for the action path"""
new_index = self.get_index_of_line(self.total_time % self.max_time)
if new_index != self.index_of_last_line:
self.index_of_last_line = new_index
self.actions[new_index]()
self.object_on_path.left_edge, self.object_on_path.top_edge = self.get_coordinates()
def update_for_side_scrolling(self, amount):
"""Updates the Path, so side scrolling doesn't cause any issues"""
for left_edge_line in self.left_edge_lines:
# The y_coordinate for the left_edge_line is the 'left_edge' and the x_coordinate is 'time'
left_edge_line.start_point.y_coordinate -= amount
left_edge_line.end_point.y_coordinate -= amount
left_edge_line.update_line_values()
def reset(self):
"""As of now action followable paths do not support this operation"""
pass
def is_done(self, should_reset=False):
"""As of now action followable paths do not support this operation"""
pass
def has_finished(self):
"""As of now action followable paths do not support this operation"""
pass
def start(self):
"""As of now action followable paths do not support this operation"""
pass
def get_value_at_time(self, time):
"""As of now action followable paths do not support this operation"""
pass
def get_delta_value(self, start_time, end_time):
"""As of now action followable paths do not support this operation"""
pass
Classes
class ActionFollowablePath (start_point, object_on_path, velocity)
-
A path that performs an action at each of the points. This does not work the FollowablePath methods. This will have to change in the future.
Initializes the object
Expand source code
class ActionFollowablePath(VelocityFollowablePath): """ A path that performs an action at each of the points. This does not work the FollowablePath methods. This will have to change in the future.""" actions = [] is_unending = True index_of_last_line = None object_on_path = None def __init__(self, start_point, object_on_path, velocity): """Initializes the object""" super().__init__(start_point, [], velocity) self.object_on_path = object_on_path self.actions = [] def add_point(self, point, action, additional_time=None): """Adds the point to the action path""" if additional_time is None: super().add_point(point) if additional_time is not None: super().add_time_point(point, self.last_end_time + additional_time) self.actions.append(action) def run(self): """Runs all the code for the action path""" new_index = self.get_index_of_line(self.total_time % self.max_time) if new_index != self.index_of_last_line: self.index_of_last_line = new_index self.actions[new_index]() self.object_on_path.left_edge, self.object_on_path.top_edge = self.get_coordinates() def update_for_side_scrolling(self, amount): """Updates the Path, so side scrolling doesn't cause any issues""" for left_edge_line in self.left_edge_lines: # The y_coordinate for the left_edge_line is the 'left_edge' and the x_coordinate is 'time' left_edge_line.start_point.y_coordinate -= amount left_edge_line.end_point.y_coordinate -= amount left_edge_line.update_line_values() def reset(self): """As of now action followable paths do not support this operation""" pass def is_done(self, should_reset=False): """As of now action followable paths do not support this operation""" pass def has_finished(self): """As of now action followable paths do not support this operation""" pass def start(self): """As of now action followable paths do not support this operation""" pass def get_value_at_time(self, time): """As of now action followable paths do not support this operation""" pass def get_delta_value(self, start_time, end_time): """As of now action followable paths do not support this operation""" pass
Ancestors
- VelocityFollowablePath
- FollowablePath
- abc.ABC
Subclasses
Class variables
var actions
var index_of_last_line
var is_unending
var object_on_path
Methods
def add_point(self, point, action, additional_time=None)
-
Adds the point to the action path
Expand source code
def add_point(self, point, action, additional_time=None): """Adds the point to the action path""" if additional_time is None: super().add_point(point) if additional_time is not None: super().add_time_point(point, self.last_end_time + additional_time) self.actions.append(action)
def get_delta_value(self, start_time, end_time)
-
As of now action followable paths do not support this operation
Expand source code
def get_delta_value(self, start_time, end_time): """As of now action followable paths do not support this operation""" pass
def get_value_at_time(self, time)
-
As of now action followable paths do not support this operation
Expand source code
def get_value_at_time(self, time): """As of now action followable paths do not support this operation""" pass
def has_finished(self)
-
As of now action followable paths do not support this operation
Expand source code
def has_finished(self): """As of now action followable paths do not support this operation""" pass
def is_done(self, should_reset=False)
-
As of now action followable paths do not support this operation
Expand source code
def is_done(self, should_reset=False): """As of now action followable paths do not support this operation""" pass
def reset(self)
-
As of now action followable paths do not support this operation
Expand source code
def reset(self): """As of now action followable paths do not support this operation""" pass
def run(self)
-
Runs all the code for the action path
Expand source code
def run(self): """Runs all the code for the action path""" new_index = self.get_index_of_line(self.total_time % self.max_time) if new_index != self.index_of_last_line: self.index_of_last_line = new_index self.actions[new_index]() self.object_on_path.left_edge, self.object_on_path.top_edge = self.get_coordinates()
def start(self)
-
As of now action followable paths do not support this operation
Expand source code
def start(self): """As of now action followable paths do not support this operation""" pass
def update_for_side_scrolling(self, amount)
-
Updates the Path, so side scrolling doesn't cause any issues
Expand source code
def update_for_side_scrolling(self, amount): """Updates the Path, so side scrolling doesn't cause any issues""" for left_edge_line in self.left_edge_lines: # The y_coordinate for the left_edge_line is the 'left_edge' and the x_coordinate is 'time' left_edge_line.start_point.y_coordinate -= amount left_edge_line.end_point.y_coordinate -= amount left_edge_line.update_line_values()
Inherited members