public void Load() { // Camera _gameManager.TvCamera.SetPosition(100, 150, 50); _gameManager.TvCamera.SetLookAt(100, 0, 55); // Scene and lighting _gameManager.TvScene.SetShadowParameters(_gameManager.TvGlobals.RGBA(0.1f, 0.1f, 0.1f, 0.5f), false); _gameManager.TvScene.SetBackgroundColor(0, 0, 0); _light = _gameManager.TvLights.CreatePointLight(new TV_3DVECTOR(100, 200, -100), 0.2f, 0.2f, 0.2f, 500); _gameManager.TvLights.SetLightProperties(_light, false, true, true); _gameManager.TvLights.EnableLight(_light, true); StandardMaterial = _gameManager.TvMaterials.CreateLightMaterial(1, 1, 1, 1); // Walls and floor. 100 units = 1m _field = _gameManager.TvScene.CreateMeshBuilder(); _field.AddWall3D(0, 0, 50f, 200, 50f, 10f, 100); // floor _field.AddWall3D(0, 0, 105f, 200, 105f, 20f, 10f, false, false, 0, 0.1f, 1f); // top side _field.AddWall3D(0, 0, -5f, 200, -5f, 20f, 10f, false, false, 0, 0.1f, 1f); // bottom side _field.SetLightingMode(CONST_TV_LIGHTINGMODE.TV_LIGHTING_NORMAL); _field.SetMaterial(StandardMaterial); _field.SetShadowCast(true, true); _field.ComputeNormalsEx(); _fieldPhysicsBody = _gameManager.TvPhysics.CreateStaticMeshBody(_field); _gameManager.TvPhysics.SetBodyMaterialGroup(_fieldPhysicsBody, 0); // Ball Ball = new Ball(_gameManager); Ball.Load(new TV_3DVECTOR(100f, 20f, 55f)); // Player 1 Area player1MoveArea = new Area(20, 25, 50, 75); Player1GoalArea = new Area(-50, 0, 50, 100); Player1GoalHeight = -20; _gameManager.Player1.Bat.Load(player1MoveArea); // Player 2 Area player2MoveArea = new Area(150, 25, 180, 75); Player2GoalArea = new Area(150, 0, 250, 100); Player2GoalHeight = -20; _gameManager.Player2.Bat.Load(player2MoveArea); }
public void Load(Area moveArea) { MoveArea = moveArea; _mesh = new TVMesh(); _mesh = _gameManager.TvScene.CreateMeshBuilder(); _mesh.CreateCylinder(15, 10, 100); _mesh.SetLightingMode(CONST_TV_LIGHTINGMODE.TV_LIGHTING_NORMAL); _mesh.SetMaterial(_gameManager.CurrentLevel.StandardMaterial); _mesh.ComputeNormalsEx(); _mesh.SetShadowCast(true, true); _physicsBody = _gameManager.TvPhysics.CreateMeshBody(1000000, _mesh, CONST_TV_PHYSICSBODY_BOUNDING.TV_BODY_CYLINDER); _gameManager.TvPhysics.SetBodyMaterialGroup(_physicsBody, 0); _gameManager.TvPhysics.SetBodyPosition(_physicsBody, MoveArea.MidPoint.x, 14f, MoveArea.MidPoint.y); }
public void Load(TV_3DVECTOR startPosition) { _startPos = startPosition; // Mesh _mesh = _gameManager.TvScene.CreateMeshBuilder(); _mesh.CreateSphere(4.5f); _mesh.SetLightingMode(CONST_TV_LIGHTINGMODE.TV_LIGHTING_NORMAL); _mesh.SetMaterial(_gameManager.CurrentLevel.StandardMaterial); _mesh.ComputeNormalsEx(); // Physics _physicsBody = _gameManager.TvPhysics.CreateMeshBody(0.01f, _mesh, CONST_TV_PHYSICSBODY_BOUNDING.TV_BODY_BOX); _gameManager.TvPhysics.SetBodyMaterialGroup(_physicsBody, 0); _gameManager.TvPhysics.SetDamping(_physicsBody, 0.00001f, new TV_3DVECTOR()); _gameManager.TvPhysics.SetBodyPosition(_physicsBody, _startPos.x, _startPos.y, _startPos.z); }