Launch() public method

public Launch ( ) : void
return void
示例#1
0
    // OnStateEnter is called when a transition starts and the state machine starts to evaluate this state
    public override void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        if (Launcher == null)
        {
            Launcher = FindObjectOfType <RocketLauncher>();
        }

        Launcher.Launch();
    }
        public async Task Launch(int id)
        {
            if (gameRunning)
            {
                await Task.FromResult(false);
            }

            await Task.Run(async() =>
            {
                bool errored = false;
                var game     = await _unitOfWork.GamesRepository.GetByIDAsync(id);
                try
                {
                    var system  = await _unitOfWork.GamingSystemRepository.GetByIDAsync(game.SystemId);
                    gameRunning = true;
                    if (game != null)
                    {
                        _runningGame        = game;
                        RocketLauncher rl   = new RocketLauncher("I:\\Rocketlauncher");
                        var startTime       = DateTime.Now;
                        system.LastLaunched = startTime;
                        game.LastPlayed     = startTime;

                        await _hubContext.Clients.All.SendAsync("ReceiveMessage", "RetroDb", "RlStarted");
                        rl.Launch(game.FileName, system.Name);

                        var endTime     = DateTime.Now;
                        game.TimePlayed = endTime - startTime;
                        //Todo: add times played
                    }
                }
                catch
                {
                    errored = true;
                }
                finally
                {
                    gameRunning  = false;
                    _runningGame = null;
                    await _hubContext.Clients.All.SendAsync("ReceiveMessage", "RetroDb", "RlEnded");
                }

                if (!errored)
                {
                    await _hubContext.Clients.All.SendAsync("ReceiveMessage", "RetroDb", "RlError");
                    _unitOfWork.GamesRepository.Update(game);
                    _unitOfWork.Save();
                }
            });
        }
示例#3
0
 public void LaunchGame_Rl()
 {
     Assert.True(Directory.Exists(_rl.InstallPath));
     _rl.Launch("3D Boxing (Europe)", "Amstrad CPC");
 }