public void Complete() { foreach (GameObject pannel in teamPannels) { Team team = Match.MakeTeam(); team.color = pannel.GetComponent <Image>().color; team.color.a = 1; foreach (Transform js in pannel.transform) { JavascriptPannel jsPannel = js.gameObject.GetComponent <JavascriptPannel>(); team.AddJSInfo(jsPannel.jsInfo); if (jsPannel.jsInfo.isMine && !Match.myTeam.Contains(team)) { Match.myTeam.Add(team); } } } Match.CompleteMakeTeams(); if (NetworkValues.isServer) { Client.instance.Send(NetworkDecorator.AttachHeader(NetworkHeader.START)); } ScreenFader.MoveSceneGlobal("Playground"); }
public void Send(string msg) { string message = NetworkValues.name + ":" + input.text; Client.instance.Send(NetworkDecorator.AttachHeader(NetworkHeader.CHAT, message)); AddMessage(message); }
public void Restart() { if (NetworkValues.isServer) { Client.instance.Send(NetworkDecorator.AttachHeader(NetworkHeader.RESTART)); } }
void SendMessagesToNewbie(TcpClient client, NetworkDecorator.NetworkMessage message) { if (message.header != NetworkHeader.NEWBIE) { return; } Debug.Log("NEWBIE COMES!"); int numTeam = teamList.transform.childCount; if (numTeam > 2) { for (int i = 0; i < numTeam - 2; ++i) { Server.instance.SendToCleint(client, NetworkDecorator.AttachHeader(NetworkHeader.ADDTEAM)); } } foreach (Transform team in teamList.transform) { foreach (Transform fleet in team) { string str = team.gameObject.GetComponent <NetworkTeamPannel>().MakeNetworkMessage(NetworkHeader.ADDJS, fleet.gameObject, true); Debug.Log("NEWBIE : " + str); Server.instance.SendToCleint(client, str); } } Server.instance.SendToCleint(client, NetworkDecorator.AttachHeader(NetworkHeader.CHANGEGROUNDSIZE, GameValueSetter.groundSize.ToString())); Server.instance.SendToCleint(client, NetworkDecorator.AttachHeader(NetworkHeader.CHANGESHIPSPERFLEET, GameValueSetter.numShipsPerFleet.ToString())); }
public void Close() { Debug.Log("close client"); Send(NetworkDecorator.AttachHeader(NetworkHeader.ClOSE, NetworkValues.name)); NetworkValues.isNetwork = false; client.GetStream().Close(); client.Close(); }
public void Close() { Debug.Log("close server"); Send(NetworkDecorator.AttachHeader(NetworkHeader.ClOSESERVER)); NetworkValues.isServer = false; server.Stop(); clients.Clear(); removingClients.Clear(); }
public static void GameOver() { if (NetworkValues.isNetwork) { Client.instance.Send(NetworkDecorator.AttachHeader(NetworkHeader.GAMEOVER, NetworkValues.name)); } isGameOver = true; ScreenFader.MoveSceneGlobal("Score"); }
void Start() { if (!NetworkValues.isNetwork) { return; } shouldRemoveListener = true; Client.instance.onMessageReceived.Add(OnMessageReceived); Client.instance.Send(NetworkDecorator.AttachHeader(NetworkHeader.NEWBIE, NetworkValues.name)); }
public void ChangeShipsPerFleet(string shipsPerFleet) { if (NetworkValues.isServer) { Client.instance.Send(NetworkDecorator.AttachHeader(NetworkHeader.CHANGESHIPSPERFLEET, shipsPerFleet)); } else { GameValueSetter.numShipsPerFleet = int.Parse(shipsPerFleet); textShipsPerFleet.text = shipsPerFleet; } }
public void ChangeGroundSize(string groundSize) { if (NetworkValues.isServer) { Client.instance.Send(NetworkDecorator.AttachHeader(NetworkHeader.CHANGEGROUNDSIZE, groundSize)); } else { GameValueSetter.groundSize = int.Parse(groundSize); textGroundSize.text = groundSize; } }
public string MakeNetworkMessage(string header, GameObject pannel, bool code = false) { StringBuilder b = new StringBuilder(transform.GetSiblingIndex().ToString()); b.Append(":"); b.Append(pannel.name); if (code) { b.Append(":콛"); b.Append(pannel.GetComponent <JavascriptPannel>().jsInfo.code); } return(NetworkDecorator.AttachHeader(header, b.ToString())); }
public void AddTeam(bool sendMessage = true) { GameObject pannel = (GameObject)Instantiate(Resources.Load("TeamPannel")); pannel.transform.SetParent(transform); pannel.transform.localScale = Vector3.one; pannel.GetComponent <Image>().color = GoodColor.DequeueColor(); teamPannels.Add(pannel); if (NetworkValues.isServer && NetworkValues.isNetwork && sendMessage) { Client.instance.Send(NetworkDecorator.AttachHeader(NetworkHeader.ADDTEAM)); } }
public void RemoveTeam() { if (teamPannels.Count <= 2) { return; } foreach (GameObject pannel in teamPannels) { if (pannel.transform.childCount <= 0) { GoodColor.EnQueueColor(pannel.GetComponent <Image>().color); teamPannels.Remove(pannel); Destroy(pannel); break; } } if (NetworkValues.isServer) { Client.instance.Send(NetworkDecorator.AttachHeader(NetworkHeader.REMOVETEAM)); } }
void OnMessageReceivedAsServer(TcpClient client, NetworkDecorator.NetworkMessage m) { switch (m.header) { case NetworkHeader.NEWBIE: break; case NetworkHeader.REQUESTTICK: numRequest++; if (numRequest >= Server.instance.GetNumClients() && NetworkValues.requestedTick > NetworkValues.acceptedTick) { Server.instance.Send(NetworkDecorator.AttachHeader(NetworkHeader.ACCEPTTICK, m.message)); numRequest = 0; } break; case NetworkHeader.GAMEOVER: NetworkValues.acceptedTick += 1000; break; } }
public void ExcuteCommand(string command, bool syncronized = false, FleetAILoader ai = null) { if (ai == null) { ai = selectedAI; } if (ai != null) { if (NetworkValues.isNetwork && !syncronized) { StringBuilder b = new StringBuilder(ai.fleet.name); b.Append("콛"); b.Append(command); Client.instance.Send(NetworkDecorator.AttachHeader(NetworkHeader.CONSOLE, b.ToString())); AddPendingCommand(b.ToString()); } else { ai.ExcuteCommand(command); WriteLog(command); } } }