Esempio n. 1
0
    @listen_to('build')
    def on_build(self, event):
        if len(self.village.get_build_events_for_slot(self.slot_id)) == 0:
            self.terminate()
            self.callback()
        
if __name__ == '__main__':
    from village import Village
    from account import Account
    from resources import Resources
    from event import Event
    
    class K():
        @trigger(TriggerEnoughSpaceForResources)
        def handler_enought_space(self):
            print("enough!")
        
    vill = Village(Account((0,0), None), None, None, None)
    vill.resources = Resources((90,0,0,0))
    vill.storage_capacity = Resources((100,0,0,0))
    vill.next_refresh_time = datetime(2220, 1, 1)
    
    inst = K()
    inst.handler_enought_space().enqueue(vill, Resources((20,0,0,0)))
    print("first check")
    vill.fire_event(Event(vill, 'spend_resources', datetime.now()))
    print("second check")
    vill.resources = Resources((0,0,0,0))
    vill.fire_event(Event(vill, 'spend_resources', datetime.now()))
    print(vill.triggers)
    
Esempio n. 2
0
    def __init(self, callback, conditions):
        self.conditions = conditions
        
        
if __name__ == '__main__':
    from village import Village
    from account import Account
    from resources import Resources
    from event import Event
    
    class K():
        @condition_changes(ConditionEnoughSpaceForResources)
        def handler_enought_space(self):
            print("enough!")
        
    vill = Village(Account((0,0), None), None, None, None)
    vill.suppress_refresh = True
    vill.resources = Resources((90,0,0,0))
    vill.production = Resources((1,0,0,0))
    vill.storage_capacity = Resources((100,0,0,0))
    vill.next_refresh_time = datetime(2220, 1, 1)
    
    inst = K()
    c = inst.handler_enought_space().enqueue(vill, Resources((20,0,0,0)))
    print("first check")
    vill.fire_event(Event(vill, 'resources_spent', datetime.now()))
    print("is true:", c.is_true())
    print("second check")
    vill.resources = Resources((0,0,0,0))
    vill.fire_event(Event(vill, 'resources_spent', datetime.now()))
    print("is true:", c.is_true())