예제 #1
0
    void Update()
    {
        if (!GetComponent <Button>().interactable&& _bodyView.GetTrackedBodiesCount() > 0)
        {
            GetComponent <Button>().interactable = true;
        }
        else if (GetComponent <Button>().interactable&& _bodyView.GetTrackedBodiesCount() == 0)
        {
            GetComponent <Button>().interactable = false;
            ToSelectUI.text = "Pas de selection possible";
        }

        if (isSelecting && count < _bodyView.GetTrackedBodiesCount())
        {
            if (Input.GetMouseButtonDown(0))
            {
                Debug.Log("Clic !");
                RaycastHit hitInfo;
                Debug.DrawRay(Camera.main.ScreenPointToRay(new Vector3(Input.mousePosition.x, Input.mousePosition.y, -3.0f)).origin, Camera.main.ScreenPointToRay(Input.mousePosition).direction * 500f, Color.red, Mathf.Infinity);
                if (Physics.Raycast(new Ray(Camera.main.ScreenPointToRay(new Vector3(Input.mousePosition.x, Input.mousePosition.y, -3.0f)).origin, Camera.main.ScreenPointToRay(Input.mousePosition).direction * 500f), out hitInfo) && hitInfo.transform.name != "ColorView")
                {
                    Debug.Log("Mr " + hitInfo.transform.gameObject.name + " est enregistré comme Player " + (count + 1));
                    TakePhoto(hitInfo.transform.gameObject);
                    _bodyView.AssignBody(count, ulong.Parse(hitInfo.transform.gameObject.name));
                    PlayersManager.instance.AddPlayer(ulong.Parse(hitInfo.transform.gameObject.name));
                    count++;
                    if (count < _bodyView.GetTrackedBodiesCount())
                    {
                        ToSelectUI.text = "Selectionner joueur " + (count) + " / " + _bodyView.GetTrackedBodiesCount();
                    }
                }
                else
                {
                    Debug.Log("Aucun joueur n'a été touché");
                }
            }
        }
        if (count == totalPlayers)
        {
            ToSelectUI.text = count + " joueur(s) selectionné(s), cliquez pour jouer pour commencer !";
            GetComponent <Button>().interactable = true;
            GameObject.Find("PlayButton").GetComponent <Button>().interactable = true;
            ToSelectUI.text = count + " joueur(s) selectionné(s), cliquez pour jouer pour commencer !";
        }
    }
예제 #2
0
 void Start()
 {
     totalPlayers = GameParameters.instance.GetPlayerCount();
     _bodyView    = GameObject.Find("BodyView").GetComponent <BodySourceView>();
     GetComponent <Button>().onClick.AddListener(delegate
     {
         count       = 0;
         isSelecting = true;
         _bodyView.ResetMarkers();
         PlayersManager.instance.InitPlayers();
         ToSelectUI.text = "Selectionner joueur " + (count + 1) + " / " + _bodyView.GetTrackedBodiesCount();
         GetComponent <Button>().interactable = false;
     });
 }