Ejemplo n.º 1
0
    private void OnTriggerExit(Collider other)
    {
        if (other.gameObject.tag.Equals("Player"))
        {
            var userInfo = other.gameObject.GetComponent <PlayerAvatar>().userInfo;

            if (!GameManager.isLocalGame)
            {
                if (hostOnly && !(GameManager.isHost && userInfo.isHost))
                {
                    return;
                }
                if (requiresMoreThanOnePlayerInHub && ClientInRoom.players.Count <= 1)
                {
                    return;
                }

                if (userInfo.id != Client.user.id)
                {
                    return;
                }
            }

            Prompt prompt = other.gameObject.GetComponentInChildren <Prompt>();
            promptTargets.Remove(prompt);
            if (prompt.btn != null)
            {
                PromptsManager.ReleasePrompt(prompt.btn);
            }
            prompt.btn = null;
        }
    }
Ejemplo n.º 2
0
    private void OnTriggerEnter(Collider other)
    {
        if (other.gameObject.tag.Equals("Player"))
        {
            var userInfo = other.gameObject.GetComponent <PlayerAvatar>().userInfo;

            if (!GameManager.isLocalGame)
            {
                if (hostOnly && !(GameManager.isHost && userInfo.isHost))
                {
                    return;
                }
                if (requiresMoreThanOnePlayerInHub && ClientInRoom.players.Count <= 1)
                {
                    return;
                }

                if (userInfo.id != Client.user.id)
                {
                    return;
                }
            }
            else
            if (requiresMoreThanOnePlayerInHub && FindObjectOfType <PlayerSpawnerManager>().currentJoinedPlayers <= 1)
            {
                return;
            }

            Prompt prompt = other.gameObject.GetComponentInChildren <Prompt>();
            promptTargets.Add(prompt);
            Button btn = PromptsManager.RequestPrompt();
            if (btn != null)
            {
                btn.onClick.RemoveAllListeners();
                btn.onClick.AddListener(() => onPressed.Invoke());
                prompt.SetButton(btn);
                Bilingual b = prompt.btn.GetComponentInChildren <Bilingual>();
                b.spanishText = spanishText;
                b.englishText = englishText;
                b.UpdateLanguage();
                Image img = prompt.btn.GetComponentsInChildren <Image>()[1];

                if (GameManager.isHandheld)
                {
                    img.enabled = mobileSprite != null;

                    if (mobileSprite != null)
                    {
                        img.sprite = mobileSprite;
                    }
                }
                else
                {
                    PlayerInput playerInput = other.GetComponent <PlayerInput>();

                    switch (playerInput.currentControlScheme)
                    {
                    case "Gamepad":
                        img.enabled = gamepadSprite != null;
                        img.sprite  = gamepadSprite;
                        break;

                    case "Keyboard&Mouse":
                        img.enabled = keyboardPlayer1Sprite != null;
                        img.sprite  = keyboardPlayer1Sprite;
                        break;

                    case "VirtualKeyboard":
                        img.enabled = keyboardPlayer2Sprite != null;
                        img.sprite  = keyboardPlayer2Sprite;
                        break;
                    }
                }
            }
        }
    }