public static void StarGame(int a) // in via la pasrtenza del game e quale mappa { NetworkManager.setState(2); ByteBuffer buffer = new ByteBuffer(); buffer.WriteInteger((int)ClientPackets.cHelloServer); buffer.WriteString("start game"); ClientTcp.SendData(buffer.ToArray()); buffer.Dispose(); DataSender.StartMap(a); }
public static void HandleWelcomeMessage(byte[] data) // dovrebbe essere static ma così funzoina { ByteBuffer buffer = new ByteBuffer(); buffer.writeBytes(data); int playerID = buffer.ReadInteger(); string msg = buffer.ReadString(); buffer.Dispose(); if (NetworkManager.getState() <= 0) // casi normali { switch (msg) // aggiungere un caso per scoprire il colore ? { case "benvenuto nel server mettiti comodo": // mi sono connesso { Debug.Log(msg); DataSender.SendHelloServer(); break; } case "Come ti chiami ?": { Debug.Log("ecco come mi chiamo"); NetworkManager.setState(-1); // impedisco l'uso del button nella waiting room DataSender.SendName(); break; } case "ok": { NetworkManager.setMessage("ok"); Debug.Log("nome salvato"); NetworkManager.setState(0); // riattivo il bottone break; } case "startgame": { NetworkManager.setMessage("start"); Debug.Log(msg); break; } case "NewPlayer": { Debug.Log("newplayer"); NetworkManager.addNPlayer(); // mi segno che è entrato un nuovo player NetworkManager.setMessage("NewPlayer"); break; } case "PlayerQuit": { Debug.Log("playerquit"); NetworkManager.dimNPlayer(); // mi segno che è uscito un nuovo player NetworkManager.setMessage("PlayerQuit"); break; } case "Your Go": { NetworkManager.setMessage("Myturn"); break; } case "Attacco": // un player ha fatto un attacco devo aggionrare la mappa { NetworkManager.setState(3); break; } case "Spostamento": // un player ha fatto uno spostamento devo aggionrare la mappa { NetworkManager.setState(4); break; } case "Posizionamento": // un player ha fatto uno posizioanemtnopdevo aggionrare la mappa { NetworkManager.setState(5); break; } case "Combo Carte": // un player ha fatto uno posizioanemtnopdevo aggionrare la mappa { NetworkManager.setState(6); break; } case "Dichiaro Attacco": { NetworkManager.setState(7); break; } case "Next Phase": { NetworkManager.setState(8); break; } case "Nomi Player": { NetworkManager.setState(9); break; } } } else if (NetworkManager.getState() == 1) // salvo il numero di player { NetworkManager.setNPlayer(int.Parse(msg)); // Debug.Log("msg"); NetworkManager.setState(0); // Debug.Log(NetworkManager.state); } else if (NetworkManager.getState() == 2) // indico che mappa caricare { NetworkManager.setMap(int.Parse(msg)); Debug.Log("starting map " + msg); NetworkManager.setState(0); // Debug.Log(NetworkManager.state); } else if (NetworkManager.getState() == 3) // fase di attcacco { NetworkManager.refresh(msg, 4); } else if (NetworkManager.getState() == 4) // fase di spostamento { NetworkManager.refresh(msg, 3); } else if (NetworkManager.getState() == 5) // fase di posizioanemnto { NetworkManager.refresh(msg, 1); } else if (NetworkManager.getState() == 6) // usata combo carte { NetworkManager.refresh(msg, 2); } else if (NetworkManager.getState() == 7) // attacco dichiarato { NetworkManager.refresh(msg, 5); } else if (NetworkManager.getState() == 8) // attacco dichiarato { NetworkManager.refresh(msg, 6); } else if (NetworkManager.getState() == 9) // caso lettura nomi { if (msg == "Fine Nomi") { NetworkManager.setState(10); } else { NetworkManager.InizializzaPlayer(msg, 0); } } else if (NetworkManager.getState() == 10) // caso lettura nomi { if (msg == "End Player") { NetworkManager.setState(0); } else { NetworkManager.InizializzaPlayer(msg, 1); } } }