コード例 #1
0
    private void SetPlayerSymbol(Message msg)
    {
        SymbolSelectionMsg selection = msg as SymbolSelectionMsg;

        if (selection.player == 0)
        {
            PlayerOneSymbol.sprite = selection.symbol;
            PlayerOneSymbol.color  = activePlayerColor;
        }
        else
        {
            PlayerTwoSymbol.sprite = selection.symbol;
            PlayerTwoSymbol.color  = inactivePlayerColor;

            if (gameBoard.BoardSize == 0)
            {
                gameBoard.SetPlayerSymbols(PlayerOneSymbol.sprite, PlayerTwoSymbol.sprite);
                gameBoard.CreateGameBoard(3);
            }
            else
            {
                ResetGame();
            }
        }
    }
コード例 #2
0
    private IEnumerator MakeSelection(int index)
    {
        symbolImages[index].GetComponent <Image>().color         = Color.gray;
        symbolImages[index].GetComponent <Button>().interactable = false;

        selectionParticles.transform.position = symbolImages[index].transform.position;
        Vector3 particleDest = player == 0 ? playerOneIcon.position : playerTwoIcon.position;
        float   moveTime     = 0f;
        float   movePercent;

        selectionParticles.Play();

        while (selectionParticles.transform.position != particleDest)
        {
            movePercent = moveTime / particleTravelTime;
            selectionParticles.transform.position = Vector3.Lerp(selectionParticles.transform.position, particleDest, movePercent);
            moveTime += Time.deltaTime;
            yield return(null);
        }

        selectionParticles.Stop();

        SymbolSelectionMsg msg = new SymbolSelectionMsg();

        msg.player = player;
        msg.symbol = symbolImages[index].GetComponent <Image>().sprite;

        Messenger.GetInstance().BroadCastMessage(msg);

        player++;
        SetTitleText();

        if (player > 1)
        {
            CloseMenu();
        }
    }