Beispiel #1
0
 protected override void OnDrawShadows(ShadowEffectInstance shadowEffect)
 {
     if (m_model != null && !Tile.IsHidden(Level, Location) && Tile.CastShadows)
     {
         m_model.DrawShadows(shadowEffect);
     }
 }
Beispiel #2
0
 protected override void OnDrawShadows(ShadowEffectInstance shadowEffect)
 {
     if (m_visible)
     {
         m_subLevel.DrawShadows(shadowEffect);
     }
 }
Beispiel #3
0
 protected override void OnDrawShadows(ShadowEffectInstance shadowEffect)
 {
     if (m_castShadows)
     {
         m_model.DrawShadows(shadowEffect);
     }
 }
Beispiel #4
0
 protected override void OnDrawShadows(ShadowEffectInstance shadowEffect)
 {
     if (CurrentState.State != FallState.Landed && Tile.CastShadows)
     {
         if (m_modelInstance != null)
         {
             m_modelInstance.DrawShadows(shadowEffect);
         }
     }
 }
Beispiel #5
0
 public void DrawForegroundShadows(ShadowEffectInstance effect)
 {
     if (m_foregroundModel != null && m_sky.CastShadows && m_sky.ForegroundRenderPass == RenderPass.Opaque)
     {
         var worldMatrix = effect.WorldMatrix;
         effect.WorldMatrix = Matrix4.Identity;
         m_foregroundModel.DrawShadows(effect);
         effect.WorldMatrix = worldMatrix;
     }
 }
Beispiel #6
0
 protected override void OnDrawShadows(ShadowEffectInstance shadowEffect)
 {
     if (!Level.Tiles[Location].IsHidden(Level, Location) && Tile.CastShadows)
     {
         if (m_modelInstance != null)
         {
             m_modelInstance.DrawShadows(shadowEffect);
         }
     }
 }
Beispiel #7
0
 protected override void OnDrawShadows(ShadowEffectInstance shadowEffect)
 {
     if (Level.InEditor && Tile.IsHidden(Level, Location))
     {
         return;
     }
     if (Tile.CastShadows)
     {
         m_modelInstance.DrawShadows(shadowEffect);
     }
 }
Beispiel #8
0
 protected override void OnDrawShadows(ShadowEffectInstance shadowEffect)
 {
     if (Level.InEditor && Level.Tiles[m_spawnPosition].IsHidden(Level, m_spawnPosition))
     {
         return;
     }
     if (m_castShadows)
     {
         m_modelInstance.DrawShadows(shadowEffect);
     }
 }
Beispiel #9
0
 public void DrawShadows(ShadowEffectInstance effect)
 {
     if (m_sky != null)
     {
         m_sky.DrawForegroundShadows(effect);
     }
     m_tileMap.RebuildIfNeeded();
     m_tileMap.DrawShadows(effect);
     for (int i = 0; i < m_entities.Count; ++i)
     {
         var e = m_entities[i];
         if (!e.Dead && e.NeedsRenderPass(RenderPass.Opaque))
         {
             e.DrawShadows(effect);
         }
     }
 }
Beispiel #10
0
        public Level(int minX, int minY, int minZ, int maxX, int maxY, int maxZ)
        {
            m_transform   = Matrix4.Identity;
            m_timeMachine = new TimeMachine();
            m_tileMap     = new TileMap(this, minX, minY, minZ, maxX, maxY, maxZ);

            m_entities         = new List <Entity>();
            m_entityCollection = new EntityCollection(this);
            m_info             = new LevelInfo();

            m_depthComparer       = new EntityDistanceComparer();
            m_depthSortedEntities = new List <Entity>();

            m_ambientLight        = new AmbientLight(new Vector3(0.5f, 0.5f, 0.5f));
            m_ambientLight.Active = true;

            m_skyLight        = new DirectionalLight(new Vector3(0.6f, -1.0f, -0.6f), new Vector3(0.5f, 0.5f, 0.5f));
            m_skyLight.Active = true;

            m_skyLight2        = new DirectionalLight(-Vector3.UnitY, Vector3.Zero);
            m_skyLight2.Active = false;

            m_pointLights     = new List <PointLight>();
            m_lightCollection = new LightCollection(this);

            m_telepadDirectory = new TelepadDirectory();
            m_hintDirectory    = new HintDirectory();

            Visible = true;
            Random  = new Random();

            m_flatOpaqueEffect     = new FlatEffectInstance();
            m_flatCutoutEffect     = new FlatCutoutEffectInstance();
            m_litOpaqueEffect      = new LitEffectInstance(RenderPass.Opaque);
            m_litCutoutEffect      = new LitEffectInstance(RenderPass.Cutout);
            m_litTranslucentEffect = new LitEffectInstance(RenderPass.Translucent);
            m_shadowEffect         = new ShadowEffectInstance();

            m_particles = new ParticleManager(this);
        }
Beispiel #11
0
 public void DrawShadows(ShadowEffectInstance shadowEffect)
 {
     shadowEffect.ModelMatrix = Matrix4.Identity;
     shadowEffect.Bind();
     m_shadowGeometry.Draw();
 }
Beispiel #12
0
 protected abstract void OnDrawShadows(ShadowEffectInstance shadowEffect);
Beispiel #13
0
 public void DrawShadows(ShadowEffectInstance shadowEffect)
 {
     OnDrawShadows(shadowEffect);
 }
Beispiel #14
0
 protected override void OnDrawShadows(ShadowEffectInstance shadowEffect)
 {
 }