private void HandleMatchStart(GameStartInfo startInfo) { var settings = MatchSettings.Deserialize(startInfo.Settings); Ballz.The().Network.StartNetworkGame(settings, startInfo.YourPlayerId); Ballz.The().Match.IsRemoteControlled = true; }
public Session(Ballz _game, World.World world, MatchSettings settings) { World = world; Terrain = World.StaticGeometry; GameSettings = settings; Physics = new Physics.PhysicsControl(_game); Physics.Enabled = false; _game.Components.Add(Physics); GameRenderer = new Renderer.GameRenderer(_game); GameRenderer.Enabled = false; GameRenderer.Visible = false; _game.Components.Add(GameRenderer); DebugRenderer = new Renderer.DebugRenderer(_game); DebugRenderer.Enabled = false; DebugRenderer.Visible = false; _game.Components.Add(DebugRenderer); SessionLogic = new Logic.GameLogic(_game, this); SessionLogic.Enabled = false; _game.Components.Add(SessionLogic); Logic = _game.Services.GetService <LogicControl>(); Logic.Message += Physics.HandleMessage; Logic.Message += GameRenderer.HandleMessage; Logic.Message += SessionLogic.HandleMessage; Logic.Message += DebugRenderer.HandleMessage; Input = _game.Services.GetService <Input.InputTranslator>(); Game = _game; }
public static void LoadMatchSettings() { if (!string.IsNullOrEmpty(Properties.Settings.Default.MatchSettings)) { MatchFilter = JsonConvert.DeserializeObject <MatchSettings>(Properties.Settings.Default.MatchSettings); } }
private void OnDestroy() { if (_instance == this) { _instance = null; } }
void StartMatch() { int numReadyPlayers = 0; foreach (PlayerStats stats in players) { if (stats.playerConfirmed) { numReadyPlayers++; } } if (numReadyPlayers > 1) // To be changed [Graham] { MatchSettings.Reset(); //MatchSettings.numPlayers = 4; // TO BE CHANGED MatchSettings.numPlayers = numReadyPlayers; MatchSettings.pointsToWin = 3; for (int i = 0; i < MatchSettings.numPlayers; i++) { MatchSettings.playerColors.Add(players[i].colour); MatchSettings.playerScores.Add(0); } // To be changed [Graham] //GetComponent<LoadSceneOnClick>().LoadRandom(); //GetComponent<LoadSceneOnClick>().LoadByName("_Scenes/Debug/Graham_Debug"); SwitchLobbies(); FindObjectOfType <LobbyManager>().ShowLevelSelect(); } }
public IEnumerator GameControllerKillerTest() { yield return(TestUtils.WaitUntilSceneIsLoaded("MatchTestScene")); var gameController = MonoBehaviour.FindObjectOfType <GameController>(); var matchManager = MonoBehaviour.FindObjectOfType <MatchManager>(); Time.timeScale = 100.0f; int iterations = 5; while (--iterations > 0) { var settings = MatchSettings.CreateRandomMatchConfig(10, 10, 3, new AIType[] { AIType.Aggressive, AIType.RandomWalker, AIType.RandomWalker }); settings.PlayerConfigs[0].PlayerType = PlayerType.Bot; foreach (var unit in settings.PlayerConfigs[0].Units) { unit.UnitType = 1; } gameController.InitMatch(settings); while (!gameController.GameFinished()) { yield return(gameController.MatchStep()); } foreach (var unit in matchManager.Factions[0].Units) { Assert.IsTrue(unit.IsFullHP); } Assert.IsTrue(matchManager.Factions[1].IsDead); Assert.IsTrue(matchManager.Factions[2].IsDead); } }
public IEnumerator GameControllerRandomWalkerTest() { yield return(TestUtils.WaitUntilSceneIsLoaded("MatchTestScene")); var gameController = MonoBehaviour.FindObjectOfType <GameController>(); var matchManager = MonoBehaviour.FindObjectOfType <MatchManager>(); int iterations = 10; Time.timeScale = 100.0f; while (--iterations > 0) { var settings = MatchSettings.CreateTestMatchConfig(AIType.RandomWalker); settings.PlayerConfigs[0].PlayerType = PlayerType.Bot; gameController.InitMatch(settings); while (!gameController.GameFinished() && gameController.CurrentTurnNumber < 20) { yield return(gameController.MatchStep()); } // All units should be alive and with full HP for (int i = 0; i < matchManager.Factions.Count; i++) { Assert.IsTrue(matchManager.Factions[i].Units.Count == settings.PlayerConfigs[i].Units.Count); foreach (var unit in matchManager.AllUnits()) { Assert.IsTrue(unit.IsFullHP); } } } }
void Start() { GameObject matchSettingsHolder; matchSettingsHolder = GameObject.FindGameObjectWithTag("GameController"); if (matchSettingsHolder != null) { MatchSettings matchSettings = matchSettingsHolder.GetComponent <MatchSettings> (); defaultType = matchSettings.matchType; SetMatch(matchSettings.matchType, matchSettings.duration); LoadNamedMap(matchSettings.levelName); SetPlayers(matchSettings.playersColors); } else { SetMatch(defaultType, defaultDuration); LoadNamedMap("classic1.xml"); SetPlayers(new Color[] { new Color(1, 1, 0, 1), new Color(0, 1, 1, 1), new Color(1, 0, 1, 1), new Color(0.5f, 0.5f, 0.5f, 1f) }); } timer = timeBeforeStarting; Destroy(matchSettingsHolder); }
void Start() { MatchSettings settings = new MatchSettings(1); // defaults networkManager = NetworkManager.singleton; networkManager.playerPrefab = playerPrefabs[0]; RegisterSettings(settings); RegisterStartPosition(defaultRespawnPosition, Quaternion.identity); if (Application.platform == RuntimePlatform.WebGLPlayer) { Debug.Log("Web Platform detected!"); platform = "WEB"; } if (platform == "WEB") { NetworkManager.singleton.useWebSockets = true; } else { NetworkManager.singleton.useWebSockets = false; } if (runAsServer || IsHeadlessMode()) { StartLocalServer(); } else { SceneManager.LoadScene(loginScene); } }
void MatchList_OnTopicMessage(object sender, NTopicMessageEventArgs e) { ManualResetEvent updateEvent = new ManualResetEvent(false); var bytesAsString = Encoding.ASCII.GetString(e.Message.Data); var chatJson = JsonUtility.FromJson <MatchRoomClass>(bytesAsString); Guid tempMatchID = new Guid(chatJson.matchIDGUID); MatchSettings newSettings = new MatchSettings(); newSettings.matchCreator = chatJson.userName; newSettings.maxHealth = chatJson.matchMaxHealth; //newSettings.matchGuid = new Guid(chatJson.matchIDGUID); if (chatJson.addRemove == "add") { Debug.Log("Adding match"); newSettings.matchStatus = "open"; //matchNameMatchGuid.Add(chatJson.matchName, tempMatchID.ToByteArray()); matchGuidMatchSettings.Add(tempMatchID, newSettings); Debug.Log("Added matchGuidMatchSettings.Count: " + matchGuidMatchSettings.Count); //match matchNameMatchGuid.Count: " + matchNameMatchGuid.Count + " matchGuidMatchSettings.Count: " + matchGuidMatchSettings.Count); updateEvent.Set(); } else { Debug.Log("Removing matchGuidMatchSettings.Count: " + matchGuidMatchSettings.Count); //match matchNameMatchGuid.Count: " + matchNameMatchGuid.Count + " matchGuidMatchSettings.Count: " + matchGuidMatchSettings.Count); //matchNameMatchGuid.Remove(chatJson.matchName); matchGuidMatchSettings[tempMatchID].matchStatus = "closed"; //matchGuidMatchSettings.Remove(chatJson.matchName); Debug.Log("Removed matchGuidMatchSettings.Count: " + matchGuidMatchSettings.Count); //match matchNameMatchGuid.Count: " + matchNameMatchGuid.Count + " matchGuidMatchSettings.Count: " + matchGuidMatchSettings.Count); updateEvent.Set(); } updateEvent.WaitOne(1000, false); }
protected override OnlinePlayComposite CreateSettings() => settings = new MatchSettings { RelativeSizeAxes = Axes.Both, RelativePositionAxes = Axes.Y, SettingsApplied = Hide };
public void UpdateSettings(MatchSettings matchSettings, SampleSettings sampleSettings) { // get settings from server to compare with new ones - avoid loss var oldsettings = GetSettings(); var oldSamples = GetSampleSettings(); if (matchSettings != null) { oldsettings.TargetLanguage = matchSettings.TargetLanguage; oldsettings.Speaker = matchSettings.Speaker; oldsettings.Characters = matchSettings.Characters; oldsettings.Formal = matchSettings.Formal; oldsettings.Polite = matchSettings.Polite; oldsettings.IllocutionaryForce = matchSettings.IllocutionaryForce; oldsettings.PersonChange = matchSettings.PersonChange; oldsettings.ShowSentences = matchSettings.ShowSentences; oldsettings.SimpleView = matchSettings.SimpleView; } if (sampleSettings != null) { oldSamples.SampleFiles = sampleSettings.SampleFiles; } SetSettings(oldsettings); SetSampleFile(oldSamples.SampleFiles); }
public void UpdateSettings(MatchSettings matchSettings, SampleSettings sampleSettings) { // get settings from server to compare with new ones - avoid loss var oldsettings = GetSettings(); var oldSamples = GetSampleSettings(); if (matchSettings != null) { oldsettings.TargetLanguage = matchSettings.TargetLanguage; oldsettings.Speaker = matchSettings.Speaker; oldsettings.Characters = matchSettings.Characters; oldsettings.Formal = matchSettings.Formal; oldsettings.Polite = matchSettings.Polite; oldsettings.IllocutionaryForce = matchSettings.IllocutionaryForce; oldsettings.ShowSentences = matchSettings.ShowSentences; oldsettings.SimpleView = matchSettings.SimpleView; } if (sampleSettings != null) { oldSamples.SampleFiles = sampleSettings.SampleFiles; } SetSettings(oldsettings); SetSampleFile(oldSamples.SampleFiles); }
// Use this for initialization void Start() { matchInfo = GetComponent <MatchInfo>(); timer = GetComponent <MatchTimer>(); settings = GetComponent <MatchSettings>(); GUIUtils.ScaleFonts(skin, GUIUtils.conversionRatio.y); }
protected override void ImplInitializeSession(Ballz game, MatchSettings settings) { var mapTexture = MapName == "Generated" ? TerrainGenerator.GenerateTerrain(width, height): game.Content.Load <Texture2D>("Worlds/" + MapName); settings.MapName = MapName; settings.MapTexture = mapTexture; }
/// <summary> /// Handles a click on the "Start" button. /// </summary> private void HandleStart() { if (_needsExtraInfo && !TryGetExtraInfo()) { _popup.Message = $"PROVIDE THE MODE {_matchMode.InfoName().ToUpper()} BEFORE STARTING A MATCH"; _popup.Show(); return; } MatchSettings settings; if (_needsExtraInfo) { settings = new MatchSettings(_matchMode, _extraInfo); } else { settings = new MatchSettings(_matchMode); } OnStartMatch?.Invoke(settings); bool TryGetExtraInfo() { var culture = CultureInfo.InvariantCulture; if (int.TryParse(_extraInfoInput.text, NumberStyles.Integer, culture, out var value) && value > 0) { _extraInfo = (uint)value; return(true); } return(false); } }
protected override OnlinePlayComposite CreateSettings() => settings = new MatchSettings { RelativeSizeAxes = Axes.Both, RelativePositionAxes = Axes.Y, EditPlaylist = () => EditPlaylist?.Invoke() };
public void InitMatch() { currentMatch = new MatchSettings(); currentMatch.matchName = "Game"; currentMatch.map = 0; currentMatch.maxPlayers = 2; currentMatch.status = 4; }
// StartSession must _not_ modify GameSettings public Session StartSession(Ballz game, MatchSettings settings, bool isMultiplayer, int localPlayerId) { if (!IsInitialized) { InitializeSession(game, settings); } return(ImplStartSession(game, settings, isMultiplayer, localPlayerId)); }
private void SettingsChangedCallback(SettingsChangedMessage msg, float travelTime) { currentSettings = msg.NewMatchSettings; if (MatchSettingsChanged != null) { MatchSettingsChanged(this, EventArgs.Empty); } }
public LobbyMenu(bool isHost, MatchSettings settings = null) : base("Lobby") { if (isHost && settings == null) { throw new ArgumentNullException("settings must not be null when isHost is true"); } IsHost = isHost; MatchSettings = settings; Close += (s, e) => { if (isHost) { Lobby?.CloseHostedGameAsync(); Lobby?.Dispose(); Lobby = null; } Ballz.The().Network.PlayerListChanged -= UpdatePlayerList; }; Open += (s, e) => { Ballz.The().Network.PlayerListChanged += UpdatePlayerList; UpdatePlayerList(this, Ballz.The().Network.PlayerList); if (isHost) { Lobby = new LobbyClient(); var gameInfo = Lobby.MakeGameInfo(MatchSettings.GameName, MatchSettings.IsPrivate); Ballz.The().Network.StartServer(gameInfo); Lobby.OpenGame(gameInfo, Ballz.The().Network.NetworkPeer); } }; AddItem(new Label("Players in Lobby:")); PlayerList = new SelectList(); PlayerList.LockSelection = true; AddItem(PlayerList); if (isHost) { var startGameBtn = new Button("Start Game"); startGameBtn.OnClick += (e) => { Ballz.The().Network.StartNetworkGame(MatchSettings, 0); }; AddItem(startGameBtn); } else { AddItem(new Label("Waiting for Host to start the Game")); } AddItem(new BackButton(text: "Leave Game")); }
protected override void SetSettings(MatchSettings settings) { var settingsReturned = new SettingsPresentation(); var request = new ChangeSettingsRequest { UserKey = WindowsContext.UserKey, Settings = settings }; var response = _settingsClientProxy.SetSettings(request); settingsReturned.Settings = response.Settings; settingsReturned.SettingsChanged = response.Success; }
private void load() { Child = Settings = new MatchSettings { RelativeSizeAxes = Axes.Both, RelativePositionAxes = Axes.Y, SettingsApplied = Hide }; }
public void InitLocalMatch() { currentSettings = ActiveData.MatchSettings; messenger = new LocalMatchMessenger(); showSettingsOnLobbyLoad = true; GoToLobby(); }
public void StringComparison_Set_IsSet(StringComparison setting) { var matchSettings = new MatchSettings { StringComparison = setting }; matchSettings.StringComparison.Should().Be(setting); }
private void load() { Child = Settings = new MatchSettings { RelativeSizeAxes = Axes.Both, RelativePositionAxes = Axes.Y, EditPlaylist = () => EditPlaylist?.Invoke() }; }
public void RevertSettings() { var manager = FindObjectOfType <MatchManager>(); if (manager) { tempSettings = manager.CurrentSettings; } UpdateUiFields(); }
private void load() { Masking = true; Child = Settings = new MatchSettings { RelativeSizeAxes = Axes.Both, RelativePositionAxes = Axes.Y }; }
public void IsMatch_Ordinal_MatchesOrdinal(string str, string pattern) { var matchSettings = new MatchSettings { StringComparison = StringComparison.Ordinal }; var result = FastWildcard.IsMatch(str, pattern, matchSettings); result.Should().BeTrue(); }
public void IsMatch_OrdinalIgnoreCase_MatchesOrdinalAndDifferentCase(string str, string pattern) { var matchSettings = new MatchSettings { StringComparison = StringComparison.OrdinalIgnoreCase }; var result = FastWildcard.IsMatch(str, pattern, matchSettings); result.Should().BeTrue(); }
public void IsMatch_Ordinal_DoesNotMatchDifferentCase(string str, string pattern) { var matchSettings = new MatchSettings { StringComparison = StringComparison.Ordinal }; var result = FastWildcard.IsMatch(str, pattern, matchSettings); result.Should().BeFalse(); }
public void InitOnlineMatch(Lidgren.Network.NetClient client, MatchState matchState) { //Create existing clients foreach (var clientInfo in matchState.Clients) { clients.Add(new MatchClient(clientInfo.Guid, clientInfo.Name)); } //Create existing players foreach (var playerInfo in matchState.Players) { MatchPlayer p = new MatchPlayer(playerInfo.ClientGuid, playerInfo.CtrlType, playerInfo.CharacterId); p.ReadyToRace = playerInfo.ReadyToRace; players.Add(p); if (inLobby) { SpawnLobbyBall(p); } } //Set settings currentSettings = matchState.Settings; //Set auto start timer //TODO Get and apply travel time autoStartTimerOn = matchState.CurAutoStartTime != 0; autoStartTimer = matchState.CurAutoStartTime; //Create messenger OnlineMatchMessenger messenger = new OnlineMatchMessenger(client); this.messenger = messenger; messenger.Disconnected += (sender, e) => { QuitMatch(e.Reason); }; messenger.OnPlayerMovement += OnlinePlayerMovement; //Create chat activeChat = Instantiate(chatPrefab); activeChat.MessageSent += LocalChatMessageSent; //Enter the lobby or stage if (matchState.InRace) { joiningRaceInProgress = true; GoToStage(); } else { //showSettingsOnLobbyLoad = true; GoToLobby(); } }
private void SetFormality(MatchSettings settings, string target, string formality) { settings.Characters = true; if (target == "Korean") { if (formality == "Informal-Polite") { settings.Polite = Politenesses.Polite; settings.Formal = Formalities.Informal; } if (formality == "Informal-Intimate") { settings.Polite = Politenesses.Familiar; settings.Formal = Formalities.Informal; } if (formality == "Formal") { settings.Polite = Politenesses.Polite; settings.Formal = Formalities.Formal; } } if (target == "Japanese") { settings.Characters = true; if (formality == "Polite") { settings.Polite = Politenesses.Polite; settings.Formal = Formalities.Informal; } if (formality == "Formal") { settings.Polite = Politenesses.Polite; settings.Formal = Formalities.Formal; } } }
public MyMatchSettings(LevelSystem levelSystem, Modes mode, MatchSettings.MatchLengths matchLength) : base(levelSystem, mode, matchLength) { }
protected abstract void SetSettings(MatchSettings settings);