예제 #1
0
        public void Setup()
        {
            engine.Initialize();
            engine.AddSimulator(new WorldRenderingSimulator());

            var l = TW.Graphics.AcquireRenderer().CreateDirectionalLight();

            l.LightDirection = SlimDX.Vector3.Normalize(new SlimDX.Vector3(-1, -5, -1));
        }
        public void InitializeEngine()
        {
            engine = EngineFactory.CreateEngine();
            engine.DontLoadPlugin = true;

            engine.Initialize();

            EngineFactory.Instance = new EngineContext(engine);

            engine.AddSimulator(new EngineUISimulator());
        }
예제 #3
0
        public void TestProfiler()
        {
            var game = new TWEngine();

            game.DontLoadPlugin = true;
            game.Initialize();

            game.AddSimulator(new ProfilerSimulator());
            game.AddSimulator(new WorldRenderingSimulator());

            game.Run();
        }
예제 #4
0
        public void TestEngineUI()
        {
            var engine = new TWEngine();

            engine.DontLoadPlugin = true;
            engine.Initialize();

            engine.AddSimulator(new EngineUISimulator());
            engine.AddSimulator(new WorldRenderingSimulator());

            engine.Run();
        }
예제 #5
0
        public void TestRaycastEntity()
        {
            var game = new TWEngine();

            game.DontLoadPlugin = true;
            game.Initialize();

            var world = TW.Data.GetSingleton <Engine.WorldRendering.World>();

            game.AddSimulator(new BasicSimulator(delegate
            {
                var rayPos = TW.Graphics.Camera.ViewInverse.xna().Translation.dx();
                var rayDir = TW.Graphics.Camera.ViewInverse.xna().Forward.dx();
                var ray    = new Ray(rayPos, rayDir);
                var result = world.Raycast(ray);
                if (result.IsHit)
                {
                    TW.Graphics.LineManager3D.AddTriangle(result.V1, result.V2,
                                                          result.V3,
                                                          new Color4(Color.Yellow));
                }
            }));

            game.AddSimulator(new WorldRenderingSimulator());

            new Engine.WorldRendering.Entity
            {
                Mesh        = MeshFactory.Load("Core\\Barrel01"),
                Visible     = true,
                Solid       = true,
                Static      = false,
                WorldMatrix = Matrix.Translation(0, 0.5f, 0)
            };
            new Engine.WorldRendering.Entity
            {
                Mesh        = MeshFactory.Load("Core\\Barrel01"),
                Visible     = true,
                Solid       = true,
                Static      = false,
                WorldMatrix = Matrix.Translation(0, 0.5f, 1)
            };

            game.Run();
        }
예제 #6
0
        public void PlayGame()
        {
            engine.Initialize();
            var builder = new ContainerBuilder();

            // Logging
            builder.RegisterModule <LogRequestsModule>();

            // configuration based binding
            builder.RegisterAssemblyTypes(Assembly.GetExecutingAssembly()).Where(t => t.Name.EndsWith("Simulator")).SingleInstance();

            // Binding for gameplay objects
            builder.RegisterModule <GameLogicModule>();

            // Core behaviour binding for scattered
            builder.RegisterModule <BindingsModule>();

            var cont = builder.Build();

            var game = cont.Resolve <ScatteredGame>();

            game.LoadIntoEngine(engine);
            game.GenerateWorld();
        }
예제 #7
0
 private void setup()
 {
     engine = new TWEngine();
     engine.DontLoadPlugin = true;
     engine.Initialize();
 }