//Public Functions
 public void InitializePlayer(int _playerNum, CharacterCollection.Character _character)
 {
     playerNum = _playerNum;
     name      = playerNameText.text = _character.displayName;
     transform.parent.gameObject.GetComponent <SpriteSwitch>().SetSpriteSheet(_character.characterSpriteSheetName);
     currentCharacter = _character;
 }
    public void SetCharacter(CharacterCollection.Character character)
    {
        spriteSwitch.SetSpriteSheet(character.characterSpriteSheetName);
        //Hide if locked
        var color = character.locked ? new Color32(0, 0, 0, 255) : new Color32(255, 255, 255, 255);

        gameObject.GetComponentInChildren <SpriteRenderer>().color = color;
        transform.Find("Canvas/Avatar Mask/Avatar").GetComponent <Image>().color = color;
    }
 void SetPlayers()
 {
     for (int i = 1; i <= maxPlayers; i++)
     {
         //Add players based on the current number of players
         CharacterCollection.Character character = GameData.GetCharacter(i);
         if (character != null)
         {
             GameObject newPlayer = Instantiate(playerObject, new Vector3(playerPositions[i - 1].position, 0, 0), Quaternion.identity) as GameObject;
             newPlayer.GetComponentInChildren <PlayerController>().InitializePlayer(i, character);
         }
     }
 }
예제 #4
0
 void HandleAddPlayer()
 {
     text.text = startText;
     if (Input.GetButtonDown("Start_P" + playerNumber) || Input.GetButtonDown("Throw_P" + playerNumber))
     {
         currentCharacter = CharacterCollection.GetFirstOpenCharacter(playerNumber);
         GameObject newPlayer = Instantiate(playerObject, new Vector3(transform.position.x, transform.position.y - 40, 0), Quaternion.identity) as GameObject;
         newPlayerController = newPlayer.GetComponent <CharacterSelectController>();
         newPlayerController.SetCharacter(currentCharacter);
         newPlayerController.playerNumber = playerNumber;
         _state = State.SELECTING;
         gameObject.GetComponent <Blink>().StopBlink();
         PlaySound(joinSound);
     }
 }
예제 #5
0
    void HandlePlayerSelecting()
    {
        //Select Character
        if (Input.GetAxis("Horizontal_P" + playerNumber) != 0.0f && !axisButtonDown)
        {
            var axis = Input.GetAxis("Horizontal_P" + playerNumber);
            if (axis > 0)
            {
                currentCharacter = CharacterCollection.GetNextOpenCharacter(playerNumber);
            }
            else if (axis < 0)
            {
                currentCharacter = CharacterCollection.GetPreviousOpenCharacter(playerNumber);
            }
            newPlayerController.SetCharacter(currentCharacter);
            PlaySound(selectionSound);
            axisButtonDown = true;
        }
        //Select Costume
        if (Input.GetAxis("Vertical_P" + playerNumber) != 0.0f && !axisButtonDown)
        {
            var axis = -Input.GetAxis("Vertical_P" + playerNumber);
            if (axis > 0)
            {
                currentCharacter = CharacterCollection.GetNextOpenCostume(playerNumber);
            }
            else if (axis < 0)
            {
                currentCharacter = CharacterCollection.GetPreviousOpenCostume(playerNumber);
            }

            newPlayerController.SetCharacter(currentCharacter);
            PlaySound(selectionSound);
            axisButtonDown = true;
        }
        //Show character name
        if (currentCharacter.locked)
        {
            text.text    = currentCharacter.unlockMessage.Replace("\\n", "\n").ToUpper();
            auxText.text = GameStats.GetStat(currentCharacter.unlockKey).ToString() + "/" + currentCharacter.unlockValue.ToString() + "\nEARNED";
        }
        else
        {
            text.text    = currentCharacter.displayName.ToUpper();
            auxText.text = "";
        }
        //Finalize Selection
        if (Input.GetButtonDown("Start_P" + playerNumber) || Input.GetButtonDown("Throw_P" + playerNumber))
        {
            if (currentCharacter.locked)
            {
                PlaySound(backSound);
            }
            else
            {
                PlaySound(currentCharacter.taunt);
                newPlayerController.FinalizeSelection();
                GameData.SetCharacter(playerNumber, currentCharacter);
                gameObject.GetComponent <Blink>().StartBlink();
                _state = State.READY;
            }
        }
        //Reset axis button down
        if (Input.GetAxis("Horizontal_P" + playerNumber) == 0 && Input.GetAxis("Vertical_P" + playerNumber) == 0)
        {
            axisButtonDown = false;
        }
    }
예제 #6
0
 static public void SetCharacter(int playerNumber, CharacterCollection.Character character)
 {
     Instance.playerCharacters[playerNumber - 1] = character;
 }