예제 #1
0
        public MainWindow()
        {
            InitializeComponent();

            var configuration = GameMaster.GameMasterConfiguration.GetDefault();

            GMConfig = Configuration.Configuration.ReadFromFile(Constants.ConfigurationFilePath);
            if (GMConfig != null)
            {
                configuration = GMConfig.ConvertToGMConfiguration();
            }

            gameMaster = new GameMaster.GameMaster(configuration);

            Board = new BoardComponent(BoardCanvas);

            GMConfig.PropertyChanged += GMConfig_PropertyChanged;

            guiTimer          = new DispatcherTimer();
            guiTimer.Interval = TimeSpan.FromMilliseconds(16);
            guiTimer.Tick    += GuiTimerEvent;
            guiTimer.Start();

            gameMasterThread = new Task(RunGameMasterThread);
            gameMasterThread.Start();
        }
예제 #2
0
 public static void RunGameMaster(GameMaster.GameMaster gameMaster, int gameMasterSleepMs)
 {
     for (int i = 0; i < 400; i++)
     {
         gameMaster.Update(gameMasterSleepMs / 1000.0);
         Thread.Sleep(gameMasterSleepMs);
     }
 }
예제 #3
0
        public static Thread CreateGmThread(GameMaster.GameMaster gameMaster, int gameMasterSleepMs)
        {
            var gmThread = new Thread(() =>
            {
                RunGameMaster(gameMaster, gameMasterSleepMs);
            });

            return(gmThread);
        }
예제 #4
0
 public GameMasterTaskState(GameMaster.GameMaster gameMaster, int gameMasterSleepMs)
 {
     GameMaster        = gameMaster;
     GameMasterSleepMs = gameMasterSleepMs;
 }