Module game_qu.base.events
Expand source code
from game_qu.base.history_keeper import HistoryKeeper
from game_qu.base.id_creator import id_creator
from game_qu.base.timed_event import TimedEvent
from game_qu.base.count_event import CountEvent
class Event:
"""Used to store an event from the current cycle and past cycles (event being anything that is a bool)"""
happened_this_cycle = False
name = ""
is_active = True
def __init__(self):
"""Initializes the object"""
self.name = id_creator.get_unique_id()
def run(self, happened_this_cycle):
""" Uses HistoryKeeper.add() to store the event for the current cycle, which will be accessed by is_continuous()
Args:
happened_this_cycle (bool): the event from the current cycle
Returns:
None"""
if self.is_active:
self.happened_this_cycle = happened_this_cycle
HistoryKeeper.add(happened_this_cycle, self.name, False)
def happened_last_cycle(self):
""" Uses HistoryKeeper.get_last() to get the event from the last cycle and see if it is True
Returns:
bool: if the event was True last cycle
"""
return HistoryKeeper.get_last(self.name) and self.is_active
def is_click(self):
"""
Returns:
bool: if the event is True this cycle and was not last cycle"""
return not self.happened_last_cycle() and self.happened_this_cycle and self.is_active
def has_stopped(self):
"""
Returns:
bool: if the event was True last cycle and is not True this cycle"""
return self.happened_last_cycle() and not self.happened_this_cycle and self.is_active
def set_is_active(self, is_active):
""" Sets whether this Event is active. If it is not active, all functions that return a boolean will return False
and the event cannot be mutated. If it is active, all operations behave 'normally'"""
self.is_active = is_active
def activate(self):
""" Activates this function. If it is not active, all functions that return a boolean will return False and the
event cannot be mutated. If it is active, all operations behave 'normally'"""
self.set_is_active(True)
def disable(self):
""" Activates this function. If it is not active, all functions that return a boolean will return False and the
event cannot be mutated. If it is active, all operations behave 'normally'"""
self.set_is_active(False)
def get_is_active(self):
"""
Returns:
boolean: whether the function is active. If it is not active, all functions that return a boolean
will return False and the event cannot be mutated. If it is active, all operations behave 'normally'"""
return self.is_active
Classes
class Event
-
Used to store an event from the current cycle and past cycles (event being anything that is a bool)
Initializes the object
Expand source code
class Event: """Used to store an event from the current cycle and past cycles (event being anything that is a bool)""" happened_this_cycle = False name = "" is_active = True def __init__(self): """Initializes the object""" self.name = id_creator.get_unique_id() def run(self, happened_this_cycle): """ Uses HistoryKeeper.add() to store the event for the current cycle, which will be accessed by is_continuous() Args: happened_this_cycle (bool): the event from the current cycle Returns: None""" if self.is_active: self.happened_this_cycle = happened_this_cycle HistoryKeeper.add(happened_this_cycle, self.name, False) def happened_last_cycle(self): """ Uses HistoryKeeper.get_last() to get the event from the last cycle and see if it is True Returns: bool: if the event was True last cycle """ return HistoryKeeper.get_last(self.name) and self.is_active def is_click(self): """ Returns: bool: if the event is True this cycle and was not last cycle""" return not self.happened_last_cycle() and self.happened_this_cycle and self.is_active def has_stopped(self): """ Returns: bool: if the event was True last cycle and is not True this cycle""" return self.happened_last_cycle() and not self.happened_this_cycle and self.is_active def set_is_active(self, is_active): """ Sets whether this Event is active. If it is not active, all functions that return a boolean will return False and the event cannot be mutated. If it is active, all operations behave 'normally'""" self.is_active = is_active def activate(self): """ Activates this function. If it is not active, all functions that return a boolean will return False and the event cannot be mutated. If it is active, all operations behave 'normally'""" self.set_is_active(True) def disable(self): """ Activates this function. If it is not active, all functions that return a boolean will return False and the event cannot be mutated. If it is active, all operations behave 'normally'""" self.set_is_active(False) def get_is_active(self): """ Returns: boolean: whether the function is active. If it is not active, all functions that return a boolean will return False and the event cannot be mutated. If it is active, all operations behave 'normally'""" return self.is_active
Class variables
var happened_this_cycle
var is_active
var name
Methods
def activate(self)
-
Activates this function. If it is not active, all functions that return a boolean will return False and the event cannot be mutated. If it is active, all operations behave 'normally'
Expand source code
def activate(self): """ Activates this function. If it is not active, all functions that return a boolean will return False and the event cannot be mutated. If it is active, all operations behave 'normally'""" self.set_is_active(True)
def disable(self)
-
Activates this function. If it is not active, all functions that return a boolean will return False and the event cannot be mutated. If it is active, all operations behave 'normally'
Expand source code
def disable(self): """ Activates this function. If it is not active, all functions that return a boolean will return False and the event cannot be mutated. If it is active, all operations behave 'normally'""" self.set_is_active(False)
def get_is_active(self)
-
Returns
boolean
- whether the function is active. If it is not active, all functions that return a boolean
will return False and the event cannot be mutated. If it is active, all operations behave 'normally'
Expand source code
def get_is_active(self): """ Returns: boolean: whether the function is active. If it is not active, all functions that return a boolean will return False and the event cannot be mutated. If it is active, all operations behave 'normally'""" return self.is_active
def happened_last_cycle(self)
-
Uses HistoryKeeper.get_last() to get the event from the last cycle and see if it is True
Returns
bool
- if the event was True last cycle
Expand source code
def happened_last_cycle(self): """ Uses HistoryKeeper.get_last() to get the event from the last cycle and see if it is True Returns: bool: if the event was True last cycle """ return HistoryKeeper.get_last(self.name) and self.is_active
def has_stopped(self)
-
Returns
bool
- if the event was True last cycle and is not True this cycle
Expand source code
def has_stopped(self): """ Returns: bool: if the event was True last cycle and is not True this cycle""" return self.happened_last_cycle() and not self.happened_this_cycle and self.is_active
def is_click(self)
-
Returns
bool
- if the event is True this cycle and was not last cycle
Expand source code
def is_click(self): """ Returns: bool: if the event is True this cycle and was not last cycle""" return not self.happened_last_cycle() and self.happened_this_cycle and self.is_active
def run(self, happened_this_cycle)
-
Uses HistoryKeeper.add() to store the event for the current cycle, which will be accessed by is_continuous()
Args
happened_this_cycle
:bool
- the event from the current cycle
Returns
None
Expand source code
def run(self, happened_this_cycle): """ Uses HistoryKeeper.add() to store the event for the current cycle, which will be accessed by is_continuous() Args: happened_this_cycle (bool): the event from the current cycle Returns: None""" if self.is_active: self.happened_this_cycle = happened_this_cycle HistoryKeeper.add(happened_this_cycle, self.name, False)
def set_is_active(self, is_active)
-
Sets whether this Event is active. If it is not active, all functions that return a boolean will return False and the event cannot be mutated. If it is active, all operations behave 'normally'
Expand source code
def set_is_active(self, is_active): """ Sets whether this Event is active. If it is not active, all functions that return a boolean will return False and the event cannot be mutated. If it is active, all operations behave 'normally'""" self.is_active = is_active