Exemple #1
0
 void Awake()
 {
     archManager = GameObject.Find ("ArchManager").GetComponent<ArchManager>();
     gameManager = GameObject.Find ("GameManager").GetComponent<GameManager>();
     tileManager = GameObject.Find ("TileManager").GetComponent<TileManager>();
     materialManager = GameObject.Find ("MaterialManager").GetComponent<MaterialManager>();
 }
 void Start()
 {
     manager = GetComponent<MaterialManager>();
     manager.currentFrame = min;
     manager.HandlerMaterial();
     ResetTimer();
 }
 public override void DriverSetup()
 {
     _mngMaterial = gobSystemManager.GetComponent<MaterialManager>();
     matMyMat = gameObject.GetComponent<Renderer>().material;
     _mngMaterial.RegisterMaterial(matMyMat, this);
     AdditionalSetup();
 }
Exemple #4
0
	public MaterialsBinding (UnityImporter importer)
	{
		m_importer = importer; //the max side of the code is fully asynchronous and reentrant
		m_materialManager = new MaterialManager(importer);
		m_templateManager = new TemplateManager(importer);
		m_textureManager = new TextureManager(importer);
	}
Exemple #5
0
 public 根据订单生成计划()
 {
     InitializeComponent();
     odm     = new OrderManager();
     userMgr = new UserManager();
     pm      = new ProductionManager();
     mt      = new MaterialManager();
     ppm     = new ProductPlanManager();
     index3  = 0;
 }
        public void Connect(
            MaterialManager materialManager,
            IRenderer renderer
            )
        {
            this.materialManager = materialManager;
            this.renderer        = renderer;

            InitializationDependsOn(renderer, materialManager);
        }
Exemple #7
0
 private void SetFormForEditMode(int materialId)
 {
     IsEditMode          = true;
     Material            = MaterialManager.GetMaterialById(materialId);
     Text                = @"تعديل مادة / خامة";
     txtCode.Text        = Material.Code;
     txtName.Text        = Material.Name;
     dblInPrice.Value    = (double)Material.Price;
     dblInQuantity.Value = (double)Material.Quantity;
 }
    // Use this for initialization
    void Awake()
    {
        instance = this;
        if (saveOnStart)
        {
            //SerializeMaterials ();
        }

        InitializeMaterials();
    }
Exemple #9
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            MaterialManager.Start(false);
            FontManager.LoadDefaultFonts();

            Application.Run(new Atum.Studio.Controls.NewGui.MaterialCatalogEditor.frmMaterialCatalogManager());
        }
    public SmartMaterial GetStaticMaterial()
    {
        if (staticMaterial == null || staticMaterial.material == null)
        {
            staticMaterial = MaterialManager.GetVertexLitCopy();
            staticMaterial.SetColor(Color.black);
        }

        return(staticMaterial);
    }
 public 产品原料关系(string ProID)
 {
     InitializeComponent();
     odm     = new OrderManager();
     userMgr = new UserManager();
     pm      = new ProductionManager();
     mm      = new MaterialManager();
     产品编号    = "0";
     PID     = ProID;
 }
Exemple #12
0
    private void Awake()
    {
        _playerMat        = Resources.Load("Materials/PlayerMat") as Material;
        _floorMat         = Resources.Load("Materials/FloorMat") as Material;
        _playerDestroyMat = Resources.Load("Materials/PlayerDestroyMat") as Material;
        _meteorResidueMat = Resources.Load("Materials/MeteorResidueMat") as Material;
        _playerMirrorMat  = Resources.Load("Materials/PlayerMirrorMat") as Material;

        Instance = this;
    }
        public static MaterialManager getSingleton()
        {
            MaterialManager ret = new MaterialManager(OgrePINVOKE.MaterialManager_getSingleton(), false);

            if (OgrePINVOKE.SWIGPendingException.Pending)
            {
                throw OgrePINVOKE.SWIGPendingException.Retrieve();
            }
            return(ret);
        }
