예제 #1
0
        public MainWindow()
        {
            //Change locale US (make sure language in application)
            CultureInfo.DefaultThreadCurrentCulture   = new CultureInfo("en-US");
            CultureInfo.DefaultThreadCurrentUICulture = new CultureInfo("en-US");
            XmlLanguage lang = XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag);

            FrameworkElement.LanguageProperty.OverrideMetadata(typeof(FrameworkElement), new FrameworkPropertyMetadata(lang));
            FrameworkContentElement.LanguageProperty.OverrideMetadata(typeof(System.Windows.Documents.TextElement), new FrameworkPropertyMetadata(lang));

            InitializeComponent();

            logger = LogManager.GetCurrentClassLogger();

            prajuritDatabase            = new PrajuritDatabase();
            prajurits                   = new List <Prajurit>();
            pesertaDataGrid.DataContext = prajurits;
            senjatas = new Dictionary <int, Senjata>();

            recorder           = new EventsRecorder();
            liveGameController = new LiveGameController(this);
            replayController   = new ReplayGameController(this);
            watchController    = new WatchGameController(this);

            mapDrawer = new MapDrawer(map, prajurits);
            mapDrawer.setVisibility(showACheckBox.IsChecked.Value, showBCheckBox.IsChecked.Value); //check checkbox Tim
        }
예제 #2
0
 private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
 {
     liveGameController.stopExercise(true);
     replayController.stopPlayback();
     watchController.stopExercise(true);
     prajuritDatabase.closeConnection();
     EventsRecorder.closeConnection();
 }
예제 #3
0
 public AbstractGameController(MainWindow parent, UDPCommunication communication, EventsRecorder recorder)
 {
     this.communication    = communication;
     this.parent           = parent;
     this.prajurits        = parent.prajurits;
     this.senjatas         = parent.senjatas;
     this.recorder         = recorder;
     this.prajuritDatabase = parent.prajuritDatabase;
     this.watchers         = new List <IPAddress>();
 }
예제 #4
0
 public ReplayGameController(MainWindow parent)
     : base(parent, new ReplaySilentUDPCommunication(parent), new ReplaySilentEventsRecorder())
 {
     stopwatch               = new Stopwatch();
     eventTimer              = new Timer();
     eventTimer.Elapsed     += OnEventTimedEvent;
     heartbeatTimer          = new Timer();
     heartbeatTimer.Elapsed += OnHeartbeatTimedEvent;
     player = new EventsRecorder();
 }
예제 #5
0
 private void loadButton_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         OpenFileDialog openDialog = new OpenFileDialog();
         openDialog.Filter           = "SQLite files (*.sqlite)|*.sqlite|All files (*.*)|*.*";
         openDialog.RestoreDirectory = true;
         if (openDialog.ShowDialog() == true)
         {
             EventsRecorder.loadFrom(openDialog.FileName);
             updateReplayLength();
             playButton.IsEnabled     = true;
             tabControl.SelectedIndex = 1;
             writeLog(LogLevel.Info, "Replay dibaca dari " + openDialog.FileName);
         }
     }
     catch (Exception ex)
     {
         writeLog(LogLevel.Error, ex.ToString());
     }
 }