Example #1
0
    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");
    }
Example #2
0
    public void Send(string msg)
    {
        string message = NetworkValues.name + ":" + input.text;

        Client.instance.Send(NetworkDecorator.AttachHeader(NetworkHeader.CHAT, message));
        AddMessage(message);
    }
Example #3
0
 public void Restart()
 {
     if (NetworkValues.isServer)
     {
         Client.instance.Send(NetworkDecorator.AttachHeader(NetworkHeader.RESTART));
     }
 }
Example #4
0
    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()));
    }
Example #5
0
 public void Close()
 {
     Debug.Log("close client");
     Send(NetworkDecorator.AttachHeader(NetworkHeader.ClOSE, NetworkValues.name));
     NetworkValues.isNetwork = false;
     client.GetStream().Close();
     client.Close();
 }
Example #6
0
 public void Close()
 {
     Debug.Log("close server");
     Send(NetworkDecorator.AttachHeader(NetworkHeader.ClOSESERVER));
     NetworkValues.isServer = false;
     server.Stop();
     clients.Clear();
     removingClients.Clear();
 }
Example #7
0
 public static void GameOver()
 {
     if (NetworkValues.isNetwork)
     {
         Client.instance.Send(NetworkDecorator.AttachHeader(NetworkHeader.GAMEOVER, NetworkValues.name));
     }
     isGameOver = true;
     ScreenFader.MoveSceneGlobal("Score");
 }
Example #8
0
 void Start()
 {
     if (!NetworkValues.isNetwork)
     {
         return;
     }
     shouldRemoveListener = true;
     Client.instance.onMessageReceived.Add(OnMessageReceived);
     Client.instance.Send(NetworkDecorator.AttachHeader(NetworkHeader.NEWBIE, NetworkValues.name));
 }
Example #9
0
 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;
     }
 }
Example #10
0
 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;
     }
 }
Example #11
0
    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()));
    }
Example #12
0
    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));
        }
    }
Example #13
0
    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));
        }
    }
Example #14
0
    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;
        }
    }
Example #15
0
 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);
         }
     }
 }