Exemple #14
0
    public void UpdateMesh(ModularMesh mesh)
    {
        if (laneSurface != null)
        {
            laneSurface.RemoveFromMesh(mesh, MaterialManager.GetMaterial("diffuseGray"));
        }

        rightOutline = leftOutline.Inset(width);
        laneSurface  = new TriangleStrip(leftOutline, rightOutline, mesh, MaterialManager.GetMaterial("diffuseGray"));
    }
 private void Start()
 {
     inputManager        = GameManager.ActiveGameManager.InputManager;
     lineRenderer        = GetComponent <LineRenderer>();
     stateManager        = GameManager.ActiveGameManager.StateManager;
     characterController = GetComponent <CharacterController>();
     materialManager     = GameManager.ActiveGameManager.MaterialManager;
     timeManager         = GameManager.ActiveGameManager.TimeManager;
     powerManager        = GameManager.ActiveGameManager.PowerManager;
 }
Exemple #16
0
 public void Connect(
     MaterialManager materialManager,
     TextRenderer textRenderer
     )
 {
     this.materialManager = materialManager;
     this.textRenderer    = textRenderer;
     InitializationDependsOn(textRenderer, materialManager);
     initializeInMainThread = true;
 }
        public static Material MakeSimpleMaterial(this MaterialManager mm, string name, float r, float g, float b, float diffuse, float specular, float roughness)
        {
            var m = mm.MakeMaterial(name, "Schlick");

            m.Floats("surface_diffuse_reflectance_color").Set(diffuse * r, diffuse * g, diffuse * b);
            m.Floats("surface_specular_reflectance_color").Set(specular * r, specular * r, specular * r);
            m.Floats("surface_roughness").Set(roughness);
            m.Sync();
            return(m);
        }
Exemple #18
0
 private void Awake()
 {
     atomManager       = FindObjectOfType <AtomManager>();
     moleculeManager   = FindObjectOfType <MoleculeManager>();
     materialManager   = FindObjectOfType <MaterialManager>();
     infoPanelElements = transform.Find("InfoContainerElementos").GetComponent <CanvasGroup>();
     infoPanelMolecule = transform.Find("InfoContainerMoleculas").GetComponent <CanvasGroup>();
     infoPanelMaterial = transform.Find("InfoContainerMateriales").GetComponent <CanvasGroup>();
     infoPanelIsotopos = transform.Find("InfoContainerIsotopos").GetComponent <CanvasGroup>();
 }
Exemple #19
0
 public override void start()
 {
     base.start();
     mSocketManager      = new SocketManager();
     mGameConfig         = new GameConfig();
     mGameUtility        = new GameUtility();
     mMaterialManager    = new MaterialManager();
     mHeadTextureManager = new HeadTextureManager();
     mMahjongSystem      = new MahjongSystem();
 }
Exemple #20
0
        private static void GetMaterial()
        {
            string material = "11AKPAKLNCA0300000";
            int    rowCount = 1;

            var      manager = new MaterialManager(ServiceProvider);
            Material result  = manager.GetMaterial(material, true, rowCount);

            manager.Print(result);
        }
Exemple #21
0
 private void Awake()
 {
     atomManager          = FindObjectOfType <AtomManager>();
     moleculeManager      = FindObjectOfType <MoleculeManager>();
     materialManager      = FindObjectOfType <MaterialManager>();
     populateMoleculeList = FindObjectOfType <PopulateMoleculeList>();
     positionManager      = PositionManager.Instance;
     savePath             = Application.dataPath + "/save.json";
     tempPath             = Application.dataPath + "/tmp.json";
 }
