Пример #1
0
 private void DoLoad(bool dummy)
 {
   this.LevelManager.ChangeLevel(this.ToLevel);
   this.GameState.ScheduleLoadEnd = true;
   this.Phase = LevelTransition.Phases.FadeIn;
   this.SinceStarted = TimeSpan.Zero;
 }
Пример #2
0
 private void DoLoad(bool dummy)
 {
     this.LevelManager.ChangeLevel(this.ToLevel);
     this.GameState.ScheduleLoadEnd = true;
     this.Phase        = LevelTransition.Phases.FadeIn;
     this.SinceStarted = TimeSpan.Zero;
 }
Пример #3
0
        public override void Update(GameTime gameTime)
        {
            if (this.Phase != LevelTransition.Phases.LevelChange)
            {
                this.SinceStarted += gameTime.ElapsedGameTime;
            }
            if (this.SinceStarted.TotalSeconds > 1.25)
            {
                switch (this.Phase)
                {
                case LevelTransition.Phases.FadeOut:
                    this.Phase             = LevelTransition.Phases.LevelChange;
                    this.GameState.Loading = true;
                    Worker <bool> worker = this.ThreadPool.Take <bool>(new Action <bool>(this.DoLoad));
                    worker.Finished += (Action)(() => this.ThreadPool.Return <bool>(worker));
                    worker.Start(false);
                    break;

                case LevelTransition.Phases.FadeIn:
                    ServiceHelper.RemoveComponent <LevelTransition>(this);
                    break;
                }
            }
            base.Update(gameTime);
        }
Пример #4
0
 public override void Update(GameTime gameTime)
 {
   if (this.Phase != LevelTransition.Phases.LevelChange)
     this.SinceStarted += gameTime.ElapsedGameTime;
   if (this.SinceStarted.TotalSeconds > 1.25)
   {
     switch (this.Phase)
     {
       case LevelTransition.Phases.FadeOut:
         this.Phase = LevelTransition.Phases.LevelChange;
         this.GameState.Loading = true;
         Worker<bool> worker = this.ThreadPool.Take<bool>(new Action<bool>(this.DoLoad));
         worker.Finished += (Action) (() => this.ThreadPool.Return<bool>(worker));
         worker.Start(false);
         break;
       case LevelTransition.Phases.FadeIn:
         ServiceHelper.RemoveComponent<LevelTransition>(this);
         break;
     }
   }
   base.Update(gameTime);
 }