// TODO: Como hacer que este sea quien envie los mensajes con enter o el boton // y ademas cargue los mensajes de los otros jugadores /// <summary> /// Metodo para actualizar los mensajes del chat /// </summary> void Update() { if (chatBox.text != "") { if (Input.GetKeyDown(KeyCode.Return)) { ControlTurnos control = GameObject.Find("ControlTurnos").GetComponent <ControlTurnos>(); string message = chatBox.text; Debug.Log("Mensaje: " + message); string color = control.Color; string id = Lobby.instance.IdLobby; Mensaje mensaje = new Mensaje(id, color, message); string messageData = JsonConvert.SerializeObject(mensaje); SendChatMessage(chatBox.text); ConnectionManager.instance.socket.Emit("mensaje", messageData); } } else { if (!chatBox.isFocused && Input.GetKeyDown(KeyCode.Return)) { chatBox.ActivateInputField(); } } }
/// <summary> /// Corutina para cargar las fichas y nombres correspondientes a los colores elegidos /// </summary> IEnumerator ActualizarGameBoard() { yield return(new WaitForSeconds(1)); ControlTurnos control = GameObject.Find("ControlTurnos").GetComponent <ControlTurnos>(); int count = 1; var list = Lobby.instance.Players.Keys.ToList(); list.Sort(); GameObject[] objetos = Resources.FindObjectsOfTypeAll <GameObject>(); foreach (string player in list) { foreach (GameObject go in objetos) { if (go.name == Lobby.instance.Players[player] + "Triangle") { go.SetActive(true); } if (go.name == Lobby.instance.Players[player] + "PlayerName") { go.SetActive(true); go.GetComponent <Text>().text = player; } } if (player == Jugador.instance.Username) { control.MyTurn = count; control.Color = Lobby.instance.Players[player]; } count++; } control.ActualTurn = 1; control.IniciarControl(); }
void Start() { sCasilla = casilla.GetComponent <Casilla>(); sCasilla.Ocupada = true; Vector3 posicion = casilla.transform.position; this.gameObject.transform.position = new Vector3(posicion.x, posicion.y, posicion.z - 10); control = GameObject.Find("ControlTurnos").GetComponent <ControlTurnos>(); }
/// <summary> /// Metodo llamado por servidor para terminar el turno de un jugador en determinado lobby /// </summary> private void OnTerminarTurno(Socket socket, Packet packet, params object[] args) { Debug.Log("Terminando Turno"); ControlTurnos control = GameObject.Find("ControlTurnos").GetComponent <ControlTurnos>(); if (control.ActualTurn + 1 > Lobby.instance.Players.Count) { control.ActualTurn = 1; } else { control.ActualTurn++; } }
/// <summary> /// Metodo llamado por servidor para mover una pieza a todo el lobby /// </summary> private void OnMoverPieza(Socket socket, Packet packet, params object[] args) { var datos = JSON.Parse(packet.ToString()); string movementInfo = datos[1].ToString(); movementInfo = movementInfo.Substring(1, movementInfo.Length - 2); movementInfo = movementInfo.Replace(@"\", ""); DatosMovimiento movimiento = JsonConvert.DeserializeObject <DatosMovimiento>(movementInfo); ControlTurnos control = GameObject.Find("ControlTurnos").GetComponent <ControlTurnos>(); control.FichaSeleccionada = GameObject.Find(movimiento.Ficha); Debug.Log("Ficha a mover " + control.FichaSeleccionada); Casilla casilla = GameObject.Find(movimiento.Casilla).GetComponent <Casilla>(); casilla.Mover(); Debug.Log("Casilla destino " + casilla.name); }
private void Start() { // obtener la referencia del objeto de control de turnos control = GameObject.Find("ControlTurnos").GetComponent <ControlTurnos>(); }