Exemplo n.º 1
0
        private void mainLoop()
        {
            var display = CoreRegistry.require <DisplayDevice>(DisplayDevice.Uri);

            logger.info("running");
            _isRunning = true;
            while (_isRunning && !display.closeRequest)
            {
                processStateChanges();

                if (currentState == null)
                {
                    break;
                }

                foreach (var tick in time.tick())
                {
                    //logger.info("tick {0}", tick);

                    foreach (var system in _subsystems)
                    {
                        system.preUpdate(tick);
                    }

                    currentState.update(tick);

                    foreach (var system in _subsystems)
                    {
                        system.postUpdate(tick);
                    }
                }

                //switchState(null);
            }
        }
Exemplo n.º 2
0
        private void checkOpenGL()
        {
            var canRunGame = true;/*GLContext.getCapabilities().OpenGL11
                                   * & GLContext.getCapabilities().OpenGL12
                                   * & GLContext.getCapabilities().OpenGL14
                                   * & GLContext.getCapabilities().OpenGL15
                                   * & GLContext.getCapabilities().GL_ARB_framebuffer_object
                                   * & GLContext.getCapabilities().GL_ARB_texture_float
                                   * & GLContext.getCapabilities().GL_ARB_half_float_pixel
                                   * & GLContext.getCapabilities().GL_ARB_shader_objects*/

            ;

            if (!canRunGame)
            {
                String message = "Your GPU driver is not supporting the mandatory versions or extensions of OpenGL. Considered updating your GPU drivers? Exiting...";
                logger.error(message);
                return;
            }

            var assetManager = CoreRegistry.require <AssetManager>(AssetManager.Uri);

            assetManager.setFactory2 <MeshData, IMesh>(AssetType.MESH, new AssetFactory2((uri, data) =>
            {
                return(new OpenTKMesh(uri, (MeshData)data));
            }));

            ///var mesh = assetManager.generateAsset<Mesh, MeshData>("mesh:asdf:asdf", new MeshData());
        }
Exemplo n.º 3
0
        private void init()
        {
            if (_initialised)
            {
                return;
            }

            _initialised = true;

            logger.info("Initializing Atma Asteroids...");
            logger.info("Version: 0.1 ALPHA");
            //logger.info("Home path: {}", PathManager.getInstance().getHomePath());
            //logger.info("Install path: {}", PathManager.getInstance().getInstallPath());
            //logger.info("Java: {} in {}", System.getProperty("java.version"), System.getProperty("java.home"));
            //logger.info("Java VM: {}, version: {}", System.getProperty("java.vm.name"), System.getProperty("java.vm.version"));
            //logger.info("OS: {}, arch: {}, version: {}", System.getProperty("os.name"), System.getProperty("os.arch"), System.getProperty("os.version"));
            //logger.info("Max. Memory: {} MB", Runtime.getRuntime().maxMemory() / (1024 * 1024));
            //logger.info("Processors: {}", Runtime.getRuntime().availableProcessors());

            //time = CoreRegistry.putPermanently("core:time", new StopwatchTime());
            foreach (var s in _subsystems)
            {
                CoreRegistry.putPermanently(s.uri, s);
            }

            CoreRegistry.putPermanently(Assets.AssetManager.Uri, new Assets.AssetManager());

            foreach (var s in _subsystems)
            {
                s.init();
            }

            time = CoreRegistry.require <IGameTime>(TimeBase.Uri);
        }
Exemplo n.º 4
0
        public override void init()
        {
            base.init();
            //CoreRegistry.putPermanently(RenderingSubsystemFactory.class, new LwjglRenderingSubsystemFactory(bufferPool));

            _engine = CoreRegistry.require <GameEngine>(GameEngine.Uri);
            initDisplay();
            initOpenGL();
        }
Exemplo n.º 5
0
        public void begin()
        {
            logger.info("begin");
            _graphics = CoreRegistry.require <GraphicsSubsystem>(GraphicsSubsystem.Uri);

            _entity = CoreRegistry.put(EntityManager.Uri, new EntityManager());

            _components = CoreRegistry.put(ComponentSystemManager.Uri, new ComponentSystemManager());
            _components.register(PhysicsSystem.Uri, new PhysicsSystem());
            _components.register(RenderSystem.Uri, new RenderSystem());

            _components.init();

            var id = _entity.create();

            var position = _entity.addComponent(id, "position", new Position());

            position.x = 1f;
            position.y = 1f;

            //var velocity = _entity.addComponent(id, "velocity", new Velocity());
            //velocity.x = 2;
            //velocity.y = 1.5f;


            var meshdata = new MeshData();

            meshdata.vertices = new Vector3[] { new Vector3(-1, 1, 0), new Vector3(0, -1, 0), new Vector3(1, 1, 0) };
            meshdata.indices  = new ushort[] { 0, 1, 2 };

            var mesh = new Mesh()
            {
                mesh = Assets.Assets.generateAsset(AssetType.MESH, meshdata)
            };

            _entity.addComponent(id, "mesh", mesh);
            //OpenGL.GL.Vertex2(-1.0f, 1.0f);
            //OpenGL.GL.Color3(Color.SpringGreen.r, Color.SpringGreen.g, Color.SpringGreen.b);
            //OpenGL.GL.Vertex2(0.0f, -1.0f);
            //OpenGL.GL.Color3(Color.Ivory.r, Color.Ivory.g, Color.Ivory.b);
            //OpenGL.GL.Vertex2(1.0f, 1.0f);
        }
Exemplo n.º 6
0
 public override void init()
 {
     logger.info("initialise");
     _engine = CoreRegistry.require<GameEngine>(GameEngine.Uri);
 }
Exemplo n.º 7
0
 public void init()
 {
     logger.info("initialise");
     _manager = CoreRegistry.require <EntityManager>(EntityManager.Uri);
 }
Exemplo n.º 8
0
        public static IMesh generateAsset(AssetType type, MeshData data)
        {
            var uri = new AssetUri(AssetType.MESH, "Temp", Guid.NewGuid().ToString());

            return(CoreRegistry.require <AssetManager>(AssetManager.Uri).generateAsset <IMesh, MeshData>(uri, data));
        }
Exemplo n.º 9
0
 public void init()
 {
     //_graphic = CoreRegistry.require<GraphicsSubsystem>(GraphicsSubsystem.Uri);
     _manager = CoreRegistry.require <EntityManager>(EntityManager.Uri);
 }