private async void GameOnLoadGameAsync(object sender, LoadGameEvent e)
 {
     SetCommander(e.Commander, e.FrontierId);
     await AddCommand(new SetCommanderCredits(e.Credits) { Loan = e.Loan })
     .SendAsync()
     .ConfigureAwait(false);
 }
Beispiel #2
0
        private void OnLoadGameEvent(LoadGameEvent loadGameEvent)
        {
            if (_currentCore != null)
            {
                _currentCore.UnloadGame();
                _currentCore = null;
            }

            string path = loadGameEvent.Game.Path;

            if (!File.Exists(path))
            {
                return;
            }

            var system = Path.GetFileNameWithoutExtension(Path.GetDirectoryName(path));

            // TODO: Do something here when it fails to find anything
            if (system == null)
            {
                return;
            }

            var core = _stateManager.GetDefaultRetroCoreForSystem(system);

            core.LoadGame(path);

            _currentCore = core;
            _running     = true;
        }
Beispiel #3
0
 internal LoadGameEvent InvokeEvent(LoadGameEvent arg)
 {
     if (_api.ValidateEvent(arg))
     {
         LoadGame?.Invoke(_api, arg);
     }
     return(arg);
 }
Beispiel #4
0
        public void CreateEvent()
        {
            var propagateEvent   = new PropagateLoadEvent(_gameObject);
            var gameObjLoadEvent = new LoadGameEvent();

            gameObjLoadEvent.AddListener(propagateEvent.LoadEvent);
            LoadEventsList.LoadGameEvents.Add(gameObjLoadEvent);
        }
Beispiel #5
0
        public void Handle(LoadGameEvent message)
        {
            var guid = default(Guid);

            if (Guid.TryParse(message.GameId, out guid))
            {
                this.model.StateManager.LoadGame(guid);
                this.eventAggregator.PublishOnUIThread(new TeamSetEvent(this.model.StateManager.Team, this.model.StateManager.GameTitle));

                SetModels();

                this.eventAggregator.PublishOnUIThread(new ModuleSelectedEvent(ModuleType.Team));
            }
        }
Beispiel #6
0
 private void AssertEvent(LoadGameEvent @event)
 {
     Assert.NotNull(@event);
     Assert.Equal(DateTime.Parse("2017-02-10T14:25:51Z"), @event.Timestamp);
     Assert.Equal("LoadGame", @event.Event);
     Assert.Equal("HRC-2", @event.Commander);
     Assert.Equal("F44396", @event.FrontierId);
     Assert.True(@event.Horizons);
     Assert.Equal(ShipModel.FerDeLance, @event.ShipModel);
     Assert.Equal("FerDeLance", @event.ShipType);
     Assert.Equal(19, @event.ShipId);
     Assert.Equal("jewel of parhoon", @event.ShipName);
     Assert.Equal("hr-17f", @event.ShipIdent);
     Assert.Equal(3.964024, @event.FuelLevel, 6);
     Assert.Equal(8.000000, @event.FuelCapacity, 6);
     Assert.Equal(GameMode.Open, @event.GameMode);
     Assert.Equal(2890718739, @event.Credits);
     Assert.Equal(0, @event.Loan);
 }
Beispiel #7
0
 internal void InvokeLoadGameEvent(LoadGameEvent arg)
 {
     LoadGameEvent?.Invoke(this, arg);
 }
Beispiel #8
0
 internal void InvokeLoadGameEvent(LoadGameEvent arg) => LoadGameEvent?.Invoke(null, arg);
 /// <summary>
 /// The handler that creates a new game view
 /// </summary>
 /// <param name="message">Not used</param>
 public void Handle(LoadGameEvent message)
 {
     ActivateItem(new GameViewModel(_events));
 }