Exemple #22
0
        public override async void OnFrameworkInitializationCompleted()
        {
            if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
            {
                CultureInfo.DefaultThreadCurrentCulture   = CultureInfo.InvariantCulture;
                CultureInfo.DefaultThreadCurrentUICulture = CultureInfo.InvariantCulture;

                UserSettings.Load();
                UserSettings.SetVersion();

                OperationProfiles.Load();

                MaterialManager.FilePath = Path.Combine(UserSettings.SettingsFolder, "materials.xml");
                MaterialManager.Load();

                /*ThemeSelector = ThemeSelector.Create(Path.Combine(ApplicationPath, "Assets", "Themes"));
                 * ThemeSelector.LoadSelectedTheme(Path.Combine(UserSettings.SettingsFolder, "selected.theme"));
                 * if (ThemeSelector.SelectedTheme.Name == "UVtoolsDark" || ThemeSelector.SelectedTheme.Name == "Light")
                 * {
                 *  foreach (var theme in ThemeSelector.Themes)
                 *  {
                 *      if (theme.Name != "UVtoolsLight") continue;
                 *      theme.ApplyTheme();
                 *      break;
                 *  }
                 * }*/

                MainWindow = new MainWindow();
                try
                {
                    if (!CvInvoke.Init())
                    {
                        await MainWindow.MessageBoxError("UVtools can not init OpenCV library\n" +
                                                         "Please build or install this dependencies in order to run UVtools\n" +
                                                         "Check manual or page at 'Requirements' section for help",
                                                         "UVtools can not run");
                    }
                }
                catch (Exception e)
                {
                    await MainWindow.MessageBoxError("UVtools can not run due lack of dependencies from cvextern/OpenCV\n" +
                                                     "Please build or install this dependencies in order to run UVtools\n" +
                                                     "Check manual or page at 'Requirements' section for help\n\n" +
                                                     "Additional information:\n" +
                                                     $"{e}", "UVtools can not run");

                    return;
                }

                desktop.MainWindow = MainWindow;
                //desktop.Exit += (sender, e) => ThemeSelector.SaveSelectedTheme(Path.Combine(UserSettings.SettingsFolder, "selected.theme"));
            }

            base.OnFrameworkInitializationCompleted();
        }
 private void Awake()
 {
     if (Instance != null && Instance != this)
     {
         Destroy(this.gameObject);
     }
     else
     {
         Instance = this;
     }
 }
