コード例 #1
0
ファイル: MainMenu.cs プロジェクト: QueenPrinsessa/MageBall
        private void Start()
        {
            Cursor.lockState = CursorLockMode.None;

            if (networkManager == null && NetworkManager.singleton == null)
            {
                GameObject networkManagerGameObject = Instantiate(networkManagerPrefab);
                networkManager = networkManagerGameObject.GetComponent <NetworkManagerMageBall>();
                if (networkManager == null)
                {
                    Debug.LogError("There is no NetworkManagerMageBall component on the networkmanager prefab. Did you accidentally use the default NetworkManager instead?");
                }
            }
            else if (networkManager == null)
            {
                networkManager = (NetworkManagerMageBall)NetworkManager.singleton;
                if (networkManager.isNetworkActive)
                {
                    titleScreenPanel.SetActive(false);
                }
            }

            optionsMenu = GetComponentInChildren <OptionsMenu>();
            if (optionsMenu == null)
            {
                Debug.LogError("There is no Options Menu in the Main Menu!");
            }

            menuButtonController = titleScreenPanel.GetComponent <MenuButtonController>();
            NetworkManagerMageBall.ClientStopped += OnStopClient;
        }
コード例 #2
0
        public override void OnStartServer()
        {
            NetworkManagerMageBall networkManager = (NetworkManagerMageBall)NetworkManager.singleton;

            minutes = networkManager.MatchLength;
            TimeChanged?.Invoke(minutes, seconds);
            timerRoutine = StartCoroutine(Timer(networkManager));
        }
コード例 #3
0
        private IEnumerator Timer(NetworkManagerMageBall networkManager)
        {
            while (!hasMatchEnded)
            {
                if (seconds <= 0)
                {
                    minutes--;
                    seconds = 59;
                }
                else
                {
                    seconds--;
                }

                RpcInvokeTimeChanged(minutes, seconds);

                if (minutes <= 0 && seconds <= 0)
                {
                    EndGame();
                }

                yield return(new WaitForSeconds(1));
            }
        }