Esempio n. 1
0
 public void Dispose()
 {
     Skybox.Dispose();
     Terrain.Dispose();
     Water.Dispose();
     Ship.Dispose();
     Shark.Dispose();
     Character.Dispose();
     Fishes.ForEach(fish => fish.Dispose());
     Vegetation.Dispose();
     Common.Dispose();
     Weapon.Dispose();
     Bubble.Dispose();
 }
Esempio n. 2
0
 public void Update(float elapsedTime, float timeBeetweenUpdate)
 {
     Timer += elapsedTime;
     FogShader.SetValue("time", Timer);
     SoundManager.PlayMusicAmbient(Character.Submerge);
     Character.Update(Ray, Shark.Mesh, elapsedTime);
     PhysicalWorld.dynamicsWorld.StepSimulation(elapsedTime, maxSubSteps: 10, timeBeetweenUpdate);
     Fishes.ForEach(fish => fish.Update(elapsedTime, Camera));
     Skybox.Update();
     Shark.Update(elapsedTime);
     Water.Update(elapsedTime, Camera.Position);
     Terrain.Update(elapsedTime, Camera.Position);
     Character.LooksAtTheHatch = Ray.IntersectsWithObject(objectAABB: Ship.Plane.BoundingBox, distance: 500);
     Character.CanAttack       = Ray.IntersectsWithObject(objectAABB: Shark.Mesh.BoundingBox, distance: 150);
     Character.NearShip        = Ray.IntersectsWithObject(objectAABB: Ship.OutdoorMesh.BoundingBox, distance: 500);
     Character.IsNearSkybox    = Skybox.IsNearSkybox;
     Bubble.Update(elapsedTime, MeshBuilder, Skybox);
     DetectSelectedItem();
 }
Esempio n. 3
0
        public void Render(TgcFrustum frustum)
        {
            Character.Render();

            if (Character.IsInsideShip)
            {
                Ship.RenderIndoorShip();
            }
            else
            {
                FogShader.SetValue("CameraPos", TGCVector3.TGCVector3ToFloat4Array(Camera.Position));
                FogShader.SetValue("eyePosition", TGCVector3.TGCVector3ToFloat4Array(Camera.Position));
                Ship.RenderOutdoorShip();
                Skybox.Render(Terrain.SizeWorld());
                Terrain.Render();
                Shark.Render();
                QuadTree.Render(frustum, false);
                Fishes.ForEach(fish => fish.Render());
                Water.Render();
                Bubble.Render();
            }
        }