Exemple #1
0
    // Update is called once per frame
    void Update()
    {
        for (int controllerNumber = 1; controllerNumber <= 4; controllerNumber++)
        {
            if (Input.GetButtonDown("Action" + controllerNumber))
            {
                Debug.Log("Heard controller" + controllerNumber);
                bool controllerAlreadyAssigned = false;
                for (int playerNumber = 1; playerNumber <= 4; playerNumber++)
                {
                    if (StaticPlayerControllerMapping.GetControllerNumberForPlayer(playerNumber) == controllerNumber)
                    {
                        controllerAlreadyAssigned = true;
                        StaticPlayerControllerMapping.SetControllerNumberForPlayer(playerNumber, 0);
                        Debug.Log("Reset player" + playerNumber);
                    }
                }

                if (!controllerAlreadyAssigned)
                {
                    for (int playerNumber = 1; playerNumber <= 4; playerNumber++)
                    {
                        if (StaticPlayerControllerMapping.GetControllerNumberForPlayer(playerNumber) == 0)
                        {
                            StaticPlayerControllerMapping.SetControllerNumberForPlayer(playerNumber, controllerNumber);
                            Debug.Log("Assigning controller" + controllerNumber + "to player" + playerNumber);
                            break;
                        }
                    }
                }
            }
        }
    }
Exemple #2
0
    private void Start()
    {
        rb = GetComponent <Rigidbody>();
        if (controllerNumber == 0 && playerNumber > 0 && playerNumber <= 4)
        {
            controllerNumber = StaticPlayerControllerMapping.GetControllerNumberForPlayer(playerNumber);
        }

        if (controllerNumber == 0)       // Still controller not set? then disable the game object as no player possess it
        {
            gameObject.SetActive(false); // hides the player if no player has possessed this player.
        }
        else
        {
            horizontalInputString = "Horizontal" + controllerNumber;
            verticalInputString   = "Vertical" + controllerNumber;
            actionInputString     = "Action" + controllerNumber;
            pickupInputString     = "Pickup" + controllerNumber;
        }

        carryObject = GetComponentInChildren <CarryObject>();
        if (carryObject == null)
        {
            Debug.LogError("No CarryObject script in childer for " + gameObject);
        }
    }
Exemple #3
0
 // Update is called once per frame
 void Update()
 {
     if (playerNumber > 0 && playerNumber <= 4 && StaticPlayerControllerMapping.GetControllerNumberForPlayer(playerNumber) != 0)
     {
         actionText.text = selectedText1 + StaticPlayerControllerMapping.GetControllerNumberForPlayer(playerNumber) + selectedText2 + playerNumber;
     }
     else
     {
         actionText.text = notSelectedText;
     }
 }
Exemple #4
0
 // Update is called once per frame
 void Update()
 {
     for (int playerNumber = 1; playerNumber <= 4; playerNumber++)
     {
         if (StaticPlayerControllerMapping.GetControllerNumberForPlayer(playerNumber) != 0)
         {
             button.interactable = true;
             return;
         }
     }
     button.interactable = false;
 }