def __init__(self): # print("\tMenuState, init") super().__init__() self.entity_manager = ecs.EntityManager() self.system_manager = ecs.SystemManager(self.entity_manager) # used to make all the entities and shit self.maker = Maker(self.entity_manager, 'data/entities') """ self.system_manager.add_system(ControllerSystem(), 0) self.system_manager.add_system(MovableSystem(), 1) self.system_manager.add_system(CollisionSystem(), 1) """ self.system_manager.add_system(CommandSystem(), 0) self.system_manager.add_system(MovementSystem(), 1) self.system_manager.add_system(StateSystem(), 1) self.system_manager.add_system(AnimationSystem(), 1) self.system_manager.add_system(CollisionSystem(), 2) self.system_manager.add_system(DrawSystem(), 3) e = self.maker["Player"]("Detective.png", pos=(12, 12)) e2 = self.maker["Player"]("Detective.png", pos=(36, 12)) self.entity_manager.remove_component(e2, Commands) self.maker["Box"](pos=(12, 36)) self.world = World() self.viewport = Viewport() # self.viewport.center_on((0, 0)) self.viewport.lock_on( self.entity_manager.component_for_entity(e, Position))
def quickSimulation(): """ Lunch a quick simulation. """ world = World() print(world) while True: time.sleep(1) world.iterate() print(world)
import pygame from engine import Screen, World, Tile, Entity from systems import System, GraphicsSystem, ControlSystem, SpriteSystem from components import Component, Position, Camera, Control, State, Sprite DEBUG = True playertile = (0, 0) playerposition = (0, 0) pygame.init() pygame.display.set_caption('~ R I K \' S G A M E ~') pygame.display.set_icon(pygame.image.load('icon.png')) clock = pygame.time.Clock() w = World(size=1024, tilesize=32) s = Screen(800, 800) gs = GraphicsSystem() cs = ControlSystem() ss = SpriteSystem() p = Entity(w) p.camera = Camera(0, 0, 800, 800, track=True, entitytotrack=p) p.position = Position(0, 0, 32, 32, 2) p.control = Control(pygame.K_UP, pygame.K_DOWN, pygame.K_LEFT, pygame.K_RIGHT) p.state = State() p.sprite = Sprite() p.sprite.sprites['idle'] = [ pygame.image.load('images/player/idle.png'),