Esempio n. 1
0
    // Leaves the duel scene after 4 seconds
    public IEnumerator WaitAndEndGame()
    {
        yield return(new WaitForSeconds(4));

        // Set match results
        BushidoNetManager.Get().SetMatchResults(
            LeftSamurai.WinCount, RightSamurai.WinCount,
            LeftSamurai.BestTime, RightSamurai.BestTime,
            networking);

        GUI.ToggleShadeForMatchEnd();
    }
Esempio n. 2
0
 private void CheckForRematch()
 {
     if (rematching)
     {
         rematching = false;
         if (networked)
         {
             BushidoNetManager.Get().LaunchNetworkDuel();
         }
         else
         {
             SceneManager.LoadScene("LocalDuel");
         }
     }
 }
Esempio n. 3
0
    // Initialization
    void Awake()
    {
        // Get UI manager
        GUI = GetComponent <UIManager>();

        // Get match limit from net manager
        winLimit = BushidoNetManager.Get().MatchLimit;

        LeftSamurai.SetManager(this);
        RightSamurai.SetManager(this);

        // Set event listeners
        EventManager.GameStart += BeginRound;
        EventManager.GameReset += ResetGame;

        Get().StartCoroutine(WaitAndStartRound());
    }
Esempio n. 4
0
    private void CheckReadyStatus()
    {
        // Check if both players are ready
        if (hostReady && clientReady)
        {
            // Turn off arrow buttons in local lobby
            if (localLobby)
            {
                LeftArrow.gameObject.SetActive(false);
                RightArrow.gameObject.SetActive(false);
            }

            // Begin countdown to round begin
            Debug.Log("Countdown to scene launch");
            BushidoNetManager.Get().SetMatchLimit(BestOfText.text);
            OnBothPlayersReady();
        }
    }
Esempio n. 5
0
    // Use this for initialization
    void Start()
    {
        // Initialize some UI
        Shade.Initialize();
        MainText.enabled     = false;
        LeftCheckbox.sprite  = UncheckedBox;
        RightCheckbox.sprite = UncheckedBox;

        // Get match results from net manager
        var netManager = BushidoNetManager.Get();

        // Change UI to show number of wins for each player
        int leftWins  = netManager.Results.LeftWins;
        int rightWins = netManager.Results.RightWins;

        LeftWins.text  = "" + leftWins;
        RightWins.text = "" + rightWins;
        if (leftWins > rightWins)
        {
            LeftWinner.enabled  = true;
            RightWinner.enabled = false;
        }
        else
        {
            LeftWinner.enabled  = false;
            RightWinner.enabled = true;
        }

        // Change UI to show the best reaction time of each player
        int leftBest  = netManager.Results.LeftBest;
        int rightBest = netManager.Results.RightBest;

        LeftBest.text  = (leftBest == -1) ? "xx" : "" + leftBest;
        RightBest.text = (rightBest == -1) ? "xx" : "" + rightBest;

        networked = netManager.Results.Networked;
        if (!networked)
        {
            LeftCheckbox.enabled  = false;
            RightCheckbox.enabled = false;
        }
    }
Esempio n. 6
0
    // Handle animating UI elements when leaving menu scene
    private void CheckForMenuExit()
    {
        // After shade is black, leave menu
        if (!Shade.IsHidden && leavingMenu)
        {
            leavingMenu = false;

            // Clear event listeners
            EventManager.Nullify();

            // Change scene
            if (localMenuOpen)
            {
                SceneManager.LoadScene(nextSceneName);
            }
            else
            {
                BushidoNetManager.Get().LaunchNetworkDuel();
            }
        }
    }