Exemplo n.º 1
0
        public void Initialize(string utopiaPath)
        {
            if (_engine == null)
            {
                _utopiaFolder              = utopiaPath;
                ClientSettings.PathRoot    = _utopiaFolder;
                ClientSettings.EffectPack  = Path.Combine(_utopiaFolder, @"EffectsPacks\Default\");
                ClientSettings.TexturePack = Path.Combine(_utopiaFolder, @"TexturesPacks\Default\");

                _engine = new D3DEngine();
                DXStates.CreateStates(_engine);
            }

            var modelsStorage    = new ModelSQLiteStorage(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Realms", "Common", "models.db"));
            var voxelMeshFactory = new VoxelMeshFactory(_engine);

            _modelManager = new VoxelModelManager();
            _modelManager.VoxelModelStorage = modelsStorage;
            _modelManager.VoxelMeshFactory  = voxelMeshFactory;
            _modelManager.Initialize();

            _visualWorldParameters = new VisualWorldParameters();
            _textureManager        = new CubeTexturesManager(_engine);
            _textureManager.Initialization(_engine.ImmediateContext, FilterFlags.Point);
            _cubeTextureView = _textureManager.CubeArrayTexture;

            _visualWorldParameters.CubeTextureManager = _textureManager;

            _iconFactory = new IconFactory(_engine, _modelManager, _visualWorldParameters);

            //ArrayTexture.CreateTexture2DFromFiles(_engine.Device, _engine.ImmediateContext,
            //                                        Path.Combine(ClientSettings.TexturePack, @"Terran\"), @"ct*.png",
            //                                        FilterFlags.Point, "ArrayTexture_DefaultEntityRenderer",
            //                                        out _cubeTextureView);
        }
Exemplo n.º 2
0
        public override void UnloadContent()
        {
            base.UnloadContent();
            WorldPlugins.UnloadContent();

            DXStates.Dispose();
            //UtopiaSaveManager.StopUSM();
        }
Exemplo n.º 3
0
        public override void Initialize()
        {
            _inputManager.MouseManager.IsRunning = true; //Start Mosue pooling
            _inputManager.EnableComponent();

            DXStates.CreateStates(Engine);

            //Init the TexturePack State value, after the Sampling states have been initialized
            TexturePackConfig.Current.Settings.ParseSamplingFilter(TexturePackConfig.Current.Settings.SamplingFilter);

            base.Initialize();
        }
Exemplo n.º 4
0
        public override void Initialize()
        {
            DXStates.CreateStates(this.D3dEngine);
            //UtopiaSaveManager.Start("s33m3's World");

            //DebugInit();
            NormalInit();

            //Display the pluggins that have been loaded ! =========================
            for (int i = 0; i < WorldPlugins.Plugins.WorldPlugins.Length; i++)
            {
                GameConsole.Write("Pluggin Loaded : " + WorldPlugins.Plugins.WorldPlugins[i].PluginName + " v" + WorldPlugins.Plugins.WorldPlugins[i].PluginVersion);
                WorldPlugins.Plugins.WorldPlugins[i].Initialize(_universe);
            }
            //======================================================================
#if DEBUG
            GameConsole.Write("DX11 main engine started and initialized with feature level : " + D3dEngine.GraphicsDevice.FeatureLevel);
#endif


            base.Initialize();
        }
Exemplo n.º 5
0
 public override void BeforeDispose()
 {
     DXStates.Dispose();
 }
Exemplo n.º 6
0
        public LtreeRender(Size startingWindowsSize, string WindowsCaption, Size ResolutionSize = default(Size))
            : base(startingWindowsSize, WindowsCaption, new SharpDX.DXGI.SampleDescription(1, 0), ResolutionSize)
        {
            DXStates.CreateStates(Engine);

            _camera = new FirstPersonCamera(base.Engine, 0.5f, 100.0f);

            _inputManager = new InputsManager(base.Engine, typeof(Actions));
            _inputManager.MouseManager.IsRunning = true;
            _inputManager.EnableComponent();

            _inputManager.ActionsManager.AddActions(new MouseTriggeredAction()
            {
                ActionId    = Actions.Move_Forward,
                TriggerType = MouseTriggerMode.ScrollWheelForward,
                Binding     = MouseButton.ScrollWheel
            });

            _inputManager.ActionsManager.AddActions(new MouseTriggeredAction()
            {
                ActionId    = Actions.Move_Backward,
                TriggerType = MouseTriggerMode.ScrollWheelBackWard,
                Binding     = MouseButton.ScrollWheel
            });

            _inputManager.ActionsManager.AddActions(new KeyboardTriggeredAction()
            {
                ActionId    = Actions.Move_Up,
                TriggerType = KeyboardTriggerMode.KeyDown,
                Binding     = new KeyWithModifier()
                {
                    MainKey = Keys.Z
                }
            });

            _inputManager.ActionsManager.AddActions(new KeyboardTriggeredAction()
            {
                ActionId    = Actions.Move_Down,
                TriggerType = KeyboardTriggerMode.KeyDown,
                Binding     = new KeyWithModifier()
                {
                    MainKey = Keys.S
                }
            });

            _cameraMnger = ToDispose(new CameraManager <ICamera>(_inputManager, null));
            ((CameraManager <ICamera>)_cameraMnger).RegisterNewCamera(_camera);
            _cameraMnger.EnableComponent();

            _cameraEntity = ToDispose(new Entity(new S33M3Resources.Structs.Vector3D(0, 3, -20), Quaternion.RotationAxis(Vector3.UnitY, 0.0f)));
            _cameraEntity.EnableComponent();

            _camera.CameraPlugin = (ICameraPlugin)_cameraEntity;

            _gamecomp = new LTreeVisu(Engine, (CameraManager <ICamera>)_cameraMnger, _inputManager);
            _gamecomp.EnableComponent();

            //Register Here all components
            base.GameComponents.Add(_cameraMnger);
            base.GameComponents.Add(_gamecomp);
            base.GameComponents.Add(_inputManager);
            base.GameComponents.Add(_cameraEntity);
        }