# Path: compositecore.py
# class Leaf(Component):
#     """
#     Abstract leaf class of composite design pattern.
# 
#     Component classes of leaf type should inherit from this class.
#     """
# 
#     def __init__(self):
#         super(Leaf, self).__init__()
# 
#     def get_relative_of_type(self, component_type):
#         return self.parent.get_child_or_ancestor(component_type)
# 
#     def has_relative_of_type(self, component_type):
#         return self.parent.has_child_or_ancestor(component_type)


from compositecore import Leaf
import menu
import state

__author__ = 'co'


def start_accept_reject_prompt(state_stack, game_state, message):
    prompt = menu.AcceptRejectPrompt(state_stack, message)
    game_state.start_prompt(state.UIState(prompt))

# Path: compositecore.py
# class Leaf(Component):
#     """
#     Abstract leaf class of composite design pattern.
# 
#     Component classes of leaf type should inherit from this class.
#     """
# 
#     def __init__(self):
#         super(Leaf, self).__init__()
# 
#     def get_relative_of_type(self, component_type):
#         return self.parent.get_child_or_ancestor(component_type)
# 
#     def has_relative_of_type(self, component_type):
#         return self.parent.has_child_or_ancestor(component_type)


# Path: prompt.py
from compositecore import Leaf
import menu
import state


__author__ = 'co'


def start_accept_reject_prompt(state_stack, game_state, message):
    prompt = menu.AcceptRejectPrompt(state_stack, message)
    game_state.start_prompt(state.UIState(prompt))

    return prompt.result