示例#1
0
    public void StartJigsawClient()
    {
        JigsawMenu menu = FindObjectOfType <JigsawMenu>();

        if (menu.PlayerNameInput.text.Length < 4)
        {
            StaticJigsawData.ErrorHUD.DisplayMessage("You must have a valid display name, with at least 4 characters", 5.0f);
            return;
        }
        string hostAddr = menu.HostAddressInput.text;

        if (!NetworkUtils.IsValidHexAddr(hostAddr))
        {
            StaticJigsawData.ErrorHUD.DisplayMessage("Provided host ID is invalid. It must be 8 characters long, using 0-9 and A-B", 5.0f);
            return;
        }
        StaticJigsawData.LocalPlayerName = menu.PlayerNameInput.text;


        NetworkWorldState oldWorldState = FindObjectOfType <NetworkWorldState>();

        if (oldWorldState)
        {
            Destroy(oldWorldState);
        }

        StaticJigsawData.PuzzleTexture = null; // Clear the client's texture to prevent auto-populating the puzzle pieces with their own image
        ObjectManager.ResetState();
        networkAddress = NetworkUtils.HexToIPv4(hostAddr);
        networkPort    = 7777;
        StartClient();
    }
示例#2
0
    public void StartJigsawHost()
    {
        if (StaticJigsawData.PuzzleTexture == null)
        {
            StaticJigsawData.ErrorHUD.DisplayMessage("You must load a valid puzzle image in order to host a game", 5.0f);
            return;
        }
        JigsawMenu menu = FindObjectOfType <JigsawMenu>();

        if (menu.PlayerNameInput.text.Length < 4)
        {
            StaticJigsawData.ErrorHUD.DisplayMessage("You must have a valid display name, with at least 4 characters", 5.0f);
            return;
        }
        StaticJigsawData.LocalPlayerName = menu.PlayerNameInput.text;
        StaticJigsawData.PuzzleWidth     = (uint)menu.PuzzleWidthSlider.value;
        StaticJigsawData.PuzzleHeight    = (uint)menu.PuzzleHeightSlider.value;

        NetworkWorldState oldWorldState = FindObjectOfType <NetworkWorldState>();

        if (oldWorldState)
        {
            Destroy(oldWorldState);
        }

        ObjectManager.ResetState();
        networkPort = 7777;
        StartHost();
    }