Exemplo n.º 1
0
 private void TryInitialize()
 {
     this.Rings = (ArtObjectInstance[])null;
     if (this.TrialRaysMesh != null)
     {
         this.TrialRaysMesh.Dispose();
     }
     if (this.TrialFlareMesh != null)
     {
         this.TrialFlareMesh.Dispose();
     }
     this.TrialRaysMesh        = this.TrialFlareMesh = (Mesh)null;
     this.TrialTimeAccumulator = this.SinceStarted = 0.0f;
     this.SpinSpeed            = 0.0f;
     if (this.maskRenderer != null)
     {
         ServiceHelper.RemoveComponent <StargateHost.MaskRenderer>(this.maskRenderer);
         this.maskRenderer = (StargateHost.MaskRenderer)null;
     }
     this.Enabled = this.Visible = this.LevelManager.Name == "STARGATE";
     if (!this.Enabled)
     {
         return;
     }
     this.TrialRaysMesh = new Mesh()
     {
         Effect       = (BaseEffect) new DefaultEffect.Textured(),
         Texture      = (Dirtyable <Texture>)((Texture)this.CMProvider.Global.Load <Texture2D>("Other Textures/smooth_ray")),
         Blending     = new BlendingMode?(BlendingMode.Additive),
         SamplerState = SamplerState.AnisotropicClamp,
         DepthWrites  = false,
         AlwaysOnTop  = true
     };
     this.TrialFlareMesh = new Mesh()
     {
         Effect       = (BaseEffect) new DefaultEffect.Textured(),
         Texture      = (Dirtyable <Texture>)((Texture)this.CMProvider.Global.Load <Texture2D>("Other Textures/flare_alpha")),
         Blending     = new BlendingMode?(BlendingMode.Alphablending),
         SamplerState = SamplerState.AnisotropicClamp,
         DepthWrites  = false,
         AlwaysOnTop  = true
     };
     this.TrialFlareMesh.AddFace(Vector3.One, Vector3.Zero, FaceOrientation.Right, true);
     this.Rings = new ArtObjectInstance[4]
     {
         this.LevelManager.ArtObjects[5],
         this.LevelManager.ArtObjects[6],
         this.LevelManager.ArtObjects[7],
         this.LevelManager.ArtObjects[8]
     };
     foreach (ArtObjectInstance artObjectInstance in this.Rings)
     {
         artObjectInstance.Material = new Material();
     }
     ServiceHelper.AddComponent((IGameComponent)(this.maskRenderer = new StargateHost.MaskRenderer(this.Game)));
     this.maskRenderer.Center = this.Rings[0].Position;
     if (this.GameState.SaveData.ThisLevel.InactiveArtObjects.Contains(0))
     {
         this.Enabled = false;
         this.LevelManager.Scripts[4].Disabled = false;
         this.LevelManager.Scripts[5].Disabled = false;
         foreach (ArtObjectInstance aoInstance in this.Rings)
         {
             this.LevelManager.RemoveArtObject(aoInstance);
         }
     }
     else
     {
         this.LevelManager.Scripts[4].Disabled = true;
         this.LevelManager.Scripts[5].Disabled = true;
         this.maskRenderer.Visible             = false;
     }
 }
Exemplo n.º 2
0
 private void TryInitialize()
 {
   this.Rings = (ArtObjectInstance[]) null;
   if (this.TrialRaysMesh != null)
     this.TrialRaysMesh.Dispose();
   if (this.TrialFlareMesh != null)
     this.TrialFlareMesh.Dispose();
   this.TrialRaysMesh = this.TrialFlareMesh = (Mesh) null;
   this.TrialTimeAccumulator = this.SinceStarted = 0.0f;
   this.SpinSpeed = 0.0f;
   if (this.maskRenderer != null)
   {
     ServiceHelper.RemoveComponent<StargateHost.MaskRenderer>(this.maskRenderer);
     this.maskRenderer = (StargateHost.MaskRenderer) null;
   }
   this.Enabled = this.Visible = this.LevelManager.Name == "STARGATE";
   if (!this.Enabled)
     return;
   this.TrialRaysMesh = new Mesh()
   {
     Effect = (BaseEffect) new DefaultEffect.Textured(),
     Texture = (Dirtyable<Texture>) ((Texture) this.CMProvider.Global.Load<Texture2D>("Other Textures/smooth_ray")),
     Blending = new BlendingMode?(BlendingMode.Additive),
     SamplerState = SamplerState.AnisotropicClamp,
     DepthWrites = false,
     AlwaysOnTop = true
   };
   this.TrialFlareMesh = new Mesh()
   {
     Effect = (BaseEffect) new DefaultEffect.Textured(),
     Texture = (Dirtyable<Texture>) ((Texture) this.CMProvider.Global.Load<Texture2D>("Other Textures/flare_alpha")),
     Blending = new BlendingMode?(BlendingMode.Alphablending),
     SamplerState = SamplerState.AnisotropicClamp,
     DepthWrites = false,
     AlwaysOnTop = true
   };
   this.TrialFlareMesh.AddFace(Vector3.One, Vector3.Zero, FaceOrientation.Right, true);
   this.Rings = new ArtObjectInstance[4]
   {
     this.LevelManager.ArtObjects[5],
     this.LevelManager.ArtObjects[6],
     this.LevelManager.ArtObjects[7],
     this.LevelManager.ArtObjects[8]
   };
   foreach (ArtObjectInstance artObjectInstance in this.Rings)
     artObjectInstance.Material = new Material();
   ServiceHelper.AddComponent((IGameComponent) (this.maskRenderer = new StargateHost.MaskRenderer(this.Game)));
   this.maskRenderer.Center = this.Rings[0].Position;
   if (this.GameState.SaveData.ThisLevel.InactiveArtObjects.Contains(0))
   {
     this.Enabled = false;
     this.LevelManager.Scripts[4].Disabled = false;
     this.LevelManager.Scripts[5].Disabled = false;
     foreach (ArtObjectInstance aoInstance in this.Rings)
       this.LevelManager.RemoveArtObject(aoInstance);
   }
   else
   {
     this.LevelManager.Scripts[4].Disabled = true;
     this.LevelManager.Scripts[5].Disabled = true;
     this.maskRenderer.Visible = false;
   }
 }