public static void Main() { var commandParser = new CommandParser(); var playerRepository = new PlayerRepository(); var cardRepository = new CardRepository(); var battleField = new BattleField(); var playerFactory = new PlayerFactory(); var cardFactory = new CardFactory(); var managerController = new ManagerController( playerRepository, cardRepository, battleField, playerFactory, cardFactory); var dataReader = new ConsoleReader(); var dataWriter = new ConsoleWriter(); var engine = new Engine( commandParser, managerController, dataReader, dataWriter); engine.Run(); }
private Player CreatePlayer() { var playerFactory = new PlayerFactory <Player>(_globalData.PlayerData); var player = playerFactory.Create(); return(player); }
public void LoadXml(string userName) { //保存账号路径 accountPath = directoryPath + userName; playerInfoPath = accountPath + xmlPath; //保存玩家信息存储路径 //加载角色信息 XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(playerInfoPath); XmlNode root = xmlDoc.SelectSingleNode("root"); XmlNodeList characters = root.SelectNodes("character"); for (int i = 0; i < characters.Count; i++) { //保存角色信息并添加进容器 int occupation = XmlTools.GetIntAttribute(characters[i] as XmlElement, "occupation"); string name = XmlTools.GetStringAttribute(characters[i] as XmlElement, "name"); Player charInfo = PlayerFactory.GeneratePlayer((OccupationType)occupation, name); charInfo.SetData(characters[i] as XmlElement); characterInfoList.Add(charInfo); } }
private void VoiceChat() { epVoiceLocal = new IPEndPoint(IPAddress.Parse(textBox1.Text), Convert.ToInt32("90")); epVoiceRemote = new IPEndPoint(IPAddress.Parse(textBox2.Text), Convert.ToInt32("90")); sckVoice.Bind(epVoiceLocal); sckVoice.Connect(epVoiceRemote); /* * vc.sckSetter(sckVoice); * vc.intPtr = this.Handle; * vc.CreatePalyDevice(); * vc.CreateSecondaryBuffer(); */ this.audioPlayer = PlayerFactory.CreateAudioPlayer(int.Parse("0"), 16000, 1, 16, 2); byte[] bytData = new byte[999999]; while (true) { if (sckVoice.Poll(5000, SelectMode.SelectRead)) { if (flag == true) { //vc.StartRecord("C:\\Users\\zbyclar\\Desktop\\test2.wav"); this.microphoneCapturer = CapturerFactory.CreateMicrophoneCapturer(int.Parse("0")); this.microphoneCapturer.Start(); this.microphoneCapturer.AudioCaptured += new ESBasic.CbGeneric <byte[]>(microphoneCapturer_AudioCaptured); flag = false; } //Console.WriteLine("There are voices !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); sckVoice.BeginReceiveFrom(bytData, 0, bytData.Length, SocketFlags.None, ref epVoiceRemote, new AsyncCallback(ReceiveData), null); } } }
public void StartAFight_ThenAnotherPlayerJoins_ResultsInRaisedHeroStrength_Test() { var quest = QuestFactory.CreateStartedWithMaleHero( out var gameStore, out var gameId, out var playerId, out var sequence); var xena = new Hero(PlayerFactory.CreateFemale("Xena")); var game = quest.GetState(gameId); var hero = game.GetHero(playerId); var heroLevelRaise = LevelMessage.Create(sequence.Next, playerId, 1); var heroBonusRaise = BonusMessage.Create(sequence.Next, playerId, 1); var addXena = PlayerMessage.CreateAdd(sequence.Next, new[] { xena.Player }); var xenaLevelRaise = LevelMessage.Create(sequence.Next, xena.Player.Id, 1); var xenaBonusRaise = BonusMessage.Create(sequence.Next, xena.Player.Id, 1); var startFight = FightStartMessage.Create(sequence.Next, hero.Player.Id, zerschmetterling); var preparation = new GameMessage[] { heroLevelRaise, heroBonusRaise, addXena, xenaLevelRaise, xenaBonusRaise, startFight }; var xenaJoinsFight = FightJoinMessage.Create(sequence.Next, xena.Player.Id); quest.AddMessages(gameId, preparation); game = quest.AddMessage(gameId, xenaJoinsFight); Assert.NotNull(game.Score.Fight); Assert.Equal(2, game.Score.Fight.Heroes.Count); Assert.Equal(6, game.Score.Fight.TotalHeroesScore); }
public void SetUp() { _container = new DiContainer(); SignalBusInstaller.Install(_container); //signals _container.DeclareSignal <SignalPlayerCreated>(); _container.DeclareSignal <SignalShotSpawn>(); _container.DeclareSignal <SignalWeaponSwitch>(); _inputController = Substitute.For <IInputController>(); _container.Bind <IInputController>().FromInstance(_inputController).AsSingle().NonLazy(); _signalBus = _container.Resolve <SignalBus>(); _container.BindInterfacesAndSelfTo <Engine>().AsSingle().NonLazy(); _engine = _container.Resolve <Engine>(); _container.BindInterfacesAndSelfTo <PlayerFactory>().AsSingle().NonLazy(); //_container.BindInterfacesAndSelfTo<HealthComponent>().AsSingle().NonLazy(); _container.BindInterfacesAndSelfTo <WeaponsController>().AsSingle().NonLazy(); _playerFactory = _container.Resolve <PlayerFactory>(); //ui var canvas = new GameObject(); var viewResource = _container.InstantiatePrefabResourceForComponent <ViewUiWeapons>("BattleViewsUi/ViewUiWeapons"); _container.BindViewController <ViewUiWeapons, PresenterWeapons>(viewResource, canvas.transform); _viewUi = _container.Resolve <ViewUiWeapons>(); _presenter = _container.Resolve <PresenterWeapons>(); _presenter.Initialize(); }
public void CreateListOfPlayerLists_TestInparam1_2_Invalid() { int amount = PlayerFactory.MaxPlayersRequired + 1; List <Player> listOfPlayerLists = PlayerFactory.CreateListOfPlayerLists(amount, PlayerFactory.MinPlayerNameStartValue); Assert.AreEqual(amount, listOfPlayerLists.Count); }
public Match AddPlayerToMatch(string playerId, string opponentType) { if (NextMatch == null) { NextMatch = new Match(MoveType); } Match match = NextMatch; IPlayer player = new HumanPlayer(playerId); NextMatch.AddNewPlayer(player); IPlayer opponent = PlayerFactory.CreatePlayerFromType(opponentType); if (opponent != null && opponent.AutoPlay) { NextMatch.AddNewPlayer(opponent); } if (NextMatch.Complete) { //Lets take care not to flood the memory if (Matches.Count > 100) { Matches = new Dictionary <string, Match>(); } Matches[NextMatch.Id] = NextMatch; NextMatch = new Match(MoveType); } return(match); }
public void TestFact() { RaceFactory rf = RaceFactory.getRaceFactory(); Assert.IsNotNull(rf); Race jordy = rf.getRace("human"); Race willy = rf.getRace("orc"); PlayerFactory pf = PlayerFactory.getPlayerFactory(); Player p1 = pf.createPlayer(jordy, "francois", null); Assert.AreEqual(p1.name, "francois"); Player p2 = pf.createPlayer(willy, "aurelien", null); Assert.AreEqual(p2.name, "aurelien"); Assert.AreEqual(p1.race.name, jordy.name); Assert.AreEqual(p2.race.name, willy.name); History h = HistoryFactory.getHistoryFactory().createHistory(); Assert.IsNotNull(h); GameStateFactory gsf = GameStateFactory.getStateFactory(); GameState gs = gsf.createGameState(); h.set(gs); h.save(); Assert.AreEqual(h.pop(), gs); }
private void PopulateGrid(List <Included> players) { //this.dataGridView1.Rows.Add(i++, "", "Shrimpppppppp", "4,321", "231", "50%", "60%", " 5.43 ", " 601 ", "10.3"); foreach (Included player in players) { if (player.type == "player") { string leaderboardRanking = player.attributes.rank.ToString(); string playername = player.attributes.name.ToString(); string rankpoints = player.attributes.stats.rankPoints.ToString(); string games = player.attributes.stats.games.ToString(); string winrate = Math.Round(StatsCalculation.GetWinRatio(player.attributes.stats.wins, player.attributes.stats.games), 2).ToString() + "%"; string kd = Math.Round(StatsCalculation.GetKD(player.attributes.stats.kills, player.attributes.stats.games), 2).ToString(); string kda = Math.Round(player.attributes.stats.kda, 2).ToString(); string adr = player.attributes.stats.averageDamage.ToString(); string avgRank = Math.Round(player.attributes.stats.averageRank, 2).ToString(); System.Drawing.Image image = PlayerFactory.GetRankedImage(player.attributes.stats.rankPoints); this.dataGridView1.Rows.Add(leaderboardRanking, image, playername, rankpoints, games, winrate, kd, kda, adr, avgRank); } } }
public GameController GetGameController(IOutputter outputter) { var randomiser = new Randomiser(new System.Random()); var scheduleController = new ScheduleController(); var renderController = new RenderController(outputter); var inputController = new InputController(); var saveController = new SaveController(); var levelController = new LevelController(); var levelFactory = new LevelFactory(randomiser); var itemFactory = new ItemFactory(); var stringFormatter = new StringFormatterSmartFormat(); var assetBank = new AssetBank(stringFormatter); var eventBus = new EventBus(); var eventKeeper = new EventKeeper(eventBus, assetBank); var screenFactory = new ScreenFactory(eventKeeper); var playerFactory = new PlayerFactory(levelController, eventBus, randomiser, scheduleController); var enemyFactory = new EnemyFactory(eventBus, randomiser, scheduleController); return(new GameController( renderController, inputController, saveController, levelController, levelFactory, itemFactory, screenFactory, playerFactory, enemyFactory, eventBus, scheduleController )); }
public void MemoryPlayerTest() { var Referee = new Referee(); var PlayerFactory = new PlayerFactory(); var MemoryPlayer = PlayerFactory.CreatePlayer( name: "MemoryPlayer", id: 1, playerType: Config.PlayersTypes.Memory, referee: Referee); Dictionary <int, int> numbers = new Dictionary <int, int>(); bool isSameNum = false; for (int i = Config.MinWeight; i < Config.MaxWeight; i++) { try { var number = MemoryPlayer.Action(); Assert.True((number >= Config.MinWeight) && (number <= Config.MaxWeight), "Numbers out of range"); numbers.Add(number, i); } catch (Exception) { isSameNum = true; break; } } Assert.True(isSameNum == false, "Numbers are not unique"); }
/* constructors. */ public CCGame(string bot1, string bot2) { cancelToken = new CancellationTokenSource(); player1 = PlayerFactory.Create(bot1, Color.black, "simple_selection", "simple_expansion", "random_simulation", "simple_bp"); player2 = PlayerFactory.Create(bot2, Color.white, "simple_selection", "simple_expansion", "random_simulation", "simple_bp"); pieceMutex = new Mutex(); }
public PlayerFactoryShould() { var randomNumberGenerator = new RandomGenerator(); var userInterface = new ConsoleInterface(); _playerFactory = new PlayerFactory(randomNumberGenerator, userInterface); }
static void PlayAgainstBots() { var players = new[] { Player.CreateBot("Fatz!"), Player.CreateBot("Hans"), Player.CreateCustom("YOU", new ConsolePlayer()), }; var playerFactory = new PlayerFactory() .RegisterOrOverrideCreator(nameof(ConsolePlayer), () => new ConsolePlayer()); var gameDef = new EumelGameRoomDefinition( "the game", players.Select(p => p.Info).ToImmutableList().WithValueSemantics(), EumelGamePlan.For(players.Length), new GameRoomSettings(0) ); var botController = new BotController(players.Select(p => p.Invocable), gameDef); var lobby = new ActiveLobby(botController, gameDef, GameProgress.NotStarted); var logger = new ConsoleGameObserver(); lobby.SubscribeWithPreviousEvents(logger); lobby.GameContext.SubscribeWithPreviousEvents(logger); while (lobby.HasMoreRounds) { lobby.StartNextRound(); } }
public JsonResult StartGame() { // placeholder... var bob = PlayerFactory.CreatePlayer("Bob"); return(Json(bob)); }
public PlayerControllerTest() { _jekyll = PlayerFactory.CreateMale("Dr. Jekyll"); _hyde = PlayerFactory.CreateMale("Mr. Hyde"); _bonnie = new GameMaster( PlayerFactory.CreateFemale("Bonnie"), "*****@*****.**"); _bonnie.PlayerPool.Add(_jekyll); _bonnie.PlayerPool.Add(_hyde); _clyde = new GameMaster( PlayerFactory.CreateMale("Clyde"), "*****@*****.**"); _playerStore = new VolatilePlayerStore(); _playerStore.Add(_bonnie); _playerStore.Add(_clyde); _externalId = _bonnie.ExternalId; _userName = _bonnie.Name; _controller = new PlayerController(_playerStore); _controller.ControllerContext = ControllerContextFactory.CreateWithUserContext(_externalId, _userName); }
protected override IMatchController Init_Board(string fen, List <BoardPosition> fromPositions, List <BoardPosition> toPositions) { if (MainPreload.Classic_board_and_players.playerProterties.Length == 0) { throw new System.NullReferenceException("LosAlamos Player Properties List Was Not Initialized!"); } if (ServiceLocator.Singleton == null) { var serviceLocatorFactory = new ServiceLocatorFactory(); serviceLocatorFactory.CreateServiceLocator(GameLoaderSaverType.FEN, ChessEngineType.Stockfish, ASmirnov.ASmirnovCustoms.SaveGamesPath); } MainMenu.Singleton.GameType = ChessGameType.los_alamos; playerFactory = new PlayerFactory(); players = new IPlayer[MainPreload.Los_alamos_board_and_players.playerProterties.Length]; int k = -1; foreach (var item in MainPreload.Los_alamos_board_and_players.playerProterties) { k++; players[k] = playerFactory.CreateHumanPlayer(item.side); } var c_factory = new ControllerFactory(); var controller = c_factory.CreateLosAlamosMatchController(fen, fromPositions, toPositions, players[0], players[1]); return(controller); }
public static void Main(string[] args) { IReader reader = new ConsoleReader(); IWriter writer = new ConsoleWriter(); IPlayerRepository playerRepository = new PlayerRepository(); IPlayerFactory playerFactory = new PlayerFactory(); ICardFactory cardFactory = new CardFactory(); ICardRepository cardRepository = new CardRepository(); IBattleField battlefield = new BattleField(); IManagerController managerController = new ManagerController( playerRepository, playerFactory, cardFactory, cardRepository, battlefield); IEngine engine = new Engine( reader, writer, managerController); engine.Run(); }
private Player GetPlayer1(PlayRequest playRequest) { try { PlayerFactory factory = new PlayerFactory(); Player player1 = null; if (playRequest.Player1Type == PlayerType.Computer) { player1 = GetComputerPlayer(); } else { player1 = factory.CreatePlayer(playRequest.Player1ChosenAction.Value); if (player1 == null) { throw new Exception(); } player1.PlayerType = PlayerType.Human; } return(player1); } catch { throw; } }
public Game ConvertToGame() { //TODO: For all 4 tracksTry using trackConfiguration instead of using TrackIndex and casting var externalTracksByZone = new Dictionary <ZoneLocation, TrackConfiguration> { { ZoneLocation.Red, (TrackConfiguration)RedTrack.TrackIndex }, { ZoneLocation.White, (TrackConfiguration)WhiteTrack.TrackIndex }, { ZoneLocation.Blue, (TrackConfiguration)BlueTrack.TrackIndex } }; var internalTrack = (TrackConfiguration)InternalTrack.TrackIndex; var players = Players .Select(playerModel => PlayerFactory.CreatePlayer( playerModel.Actions.Select(action => PlayerActionFactory.CreatePlayerAction(action.FirstAction, action.SecondAction, action.BonusAction?.FirstAction)), playerModel.Index, playerModel.PlayerColor, playerModel.PlayerSpecialization)) .ToList(); var internalThreats = CreateInternalThreats(InternalThreats); var redThreats = CreateExternalThreats(RedThreats, ZoneLocation.Red); var whiteThreats = CreateExternalThreats(WhiteThreats, ZoneLocation.White); var blueThreats = CreateExternalThreats(BlueThreats, ZoneLocation.Blue); var externalThreats = redThreats.Concat(whiteThreats).Concat(blueThreats).ToList(); var allThreats = redThreats.Cast <Threat>().Concat(whiteThreats).Concat(blueThreats).Concat(internalThreats).ToList(); var bonusExternalThreats = allThreats .Where(threat => threat.NeedsBonusExternalThreat) .Select(threat => ((IThreatWithBonusThreat <ExternalThreat>)threat).BonusThreat); var bonusInternalThreats = allThreats .Where(threat => threat.NeedsBonusExternalThreat) .Select(threat => ((IThreatWithBonusThreat <ExternalThreat>)threat).BonusThreat); var bonusThreats = bonusExternalThreats.Cast <Threat>().Concat(bonusInternalThreats).ToList(); var damageTokens = InitialDamageModels.ToLookup(model => model.ZoneLocation, model => model.DamageToken); return(new Game(players, internalThreats, externalThreats, bonusThreats, externalTracksByZone, internalTrack, damageTokens)); }
/// <summary> /// The method serving as the entry point of the program. /// </summary> /// <param name="args"></param> private static void Main(string[] args) { Console.WriteLine("Welcome to the Guess Fruit Basket Game!"); Referee referee = new Referee(); PlayerFactory playerFactory = new PlayerFactory(); CreatePlayers(referee, playerFactory); ViewService.StartGame(); Console.WriteLine($"Fruit Basket Weight is {referee.FruitBasketWeight}"); var winner = new GameCore().PerformGameProcess(referee); if (referee.Round < Config.MaxGameRound - 1) { ViewService.ShowWinner(winner); } else { ViewService.ShowFuzzyWinner(winner); } ViewService.EndGame(); CloseApplication(); }
static void Main() { try { var bots = new List <IBot> { new MediumBot(), new EasyBot() }; var fieldFactory = new FieldFactory(); var board = new Board(7, 6, fieldFactory); var gameFactory = new GameFactory(board, bots.ToArray()); var playerFactory = new PlayerFactory(); var proxy = new GameProxy(); var logger = new Log4netAdapter("GameAPI"); var api = new GameAPI(gameFactory, playerFactory, logger, proxy); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1(api)); } catch (Exception e) { Console.WriteLine(e); MessageBox.Show(e.ToString()); Application.Exit(); } }
/// <summary> /// Creates players. /// </summary> /// <param name="referee">The referee.</param> /// <param name="playerFactory">The player factory.</param> private static void CreatePlayers(Referee referee, PlayerFactory playerFactory) { int playersCount = ViewService.GetPlayersCount(); if (playersCount == 0) { Close(); } for (int i = 1; i <= playersCount; i++) { string name = ViewService.GetPlayerName(i); if (name.Length == 0) { Close(); } int playerType = ViewService.GetPlayerType(i); if (playerType == 0) { Close(); } referee.AddPlayer( playerFactory.CreatePlayer( name: name, id: i, playerType: (Config.PlayersTypes)(playerType - 1), referee: referee)); } referee.SetRandomPlayerOrder(); }
/// <inheritdoc /> public override async Task HandleMessage(IPeerMessageContext <GameClientPacketPayload> context, PlayerSelfSpawnEventPayload payload) { //TODO: Actually handle this. Right now it's just demo code, it actually could fail. if (Logger.IsInfoEnabled) { Logger.Info($"Recieved server commanded PlayerSpawn. Player GUID: {payload.CreationData.EntityGuid} Position: {payload.CreationData.InitialMovementData.InitialPosition}"); } EntityFieldDataCollection <EntityDataFieldType> entityData = CreateEntityDataCollectionFromPayload(payload.CreationData.InitialFieldValues); LogEntityDataFields(payload); await new UnityYieldAwaitable(); //Don't do any checks for now, we just spawn GameObject playerGameObject = PlayerFactory.Create(new DefaultEntityCreationContext(payload.CreationData.EntityGuid, payload.CreationData.InitialMovementData, EntityPrefab.LocalPlayer, entityData)); //Set local player entity guid, lots of dependencies need this set to work. LocalPlayerDetails.LocalPlayerGuid = payload.CreationData.EntityGuid; //Call all OnGameInitializables foreach (var init in Initializables) { await init.OnGameInitialized() .ConfigureAwait(false); } //TODO: We need to make this the first packet, or couple of packets. We don't want to do this inbetween potentially slow operatons. await context.PayloadSendService.SendMessageImmediately(new ServerTimeSyncronizationRequestPayload(DateTime.UtcNow.Ticks)) .ConfigureAwait(false); }
public Players(MongoDatabase db) { this.db = db; pf = new PlayerFactory(db); InitializeComponent(); }
protected override IMatchController Init_Board(string fen, List <BoardPosition> fromPositions, List <BoardPosition> toPositions) { if (MainPreload.Circled_board_and_players.playerProterties.Length == 0) { throw new System.NullReferenceException("Circled Player Properties List Was Not Initialized!"); } if (ServiceLocator.Singleton == null) { var serviceLocatorFactory = new ServiceLocatorFactory(); serviceLocatorFactory.CreateServiceLocator(GameLoaderSaverType.FEN, ChessEngineType.Stockfish, ASmirnov.ASmirnovCustoms.SaveGamesPath); } MainMenu.Singleton.GameType = ChessGameType.circled; playerFactory = new PlayerFactory(); players = new IPlayer[MainPreload.Circled_board_and_players.playerProterties.Length]; for (int i = 0; i < players.Length; i++) { players[i] = playerFactory.CreateHumanPlayer(MainPreload.Circled_board_and_players.playerProterties[i].side); } var c_factory = new ControllerFactory(); var controller = c_factory.CreateCircledMatchController(fen, fromPositions, toPositions, players[0], players[1]); return(controller); }
public Game BuildGameFactory() { var game = new Game(); var playerFactory = new PlayerFactory(); for (int i = 0; i < rnd.Next(1, 6); i++) { var randomPlayer = playerFactory.RandomPlayer(); game.addPlayer(randomPlayer); // remove player's name from list to avoid duplicates of random generator playerFactory.players.Remove(randomPlayer.DisplayName); } ///possible cleanup instead of having 11 frames: player.isLastRollStrike, if so add frame -- possible solution foreach (var player in game.Players) { for (int i = 0; i < 11; i++) { var frame = FrameFactory.RandomFrame(); player.PlayerRoll(frame); } } game.GameScore(); return(game); }
/// <inheritdoc /> protected override void HandleEvent(PlayerSessionClaimedEventArgs args) { if (Logger.IsDebugEnabled) { Logger.Debug($"Dequeueing entity creation request for: {args.EntityGuid.EntityType}:{args.EntityGuid.EntityId}"); } //TODO: This is test data EntityFieldDataCollection <EntityDataFieldType> testData = new EntityFieldDataCollection <EntityDataFieldType>(); //TODO: Test values set testData.SetFieldValue(EntityDataFieldType.EntityCurrentHealth, 100); testData.SetFieldValue(EntityDataFieldType.EntityMaxHealth, 120); using (LockingPolicy.WriterLock(null, CancellationToken.None)) { //TODO: Time stamp //TODO: We should check if the result is valid? Maybe return a CreationResult? //We don't need to do anything with the returned object. GameObject playerGameObject = PlayerFactory.Create(new PlayerEntityCreationContext(args.EntityGuid, args.SessionContext, new PositionChangeMovementData(0, args.SpawnPosition, Vector2.zero), EntityPrefab.RemotePlayer, testData)); } if (Logger.IsDebugEnabled) { Logger.Debug($"Sending player spawn payload Id: {args.EntityGuid.EntityId}"); } OnPlayerWorldSessionCreated?.Invoke(this, new PlayerWorldSessionCreationEventArgs(args.EntityGuid)); //TODO: If we want to do anything post-creation with the provide gameobject we could. But we really don't want to at the moment. }
private void SetupStage() { if (!Session.TryGet(SessionKeys.CurrentStageId, out int stageId)) { stageId = 1; Session.Set(SessionKeys.CurrentStageId, stageId); } var stage = new StageDataStorage().Load(stageId); var board = new BoardFactory(new TileFactory(ContentManager, _configurationService), new EndFactory(ContentManager), _configurationService) .CreateBoard(stage.Board); var tileSize = _configurationService.GetTileSizeInPixels(); var size = board.GetComponent <BoardInfo>().Size *tileSize; var player = new PlayerFactory(ContentManager).CreatePlayer(); player.Transform.SetParent(board.Transform); board.Transform.Position = new Vector2((ScreenManager.Game.GraphicsDevice.Viewport.Width - size.X) / 2, (ScreenManager.Game.GraphicsDevice.Viewport.Height - size.Y) / 2); new PoofFactory(ContentManager).CreatePoof(); }
static void Main(string[] args) { VictoryValidator victoryValidator = new VictoryValidator(); PlayerFactory playerFactory = new PlayerFactory(victoryValidator); ScenarioFactory scenarioFactory = new ScenarioFactory(playerFactory); TicTacToeControlsViewModel TicTacToeControlsViewModel = new TicTacToeControlsViewModel(new TicTacToeControlsModel(), scenarioFactory); TicTacToeGridViewModel TicTacToeGridViewModel = new TicTacToeGridViewModel(new TicTacToeGridModel(), TicTacToeControlsViewModel); GameWindowViewModel GameWindowViewModel = new GameWindowViewModel(TicTacToeControlsViewModel, TicTacToeGridViewModel); GameWindow gameWindow = new GameWindow(GameWindowViewModel); gameWindow.ShowDialog(); }
private void playMovie(string SMSResponse) { XmlDocument doc = new XmlDocument(); string rootXML; if (SMSResponse.Length > 0) { rootXML = SMSResponse; } else { string requestUrl = Utils.constructUrl("stream/" + stream_id, "fields=stream&authmode=raw"); rootXML = Utils.GetWebData(requestUrl, HeadWebSettings.Instance.s_cc, null, null, false, false, null, "GET", null, false, false); } doc.LoadXml(rootXML); XmlElement root = doc.DocumentElement; XmlNodeList list = root.SelectNodes("/response/auth"); foreach (XmlNode elm in list) { stream_url = elm["streamurl"].InnerText; stream_url_id = elm["streamid"].InnerText; } // get bitrates XmlNodeList bitratelist = root.SelectNodes("/response/content/stream/bitrate"); int bitrate; string lsUrl = string.Empty; sInfo.Clear(); foreach (XmlNode elm in bitratelist) { try { if (elm["rate"].InnerText.Length > 0) { StreamInfo streaminfo = new StreamInfo(); streaminfo.Bitrate = elm["rate"].InnerText; if (elm["width"].InnerText == "1280") { streaminfo.Text = "(720p)"; } else if (elm["width"].InnerText == "1920") { streaminfo.Text = "(1080p)"; } sInfo.Add(streaminfo); } } catch { } } int c = sInfo.Count; if (c > 1) { if (HeadWebSettings.Instance.s_video_quality != string.Empty && HeadWebSettings.Instance.s_video_quality != "Let me choose") { if (HeadWebSettings.Instance.s_video_quality == "Low") { bitrate = 0; } else if (HeadWebSettings.Instance.s_video_quality == "High") { bitrate = sInfo.Count - 1; } else { bitrate = (c + 1) / 2; bitrate = (int)Math.Floor((double)bitrate); if (bitrate < 0) bitrate = 0; } Log.Info("HeadWeb: Play movie with bitrate: " + sInfo[bitrate].Bitrate); lsUrl = sInfo[bitrate].Bitrate; } else { GUIDialogMenu dlg = (GUIDialogMenu)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_MENU); if (dlg == null) { return; } dlg.Reset(); dlg.SetHeading(Translation.SelectBitrate); // Bitrate options foreach (StreamInfo inf in sInfo) { dlg.Add(inf.Bitrate + " " + inf.Text); } // show dialog and wait for result dlg.DoModal(GetID); if (dlg.SelectedId == -1) { return; } Log.Info("HeadWeb: Play movie with bitrate: " + dlg.SelectedLabelText); lsUrl = sInfo[dlg.SelectedId - 1].Bitrate; } } if (lsUrl.Length > 0) { stream_url_id = stream_url_id.Replace("?t=", "_" + lsUrl + "?t="); lsUrl = stream_url + "/" + stream_url_id; } else { lsUrl = stream_url + "/" + stream_url_id; } Log.Debug("HeadWeb: streamURL=" + lsUrl); // translate rtmp urls to the local proxy if (new Uri(lsUrl).Scheme.ToLower().StartsWith("rtmp")) { lsUrl = ReverseProxy.Instance.GetProxyUri(RTMP_LIB.RTMPRequestHandler.Instance, string.Format("http://127.0.0.1/stream.flv?rtmpurl={0}&hostname=fl2.stream.headweb.com&port=443&playpath={1}&live=no", System.Web.HttpUtility.UrlEncode(lsUrl), System.Web.HttpUtility.UrlEncode(stream_url_id))); } // load and save subs XmlNodeList sublist = root.SelectNodes("/response/content/stream/subtitle"); foreach (XmlNode elm in sublist) { try { sub_language = elm["language"].InnerText; } catch { } Log.Debug("HeadWeb: Subtitle found: " + sub_language); try { sub_url = elm["url"].InnerText; } catch { } Utils.saveSub(HeadWebSettings.Instance.s_movietitle, sub_url, sub_language); } // stop player if currently playing some other video if (g_Player.Playing) g_Player.Stop(); PlayerFactory factory = new PlayerFactory(PlayerType.Internal, lsUrl); Log.Info("HeadWeb: Preparing graph for playback of {0}", lsUrl); bool? prepareResult = ((OnlineVideosPlayer)factory.PreparedPlayer).PrepareGraph(); switch (prepareResult) { case true:// buffer in background Gui2UtilConnector.Instance.ExecuteInBackgroundAndCallback(delegate() { try { Log.Info("HeadWeb: Start prebuffering..."); BufferingPlayerFactory = factory; if (((OnlineVideosPlayer)factory.PreparedPlayer).BufferFile()) { Log.Info("HeadWeb: Prebuffering finished"); return true; } else { Log.Info("HeadWeb: Prebuffering failed"); return null; } } finally { BufferingPlayerFactory = null; } }, delegate(bool success, object result) { Play_Step4(lsUrl, true, factory, result as bool?); }, "StartingPlayback", false); break; case false:// play without buffering in background Play_Step4(lsUrl, true, factory, prepareResult); break; default: // error building graph GUIDialogNotify dlg = (GUIDialogNotify)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_NOTIFY); if (dlg != null) { dlg.Reset(); dlg.SetHeading("Error"); dlg.SetText("UnableToPlayVideo"); dlg.DoModal(GUIWindowManager.ActiveWindow); } break; } }
void Play_Step4(string lsUrl, bool goFullScreen, PlayerFactory factory, bool? factoryPrepareResult) { if (factoryPrepareResult == null) { bool showMessage = true; if (factory.PreparedPlayer is OnlineVideosPlayer && (factory.PreparedPlayer as OnlineVideosPlayer).BufferingStopped == true) showMessage = false; factory.PreparedPlayer.Dispose(); if (showMessage) { GUIDialogNotify dlg = (GUIDialogNotify)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_NOTIFY); if (dlg != null) { dlg.Reset(); dlg.SetHeading("Error"); dlg.SetText("UnableToPlayVideo"); dlg.DoModal(GUIWindowManager.ActiveWindow); } } } else { (factory.PreparedPlayer as OVSPLayer).GoFullscreen = goFullScreen; IPlayerFactory savedFactory = g_Player.Factory; g_Player.Factory = factory; bool playing = g_Player.Play(lsUrl, g_Player.MediaType.Video); g_Player.Factory = savedFactory; if (g_Player.Player != null && g_Player.HasVideo) { setGuiMovie(); } } }
void Start() { PlayerAutomate = false; AutomateSpeed = 0.01f; AnswerCount = 0; DebugScript = GameObject.Find("DebugObject").GetComponent<GameDebugScript>(); Basic = GameObject.Find("Basic"); Strong = GameObject.Find("Strong"); Special = GameObject.Find("Special"); NoCombatState = new NoCombatState(this); AttackState = new AttackState(this); DefenseState = new DefenseState(this); AnswerState = new AnswerState(this); AnimatingState = new AnimatingState(this); Camera = new CameraController(GameObject.Find("Main Camera")); Waypoint = new Waypoint(); Waypoint.CurrentPosition = new Vector3(-1.65f, 0.9f, -1.0f); Waypoint.WaypointPosition = new Vector3(0.9f, 0.9f, -1.0f); MonsterWaypoint = new Vector3(3.1f, 1.05f, -1.0f); Camera.WaypointPosition = Waypoint.WaypointPosition + new Vector3(1.1f, 0f, -10.0f); WaypointCounter = 0; UIView = GameObject.Find("GameController").GetComponent<UIView>(); PlayerFactory = new PlayerFactory(); EnemyFactory = new EnemyFactory(); // Player Factory Player = PlayerFactory.CreatePlayer("Wizard", Application.loadedLevel, GameObject.Find("Player")); Player.WaypointPosition = Waypoint.WaypointPosition; State = NoCombatState; }
private void playTrailer() { string lsUrl; int trailer; if (HeadWebSettings.Instance.s_video_quality != string.Empty && HeadWebSettings.Instance.s_video_quality != "Let me choose" && trailer_url.Count() > 0) { if (HeadWebSettings.Instance.s_video_quality == "Low") { trailer = 0; } else if (HeadWebSettings.Instance.s_video_quality == "High") { trailer = trailer_url.Count - 1; } else { double trailerd = (trailer_url.Count) / 2; trailer = (int)Math.Floor((double)trailerd); if (trailer < 0) trailer = 0; lsUrl = trailer_url[trailer]; } Log.Debug("HeadWeb: Play trailer: " + trailer_bitrate[trailer]); lsUrl = trailer_url[trailer]; } else { GUIDialogMenu dlg = (GUIDialogMenu)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_MENU); if (dlg == null) { return; } dlg.Reset(); dlg.SetHeading(Translation.SelectBitrate); // Bitrate options foreach (string btr in trailer_bitrate) { dlg.Add(btr); } // show dialog and wait for result dlg.DoModal(GetID); if (dlg.SelectedId == -1) { return; } Log.Debug("HeadWeb: Play trailer with bitrate: " + dlg.SelectedLabelText); lsUrl = trailer_url[dlg.SelectedId - 1]; } if (g_Player.Playing) g_Player.Stop(); //MediaPortal.Player.g_Player.PlayVideoStream(trailer_url[dlg.SelectedId-1]); PlayerFactory factory = new PlayerFactory(PlayerType.Internal, lsUrl); Log.Info("HeadWeb: Preparing graph for playback of {0}", lsUrl); bool? prepareResult = ((OnlineVideosPlayer)factory.PreparedPlayer).PrepareGraph(); switch (prepareResult) { case true:// buffer in background Gui2UtilConnector.Instance.ExecuteInBackgroundAndCallback(delegate() { try { Log.Info("HeadWeb: Start prebuffering..."); BufferingPlayerFactory = factory; if (((OnlineVideosPlayer)factory.PreparedPlayer).BufferFile()) { Log.Info("HeadWeb: Prebuffering finished"); return true; } else { Log.Info("HeadWeb: Prebuffering failed"); return null; } } finally { BufferingPlayerFactory = null; } }, delegate(bool success, object result) { Play_Step4(lsUrl, true, factory, result as bool?); }, "StartingPlayback", false); break; case false:// play without buffering in background Play_Step4(lsUrl, true, factory, prepareResult); break; default: // error building graph GUIDialogNotify errdlg = (GUIDialogNotify)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_NOTIFY); if (errdlg != null) { errdlg.Reset(); errdlg.SetHeading("Error"); errdlg.SetText("UnableToPlayVideo"); errdlg.DoModal(GUIWindowManager.ActiveWindow); } break; } MediaPortal.Player.g_Player.ShowFullScreenWindowVideo(); }