Changeset 37624

Show
Ignore:
Timestamp:
05/19/10 11:23:44 (5 years ago)
Author:
isaisstillalive
Message:
  • フェイズの終了を待つためのメソッドを追加
Location:
lang/csharp/DominionEngine
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • lang/csharp/DominionEngine/DominionEngine.Core.Test/GameTest.cs

    r37623 r37624  
    267267        #region フェイズ 
    268268 
    269         #endregion 
    270  
    271         #endregion 
    272  
    273         #region フェイズ 
     269        [Test] 
     270        public void WaitPhaseFinished() 
     271        { 
     272            Game game = new Game(2); 
     273 
     274            bool finished = false; 
     275            new System.Threading.Thread(()=>{ 
     276                game.WaitPhaseFinished(); 
     277                finished = true; 
     278            }).Start(); 
     279 
     280            Assert.That(finished, Is.False); 
     281 
     282            game.FinishPhase(); 
     283            System.Threading.Thread.Sleep(0); 
     284 
     285            Assert.That(finished, Is.True); 
     286        } 
    274287 
    275288        [Test] 
     
    299312            Assert.That(game.Phase, Is.EqualTo(Phase.CleanUp)); 
    300313        } 
     314 
     315        #endregion 
    301316 
    302317        #endregion 
  • lang/csharp/DominionEngine/DominionEngine.Core/Game.cs

    r37623 r37624  
    55using System.Collections.ObjectModel; 
    66using DominionEngine.CardInfo; 
     7using System.Threading; 
    78 
    89namespace DominionEngine 
     
    349350        } 
    350351 
     352        /// <summary> 
     353        /// フェイズを終了する 
     354        /// </summary> 
     355        internal void FinishPhase() 
     356        { 
     357            phaseWaiting = false; 
     358        } 
     359 
     360        /// <summary> 
     361        /// フェイズ終了まで待つ 
     362        /// </summary> 
     363        internal void WaitPhaseFinished() 
     364        { 
     365            phaseWaiting = true; 
     366            while (phaseWaiting) Thread.Sleep(0); 
     367        } 
     368 
     369        internal bool phaseWaiting = false; 
     370 
    351371        #endregion 
    352372