public void OnEvent(EventData photonEvent) { byte eventCode = photonEvent.Code; Debug.Log(string.Format("Received an event with code {0}", Convert.ToInt64(eventCode))); if (eventCode == GameStartEventCode) { Debug.Log(string.Format("Starting a game ... with {0} players : {1}", PlayerRegister.GetCount(), PlayerRegister.GetPlayerInfo())); // Start the game gameManager.StartGame(); } if (eventCode == GameExitEventCode) { // Destroying all available players network PhotonNetwork.DestroyAll(false); // Unregistered all players PlayerRegister.DeleteAll(); // Game is running, force to change into Main Menu SceneManager.LoadScene("EasyMainMenu/Scenes/MainMenu"); // Disconnect server connection PhotonNetwork.Disconnect(); } }
// Update is called once per frame void Update() { if (gameStart) { return; } int playerCount = PlayerRegister.GetCount(); if (playerCount > (maxPlayersPerRoom - 1)) { // Only raise event if host player if (PhotonNetwork.IsMasterClient) { Debug.Log("Match all players. Continue to starting the game ..."); // Send event to begin start game PhotonNetwork.RaiseEvent( GameStartEventCode, null, new RaiseEventOptions { Receivers = ReceiverGroup.All }, SendOptions.SendReliable ); gameStart = true; } } else { // TODO: Display status message waiting for another player } }
public bool RegisterPlayer(PlayerRegister playerData) { if (playerData.PlayerNumber > playerCount || playerData.PlayerNumber <= 0) { return(false); } if (_players.Contains(playerData)) { return(true); } if (_players.Count(p => p.PlayerNumber == playerData.PlayerNumber) > 0) { return(false); } string[] schemas; if (playerData.PlayerNumber == 1) { schemas = GameSettings.Player1Input.Split(';'); } else { schemas = GameSettings.Player2Input.Split(';'); } playerData.GetComponent <PlayerMovement>().InputSchemas = schemas; _players.Add(playerData); return(true); }
// Update is called once per frame void Update() { if (_activeIndex != _playerQueue.Count - 1) { _activeIndex = _playerQueue.Count - 1; for (int i = 0; i < _playerQueue.Count; i++) { PlayerRegister player_register = _playerQueue[i].GetComponent <PlayerRegister>(); if (i != _activeIndex) { player_register.FreezeControls(); //foreach (var controllable in player_register.GetComponentsInChildren<IControllable>()) //{ // controllable.FreezeControls(); //} } else { player_register.UnFreezeControls(); //foreach (var controllable in player_register.GetComponentsInChildren<IControllable>()) //{ // controllable.UnFreezeControls(); //} } } } }
public void OnPhotonInstantiate(PhotonMessageInfo info) { GameObject playerHUD = GameObject.Find("PlayerCanvas/HUD/PlayerHUD").gameObject; GameObject playerPanelObject = playerHUD.transform.Find("PlayerBorder").gameObject; transform.SetParent(playerPanelObject.transform, false); // Refresh player panel layout LayoutRebuilder.ForceRebuildLayoutImmediate(playerPanelObject.GetComponent <RectTransform>()); // Load player status object[] playerInfo = info.photonView.InstantiationData; playerName = (string)playerInfo[0]; ColorUtility.TryParseHtmlString((string)playerInfo[1], out playerColor); // Refresh player status RefreshPlayerStatus(); // Disable player SetActive(false); // Register as a new player PlayerRegister.Insert(gameObject); // Refresh player counts GameObject playerSizeObject = playerHUD.transform.Find("PlayerSize").gameObject; playerSizeObject.GetComponent <Text>().text = string.Format("Player Count : {0}", PlayerRegister.GetCount()); }
public TrainCommandHandler( ITextOutput userOutput, PlayerRegister playerRegister, LearningAgentRegister agentRegister) { _userOutput = userOutput; _playerRegister = playerRegister; _agentRegister = agentRegister; }
public static string GetPlayerInfo() { string playerInfo = string.Join(",", PlayerRegister.GetStatuses() .Select(element => "[" + element.Key + "," + element.Value + "]") ); return(playerInfo); }
public ListCommandHandler( PlayerRegister register, LearningAgentRegister agentRegister, ITextOutput output) { _register = register; _agentRegister = agentRegister; _output = output; }
private void DisableAllPlayer() { List <GameObject> playerObjects = PlayerRegister.GetAllPlayer(); for (int playerIndex = 0; playerIndex < playerObjects.Count; playerIndex++) { EnablePlayer(playerIndex, false); } }
void OnEnable() { QuestionManager = GameObject .FindGameObjectWithTag("QuestionManager") .GetComponent <QuestionManager>(); PlayerRegister = GameObject .FindGameObjectWithTag("QuestionManager") .GetComponent <PlayerRegister>(); }
public void CreatesPlayerWithCorrectTile() { var register = new PlayerRegister(); Assert.AreEqual(BoardTile.X, register.GetPlayerByName("FirstAvailableSlotPlayer", BoardTile.X).Tile); Assert.AreEqual(BoardTile.O, register.GetPlayerByName("FirstAvailableSlotPlayer", BoardTile.O).Tile); }
public void FindsPlayerByName() { var register = new PlayerRegister(); Assert.AreEqual(typeof(FirstAvailableSlotPlayer), register.GetPlayerByName("FirstAvailableSlotPlayer", BoardTile.O).GetType()); Assert.AreEqual(typeof(ConsoleInputTicTacToePlayer), register.GetPlayerByName("ConsoleInputTicTacToePlayer", BoardTile.O).GetType()); }
public bool KillPlayer(PlayerRegister playerData) { var result = _players.Remove(playerData); if (_players.Count <= 0 && WindowManager.Instance != null) { WindowManager.Instance.OpenWindow(1); } return(result); }
public void UnRegisterPlayer(GameObject player) { PlayerRegister player_register = player.GetComponent <PlayerRegister>(); player_register.FreezeControls(); //foreach (var controllable in player_register.GetComponentsInChildren<IControllable>()) //{ // controllable.FreezeControls(); //} _playerQueue.Remove(player); }
/// <summary> /// Update all player to force state into 'End State' /// </summary> private void UpdateAllPlayers() { List <GameObject> playerObjects = PlayerRegister.GetAllPlayer(); foreach (GameObject playerObject in playerObjects) { Player player = playerObject.GetComponent <Player>(); if (!(player.playerState is EndState)) { player.SetPlayerNextState(new EndState()); } } }
// called when a player controller sends the message upward that it has disconnected void OnPlayerHasDisconnected(string dcName) { if (deleteOnDisconnect) { if (GetComponent <ControllerInputRule>().CharSelectManager != null) { GetComponent <ControllerInputRule>().CharSelectManager.DeselectPlayerCharacter(PlayerRegister[dcName]); } Destroy(PlayerRegister[dcName].gameObject); PlayerRegister.Remove(dcName); Debug.Log(dcName + " has disconnected during a non-gameplay game state, and was therefore removed from the registry"); } CheckAllConnected(); }
public void OnEvent(EventData photonEvent) { byte eventCode = photonEvent.Code; if (eventCode == SwitchPlayerPositionEventCode) { bool status = SwitchToNextPlayer(); if (status) { Debug.Log(string.Format("Successfully switch to the next player [{0}]", currentPlayer)); // After switching, update for the current player UpdatePlayer(); string playerInfo = string.Join(",", PlayerRegister.GetStatuses() .Select(element => "[" + element.Key + "," + element.Value + "]") ); Debug.Log(string.Format("Players : {0}", playerInfo)); } else { Debug.Log("Failed switch to the next player"); } } else if (eventCode == PlayerReachEndStateEventCode) { Debug.Log(string.Format("Reach the end state")); // After player reach end, update for all players UpdateAllPlayers(); // Calculating the final score List <GameObject> playerObjects = PlayerRegister.GetAllPlayer(); gameResult.LoadResult(gameCards, playerObjects); gameResult.Show(); // End the game EndGame(); } else { Debug.Log(string.Format("Unhandled event with code {0}", eventCode)); } }
private void EnablePlayer(int playerIndex, bool status) { if (playerIndex > -1 && playerIndex < PlayerRegister.GetCount()) { int playerId = GetPlayerId(playerIndex); GameObject playerObject = PlayerRegister.GetPlayer(playerId); Player player = playerObject.GetComponent <Player>(); if (player != null) { if (player.SetActive(status)) { Debug.Log(string.Format("{0} player \"{1}\" : ", status ? "Enable" : "Disable", player.GetId())); } } else { Debug.Log(string.Format("{0} is not player or has not attached to the player script", playerObject.name)); } } }
private bool SwitchToNextPlayer() { int playerCount = PlayerRegister.GetCount(); if (currentPlayer < playerCount) { // Disable for the current player EnablePlayer(currentPlayer, false); int nextPlayer = (this.currentPlayer + 1) % playerCount; // Enable for the next player EnablePlayer(nextPlayer, true); // Set next player to the current player currentPlayer = nextPlayer; return(true); } else { Debug.Log("Current player is not valid"); return(false); } }
public void SetSettlement(int x, int y, int playerId, PhotonMessageInfo info) { Debug.LogFormat("Message Info: {0} {1} {2}", info.Sender, info.photonView, info.SentServerTime); GameObject playerObject = PlayerRegister.GetPlayer(playerId); Player player = playerObject.GetComponent <Player>(); if (player != null) { Vector3Int playerPosition = new Vector3Int(x, y, 0); // Ingore "z" value Tile settlementTile = player.playerTile; // Adjust saturation color settlementTile.color = AdjustColor(player.playerColor, 0.3f, 1); playerMovement.SetTile(playerPosition, settlementTile); } else { Debug.Log(string.Format("Can't set settlement in ({0}, {1}). Player id {2} is not found", x, y, playerId)); } }
private Player GetCurrentPlayer() { List <GameObject> playerObjects = PlayerRegister.GetAllPlayer(); if (currentPlayer > -1 && currentPlayer < playerObjects.Count) { GameObject playerObject = playerObjects[currentPlayer]; Player player = playerObject.GetComponent <Player>(); if (player != null) { return(player); } else { Debug.Log(string.Format("Player object {0} is not a player", playerObject.name)); return(null); } } else { Debug.Log("Current player is not valid"); return(null); } }
void Start(){ playerReg = GetComponentInParent<PlayerRegister> (); cam = playerReg.cam; }
public PlayCommandHandler(ITextOutput userOutput, PlayerRegister register) { _userOutput = userOutput; _register = register; }