Example #1
0
        public bool Initialize(IScriptedGameServerRole parent)
        {
            MonitoringFacade.RegisterMonitoringSource(id);
            var entryScript = entryFile.ReadAllTextFromFile();

            try
            {
                using (var context = JavascriptContextFactory.Create())
                {
                    context.Run(entryScript, Path.GetFileName(entryFile));
                }
            }
            catch (JavascriptException ex)
            {
                LogScriptError(entryFile, folderName, ex);
                return(false);
            }

            if (string.IsNullOrEmpty(id))
            {
                throw new BusinessException("Game type cannot be empty (entry file '{0}').".FormatString(entryFile));
            }

            gameTypeEntity = ExternalServiceFacade.GetGameCoreService().GetGameType(id);

            return(true);
        }
        private void AddGameType(GameTypeData data)
        {
            if (!gameController.GameTypes.ContainsKey(data.gameTypeId))
            {
                gameController.GameTypes.Add(data.gameTypeId, data.name);

                for (int i = 0; i < 3; i++)
                {
                    var roomId = gameController.IdentifierGenerator.CreateID(4);

                    var lobby = gameController.LobbyService
                                .CreateLobby(
                        roomId,
                        data.gameTypeId,
                        Array.Empty <IPlayer>(),
                        (byte)data.minimumPlayers,
                        (byte)data.maxPlayers,
                        $"thunberg deluxe {data.name}");

                    gameController.RoomManager
                    .AddRoom(lobby);

                    //Add chatRoom to auto generated rooms
                    gameController.RoomManager.AddRoom(
                        gameController.ChatRoomService.CreateChatRoom(roomId + "-TABLECHAT",
                                                                      null, null));
                }

                gameController.RoomManager.AddRoom(
                    gameController.ChatRoomService.CreateChatRoom(
                        data.gameTypeId.ToString(CultureInfo.CurrentCulture) + "-LOBBYCHAT",
                        null, null));
            }
        }
Example #3
0
        public Player SpawnPlayer(GameTypeData gameTypeData, CharacterSelectState selectState)
        {
            SpawnPoint spawnPoint = SpawnManager.Instance.GetSpawnPoint(gameTypeData, selectState.PlayerBirdData);

            if (null == spawnPoint)
            {
                Debug.LogError($"No spawn points left for bird type {selectState.PlayerBirdData.Id} in game type {gameTypeData.Name}");
                return(null);
            }

            Player player = Instantiate(_playerPrefab, _playerContainer.transform);

            InitializePlayer(player, PlayerCount, selectState, spawnPoint);
            //NetworkServer.Spawn(player.gameObject);

            Debug.Log($"Spawned {player.Bird.Type.Name} for local player {player.Id} at {spawnPoint.name} ({player.transform.position})");

            AddPlayer(player);
            return(player);
        }
 public ScenarioTotalData()
 {
     EasyData = new GameTypeData();
     NormalData = new GameTypeData();
     NightmareData = new GameTypeData();
 }
Example #5
0
 public Hunt(GameTypeData gameTypeData)
     : base(gameTypeData)
 {
 }
Example #6
0
 public ScenarioTotalData()
 {
     EasyData      = new GameTypeData();
     NormalData    = new GameTypeData();
     NightmareData = new GameTypeData();
 }
Example #7
0
 public CrazyTaxi(GameTypeData gameTypeData)
     : base(gameTypeData)
 {
 }
Example #8
0
 protected GameType(GameTypeData gameTypeData)
 {
     GameTypeData = gameTypeData;
 }
Example #9
0
 public SpawnPoints(GameTypeData gameTypeData)
 {
     _gameTypeData = gameTypeData;
 }
Example #10
0
        public SpawnPoint GetSpawnPoint(GameTypeData gameTypeData, BirdTypeData birdType)
        {
            SpawnPoints spawnPoints = _spawnPoints.GetOrDefault(gameTypeData);

            return(spawnPoints?.GetSpawnPoint(birdType));
        }
Example #11
0
 public Revenge(GameTypeData gameTypeData)
     : base(gameTypeData)
 {
 }