Exemple #24
0
 internal override void btnOK_Click(object sender, EventArgs e)
 {
     if (this.btnManufacturerSave.Enabled || this.btnMaterialSave.Enabled)
     {
         if (MessageBox.Show("Save uncommitted changes?", "Save uncommitted changes?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
         {
             MaterialManager.Save();
         }
     }
     base.btnOK_Click(sender, e);
 }
Exemple #25
0
        private void ArchiveOrUnArchiveMaterial(bool isArchived)
        {
            var rowIndex = dgvMaterials.SelectedRows[0].Index;
            var material =
                MaterialManager.GetMaterialById(int.Parse(dgvMaterials.SelectedRows[0].Cells[0].Value.ToString()));

            material.IsArchived = isArchived;
            MaterialManager.UpdateMaterial(material);
            ResetForm();
            dgvMaterials.Rows[rowIndex].Selected = true;
        }
Exemple #26
0
    void Awake()
    {
        if (_inst != null)
        {
            Debug.LogError(_inst.GetType().ToString() + ": detected singleton instance has existed. About to destroy this one " + gameObject.name);
            Destroy(this);
            return;
        }

        _inst = this;
    }
Exemple #27
0
 public void CreateMeshNew(ModularMesh mesh)
 {
     if (leftOutline)
     {
         rightOutline = new Polyline(
             leftOutline.VerticesToParameter(startParameter),
             leftOutline.Inset(width).VerticesBetweenParameter(startParameter, endParameter),
             leftOutline.VerticesFromParameter(endParameter));
         laneSurface = new TriangleStrip(leftOutline, rightOutline, mesh, MaterialManager.GetMaterial("diffuseGray"));
     }
 }
Exemple #28
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            try
            {
                LoggingManager.Start();

                //DEBUG trial license
                //OnlineCatalogLicenses.CreateTrialLicense(@"D:\Coding\Workspaces\Atum\OperatorStation\Atum.Studio\bin\Debug\Settings\Licenses.dat");

                FontManager.LoadDefaultFonts();
                //ConnectivityManager.Start();
                MaterialManager.Start(true);
                UserProfileManager.Start();
                LicenseClientManager.Start();

                if (!UserProfileManager.UserProfile.Settings_Skip_Welcome_Screen_On_Next_Start || IsTrialLicenseExpired() || IsLicenseExpiring())
                {
                    Thread splashThread = new Thread(new ThreadStart(
                                                         delegate
                    {
                        splashForm = new SplashFrm();
                        splashForm.ControlClosed += SplashForm_ControlClosed;
                        splashForm.RecentFilesOpenExistsProject         += SplashForm_OpenExistsProject;
                        splashForm.RecentFilesOpenNewProject            += SplashForm_OpenNewProject;
                        splashForm.RecentFilesSelectedRecentFileChanged += SplashForm_OpenExistsProject;
                        splashForm.UnLicensedProgramControlLicensedProgramControlOpenExistingProject += SplashForm_OpenExistsProject;
                        splashForm.UnLicensedProgramControlLicensedProgramControlOpenNewProject      += SplashForm_OpenNewProject;
                        splashForm.SplashSkipWelcomClicked += SplashForm_OpenNewProject;

                        Application.Run(splashForm);
                    }
                                                         ));

                    splashThread.SetApartmentState(ApartmentState.STA);
                    splashThread.Start();
                    splashThread.Join();
                }
                else
                {
                    var mainForm = InitializeMainForm();
                    Application.Run(mainForm);
                }
            }
            catch (Exception exc)
            {
                LicenseClientManager.Stop();
                MessageBox.Show(exc.StackTrace.Replace("Atum.Studio", "OperatorStation"));
                DAL.Managers.LoggingManager.WriteToLog("Fatal error happened", "Main", exc);
                Debug.WriteLine(exc.Message);
            }
        }
        public static Material MakeSchlick(this MaterialManager mm, string name)
        {
            var m = mm.MakeMaterial(name, "Schlick");

            m.Floats("surface_diffuse_reflectance_color").Set(0.44f, 0.44f, 0.44f);
            m.Floats("surface_specular_reflectance_color").Set(1.0f, 1.0f, 1.0f);
            m.Floats("surface_specular_reflectance_exponent").Set(80.0f);
            m.Floats("surface_roughness").Set(0.02f);
            m.Sync();
            return(m);
        }
 void Awake()
 {
     if (mSingleton)
     {
         Destroy(gameObject);
     }
     else
     {
         mSingleton = this;
     }
 }
        public static RenderTexture TerrainToIndexMapRenderTexture(PaintContext.ITerrainInfo context)
        {
            RenderTexture   result = null;
            MaterialManager mgr    = context.terrain.GetComponent <MaterialManager>();

            if (mgr != null)
            {
                IndexMap indexMap = mgr.GetIndexMap();
                result = indexMap.GetRenderTexture();
            }
            return(result);
        }
        public static Material MakeAnisotropic(this MaterialManager mm, string name, float r, float g, float b, float roughness, float isotropy)
        {
            var m = mm.MakeMaterial(name, "Anisotropic");

            m.Floats("surface_diffuse_reflectance_color").Set(0.1f, 0.1f, 0.1f);
            m.Floats("surface_specular_reflectance_color").Set(1.0f, 1.0f, 1.0f);
            m.Floats("surface_specular_reflectance_exponent").Set(80.0f);
            m.Floats("surface_roughness").Set(roughness);
            m.Floats("surface_isotropy").Set(isotropy);
            m.Sync();
            return(m);
        }
Exemple #33
0
        public TesAssetPack(string[] filePaths, string webPath)
            : base(filePaths)
        {
            //_directory = searchPath != null && Directory.Exists(searchPath) ? searchPath : null;
            _directory       = null;
            _webPath         = webPath;
            _textureManager  = new TextureManager(this);
            _materialManager = new MaterialManager(_textureManager);
            var markerLayer = 0; // LayerMask.NameToLayer("Marker");

            _nifManager = new NifManager(this, _materialManager, markerLayer);
        }
Exemple #34
0
        public void Connect(
            MaterialManager materialManager,
            IRenderer renderer,
            ISceneManager sceneManager
            )
        {
            this.MaterialManager = materialManager;
            this.renderer        = renderer;
            this.sceneManager    = sceneManager;

            InitializationDependsOn(materialManager, renderer, sceneManager);
        }
        public GraphicsContext(Lazy<IFileStore> files, IInputContext input)
        {
            var deviceManager = new DeviceManager();
            DeviceManager = deviceManager;

            TextureResourceManager = new TextureResourceManager(deviceManager, files);
            TextureSamplerManager = new TextureSamplerManager(deviceManager);
            MaterialManager = new MaterialManager(this);
            BlendStateManager = new BlendStateManager(deviceManager);
            RasterizerStateManager = new RasterizerStateManager(deviceManager);

            RenderTargetFactory = new RenderTargetFactory(this, input);
            VertexBufferManagerFactory = new VertexBufferManagerFactory(deviceManager);
            IndexBufferManagerFactory = new IndexBufferManagerFactory(deviceManager);
            ConstantBufferManagerFactory = new ConstantBufferManagerFactory(deviceManager);
        }
        protected override void OnLoad(EventArgs e)
        {
            // Initialize GL settings
            GPUCapabilities.Initialize();
            GLState.DepthTest = true;
            GLState.AlphaBleding = false;
            GLState.CullFace = true;
            GL.ClearColor(0.25f, 0.25f, 0.25f, 1.0f);

            // Set up camera
            camera = new Camera(this);
            camera.Perspective(Width, Height, (float)Math.PI / 4, 1f, 1000);
            camera.Position = new Vector3(0, 20, 100);
            camera.Target = new Vector3(0, 0, -1);
            camera.SetAsCurrent();

            // Set up PackageManager
            PackageManager.BasePath = "../../Assets/";

            // Load shaders
            ShaderManager.LoadCollection("Shaders/collection.xml");

            // Load texture
            textures = new TextureManager();
            var texture = textures.Get("Textures/concreteslabs.tex", true);
            texture.Quality.Mipmaps = true;
            texture.Quality.TextureWrapMode = TextureWrapMode.Repeat;

            // Load up a mesh
            MeshManager meshManager = new MeshManager();
            var mesh = meshManager.Get("Meshes/dragon.mesh", true);

            // Create base material
            materials = new MaterialManager();
            materials.Insert("uniformexamplematerial.mat", new Material()
            {
                UniformData = new List<IUniformData>()
                {
                    new UniformDataFloat() {
                        Name = "time",
                        Data = 0.0f
                    },
                    new UniformDataVector2() {
                        Name = "toffset",
                        Data = Vector2.Zero
                    },
                    new UniformDataVector4() {
                        Name = "color",
                        Data = Vector4.One
                    }
                }
            });

            // Construct a model from shader, texture and mesh, with default material
            model = new Model()
            {
                Shader = ShaderManager.Get("uniformexamplemodel"),
                Texture = texture,
                Mesh = mesh,
                Material = materials.Get("uniformexamplematerial.mat")
            };

            model2 = new Model()
            {
                Shader = ShaderManager.Get("uniformexamplemodel"),
                Texture = texture,
                Mesh = mesh,
                Material = materials.Get("uniformexamplematerial.mat")
            };

            model3 = new Model()
            {
                Shader = ShaderManager.Get("uniformexamplemodel"),
                Texture = texture,
                Mesh = mesh,
                Material = materials.Get("uniformexamplematerial.mat")
            };

            model.Transform.Position += new Vector3(-1, 0.5f, 0);
            model2.Transform.Position += new Vector3(1, 0.5f, 0);
            model3.Transform.Position += new Vector3(0, -0.75f, 0);

            model.Transform.Rotation *= new Quaternion(0, (float)Math.PI, 0);

            // set up rendering queue
            renderQueue = new RenderQueue();
            renderQueue.AllowInstancing = false;
        }
        public override void Register(List<register.IRegisterable> registerables, register.ReflectSet reflects, render.GpuTaskManager gpuManager, MaterialManager materialManager, PoolManager poolManager)
        {
            base.Register(registerables, reflects, gpuManager, materialManager, poolManager);

            BoundingSphere currentBounding;
            Helpers.TransformBoundingSphere(ref _boundingSphere, ref _lastWorld, out currentBounding);

            registerables.Add(EllipsoidPrimitiveRegisterable.CreateInstance(
                poolManager.GetPool<EllipsoidPrimitiveRegisterable>(), _vertices.Length, _indicesWF.Length, _indices.Length,
                   _vertexBuffer, _indexWFBuffer, _indexBuffer, _lastWorld, Color, IsOpaque, currentBounding));
        }
Exemple #38
0
        public void Initialise()
        {
            Root = new Root();
            ConfigFile cf = new ConfigFile();
            cf.Load("Resources.cfg", "\t:=", true);

            ConfigFile.SectionIterator seci = cf.GetSectionIterator();

            while (seci.MoveNext())
            {
                ConfigFile.SettingsMultiMap settings = seci.Current;
                foreach (KeyValuePair<string, string> pair in settings)
                    ResourceGroupManager.Singleton.AddResourceLocation(pair.Value, pair.Key, seci.CurrentKey);
            }

            if (!Root.RestoreConfig())
                if (!Root.ShowConfigDialog())
                    return;

            Root.RenderSystem.SetConfigOption("VSync", "Yes");
            RenderWindow = Root.Initialise(true, "Kolejny epicki erpeg");  // @@@@@@@@@@@@@@@ Nazwa okna gry.

            ResourceGroupManager.Singleton.InitialiseAllResourceGroups();

            SceneManager = Root.CreateSceneManager(SceneType.ST_GENERIC);
            Camera = SceneManager.CreateCamera("MainCamera");
            Viewport = RenderWindow.AddViewport(Camera);
            Camera.NearClipDistance = 0.1f;
            Camera.FarClipDistance = 1000.0f;
            Camera.AspectRatio = ((float)RenderWindow.Width / (float)RenderWindow.Height);

            MOIS.ParamList pl = new MOIS.ParamList();
            IntPtr windowHnd;
            RenderWindow.GetCustomAttribute("WINDOW", out windowHnd);
            pl.Insert("WINDOW", windowHnd.ToString());

            InputManager = MOIS.InputManager.CreateInputSystem(pl);

            Keyboard = (MOIS.Keyboard)InputManager.CreateInputObject(MOIS.Type.OISKeyboard, true);
            Mouse = (MOIS.Mouse)InputManager.CreateInputObject(MOIS.Type.OISMouse, true);

            NewtonWorld = new World();
            NewtonDebugger = new Debugger(NewtonWorld);
            NewtonDebugger.Init(SceneManager);

            GameCamera = new GameCamera();
            ObjectManager = new ObjectManager();

            MaterialManager = new MaterialManager();
            MaterialManager.Initialise();

            Items = new Items();
            PrizeManager = new PrizeManager();  //////////////////// @@ Brand nju staff. Nawet trochę działa :Δ
            CharacterProfileManager = new CharacterProfileManager();
            Quests = new Quests();
            NPCManager = new NPCManager();

            Labeler = new TextLabeler(5);
            Random = new Random();
            HumanController = new HumanController();

            TypedInput = new TypedInput();

            SoundManager = new SoundManager();

            Dialog = new Dialog();
            Mysz = new MOIS.MouseState_NativePtr();
            Conversations = new Conversations();

            TriggerManager = new TriggerManager();

            Engine.Singleton.Keyboard.KeyPressed += new MOIS.KeyListener.KeyPressedHandler(TypedInput.onKeyPressed);
            Mouse.MouseReleased += new MOIS.MouseListener.MouseReleasedHandler(MouseReleased);

            IngameConsole = new IngameConsole();
            IngameConsole.Init();
            IngameConsole.AddCommand("dupa", "soundOddawajPiec");
            IngameConsole.AddCommand("tp", "ZejscieDoPiwnicy");
            IngameConsole.AddCommand("exit", "Exit", "Wychodzi z gry. Ale odkrywcze. Super. Musze sprawdzic jak sie zachowa konsola przy duzej dlugosci linii xD llllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmiiiiiiiiiiiiiiii");
            IngameConsole.AddCommand("play", "playSound", "Odtwarza dzwiek. Skladnia: play <sciezka do pliku>. Np. play other/haa.mp3");
            IngameConsole.AddCommand("map", "ChangeMap");
            IngameConsole.AddCommand("save", "SaveGame");
            IngameConsole.AddCommand("load", "LoadGame");
            IngameConsole.AddCommand("help", "ConsoleHelp");
            IngameConsole.AddCommand("h", "CommandHelp");
        }
 private void Awake()
 {
     Instance = this;
 }
 public RenderManager(GraphicsContext graphics)
     : base(graphics)
 {
     _graphics = graphics;
     _materials = new MaterialManager(graphics);
 }
        public Miner2DWindow()
        {
            InitializeComponent();

            #region Init World

            // Set the size of the world to something a bit random (gets boring when it's always the same size)
            double halfSize = 325 + StaticRandom.Next(500);
            _boundryMin = new Vector3D(-halfSize, -halfSize, -10);		// I need to set Z to something.  If the Z plates are too close together, then objects will get stuck and not move (constantly colliding)
            _boundryMax = new Vector3D(halfSize, halfSize, 10);

            _world.InitialiseBodies();
            _world.ShouldForce2D = true;
            _world.Gravity = 0d;

            _materialManager = new MaterialManager(_world);
            _materialManager.SetCollisionCallback(_materialManager.ShipMaterialID, _materialManager.MineralMaterialID, null, Collision_Ship_Mineral);
            //_materialManager.SetCollisionCallback(_materialManager.ShipMaterialID, _materialManager.AsteroidMaterialID, null, Collision_Ship_Asteroid);

            List<Point3D[]> innerLines, outerLines;
            _world.SetCollisionBoundry(out innerLines, out outerLines, _viewport, _boundryMin, _boundryMax);

            Color lineColor = Color.FromArgb(255, 70, 70, 70); //UtilityWPF.AlphaBlend(Colors.White, Colors.DimGray, .1d);
            foreach (Point3D[] line in innerLines)
            {
                // Need to wait until the window is loaded to call lineModel.CalculateGeometry
                ScreenSpaceLines3D lineModel = new ScreenSpaceLines3D(false);
                lineModel.Thickness = 1d;
                lineModel.Color = lineColor;
                lineModel.AddLine(line[0], line[1]);

                _viewport.Children.Add(lineModel);
                _lines.Add(lineModel);
            }

            _world.SimulationSpeed = 1d;
            //_world.UnPause();       // wait till all the objects are loaded

            #endregion

            optionsPanel.WorldSize = halfSize * 2;
            optionsPanel.CameraAlwaysLooksUp = _cameraAlwaysLooksUp;
            optionsPanel.CameraAngle = _cameraAngle;
            optionsPanel.ShowDebugVisuals = _showDebugVisuals;
        }