Пример #1
0
    public void InitializeSinglePlayerGame()
    {
        ResetPlayers();

        //  DUMMY CONDITIONS
        object[] endingConditionParams = new object[2];
        endingConditionParams[0] = gameTable;
        endingConditionParams[1] = (object)5;
        gameTable.ChangeGameMode(Common.Enums.GameMode.RoundCount, endingConditionParams);

        UIDeck.Show();

        player.InitializePlayer(gameTable);

        UIComputer player2 = computer1.InitializeComputer();
        UIComputer player3 = computer2.InitializeComputer();
        UIComputer player4 = computer3.InitializeComputer();

        AddPlayer(player.getInternalPlayer());
        AddPlayer(player2);
        AddPlayer(player3);
        AddPlayer(player4);

        gameTable.InitializeGame();
    }
Пример #2
0
    public static int GetRelativePlayerSeat(int player)
    {
        var seat = player - unityPlayer.getInternalPlayer().GetPlayersSeat();

        if (seat < 0)
        {
            seat += 4;
        }

        return(seat);
    }
Пример #3
0
 private void SetTrump(Common.Enums.CardType cardType)
 {
     Hide();
     if (Properties.ActiveGameType == GameType.SinglePlayer)
     {
         player.getInternalPlayer().SetTrumpType(cardType);
     }
     else
     {
         networkPlayer.GetInternalPlayer().SetTrumpType(cardType);
     }
 }
Пример #4
0
    public void Release()
    {
        GameObject scriptWrapper = GameObject.FindGameObjectWithTag("SCRIPTWRAPPER");

        if (scriptWrapper != null && !released)
        {
            released = true;
            MonoPlayer        player        = scriptWrapper.GetComponent <MonoPlayer>();
            MonoNetworkPlayer networkPlayer = scriptWrapper.GetComponent <MonoNetworkPlayer>();
            if (transform.position.y > player.splitter.transform.position.y)
            {
                //  CARD PLAYED
                this.transform.position      = new Vector3(transform.position.x, transform.position.y, 1f);
                player.playerDeck.playedCard = this;

                PlayedCardsController.PlaceCard(transform);
                UserInteraction.InputActive = false;

                // FINALLY ACTUALLY PLAY THE CARD
                if (Properties.ActiveGameType == GameType.SinglePlayer)
                {
                    player.getInternalPlayer().PlayCard(this.card);
                }
                else
                {
                    networkPlayer.GetInternalPlayer().PlayCard(this.card);
                }

                released = false;
            }
            else
            {
                ResetPosition(false);
            }
        }
    }
Пример #5
0
    void OnGUI()
    {
        GUI.depth = 20;
        GUI.skin  = popupSkin;
        GUI.BeginGroup(menuPosition);
        //  MAIN BOX
        GUI.Box(mainGroupPosition, "");
        //  INNER GROUP
        GUI.DrawTexture(dealTitlePosition, LanguageManager.playerLanguage == "en" ? DealTitle_EN : DealTitle);
        GUI.BeginGroup(innerGroupPosition);

        GUI.DrawTexture(new Rect(0, 0, innerGroupPosition.width / 10, innerGroupPosition.width / 10), Border1);
        GUI.DrawTexture(new Rect(innerGroupPosition.width / 10 * 9, 0, innerGroupPosition.width / 10, innerGroupPosition.width / 10), Border2);


        //GUI.Label(new Rect(0, 0, innerGroupPosition.width, marginHeight), LanguageManager.getString("MKBDNG"));

        float offsetX = 0;
        float offsetY = 0;


        offsetY += innerGroupPosition.height / 4;
        //  FIRST ROW
        if (GUI.Button(new Rect(offsetX, offsetY, buttonWidth, buttonWidth), "0"))
        {
            //  BID 0
            SetActive(false);
            if (Properties.ActiveGameType == GameType.SinglePlayer)
            {
                player.getInternalPlayer().Bid(0);
            }
            else
            {
                NetworkPlayer.GetInternalPlayer().Bid(0);
            }
        }
        offsetX += buttonWidth + marginWidth;
        if (GUI.Button(new Rect(offsetX, offsetY, buttonWidth, buttonWidth), "5"))
        {
            //  BID 5
            SetActive(false);
            if (Properties.ActiveGameType == GameType.SinglePlayer)
            {
                player.getInternalPlayer().Bid(5);
            }
            else
            {
                NetworkPlayer.GetInternalPlayer().Bid(5);
            }
        }
        offsetX += buttonWidth + marginWidth;
        if (GUI.Button(new Rect(offsetX, offsetY, buttonWidth, buttonWidth), "6"))
        {
            //  BID 6
            SetActive(false);
            if (Properties.ActiveGameType == GameType.SinglePlayer)
            {
                player.getInternalPlayer().Bid(6);
            }
            else
            {
                NetworkPlayer.GetInternalPlayer().Bid(6);
            }
        }
        offsetX += buttonWidth + marginWidth;
        if (GUI.Button(new Rect(offsetX, offsetY, buttonWidth, buttonWidth), "7"))
        {
            //  BID 7
            SetActive(false);
            if (Properties.ActiveGameType == GameType.SinglePlayer)
            {
                player.getInternalPlayer().Bid(7);
            }
            else
            {
                NetworkPlayer.GetInternalPlayer().Bid(7);
            }
        }
        offsetX += buttonWidth + marginWidth;
        if (GUI.Button(new Rect(offsetX, offsetY, buttonWidth, buttonWidth), "8"))
        {
            //  BID 8
            SetActive(false);
            if (Properties.ActiveGameType == GameType.SinglePlayer)
            {
                player.getInternalPlayer().Bid(8);
            }
            else
            {
                NetworkPlayer.GetInternalPlayer().Bid(8);
            }
        }
        offsetX += buttonWidth + marginWidth;
        if (GUI.Button(new Rect(offsetX, offsetY, buttonWidth, buttonWidth), "9"))
        {
            //  BID 9
            SetActive(false);
            if (Properties.ActiveGameType == GameType.SinglePlayer)
            {
                player.getInternalPlayer().Bid(9);
            }
            else
            {
                NetworkPlayer.GetInternalPlayer().Bid(9);
            }
        }


        //  SECOND ROW
        offsetY += marginHeight;
        offsetX  = 0;


        if (GUI.Button(new Rect(offsetX, offsetY, buttonWidth, buttonWidth), "10"))
        {
            //  BID 10
            SetActive(false);
            if (Properties.ActiveGameType == GameType.SinglePlayer)
            {
                player.getInternalPlayer().Bid(10);
            }
            else
            {
                NetworkPlayer.GetInternalPlayer().Bid(10);
            }
        }
        offsetX += buttonWidth + marginWidth2;
        if (GUI.Button(new Rect(offsetX, offsetY, buttonWidth, buttonWidth), "11"))
        {
            //  BID 11
            SetActive(false);
            if (Properties.ActiveGameType == GameType.SinglePlayer)
            {
                player.getInternalPlayer().Bid(11);
            }
            else
            {
                NetworkPlayer.GetInternalPlayer().Bid(11);
            }
        }
        offsetX += buttonWidth + marginWidth2;
        if (GUI.Button(new Rect(offsetX, offsetY, buttonWidth, buttonWidth), "12"))
        {
            //  BID 12
            SetActive(false);
            if (Properties.ActiveGameType == GameType.SinglePlayer)
            {
                player.getInternalPlayer().Bid(12);
            }
            else
            {
                NetworkPlayer.GetInternalPlayer().Bid(12);
            }
        }
        offsetX += buttonWidth + marginWidth2;
        if (GUI.Button(new Rect(offsetX, offsetY, buttonWidth, buttonWidth), "13"))
        {
            //  BID 13
            SetActive(false);
            if (Properties.ActiveGameType == GameType.SinglePlayer)
            {
                player.getInternalPlayer().Bid(13);
            }
            else
            {
                NetworkPlayer.GetInternalPlayer().Bid(13);
            }
        }
        offsetX += buttonWidth + marginWidth2;
        if (GUI.Button(new Rect(offsetX, offsetY, buttonWidth * 2, buttonWidth), LanguageManager.getString("PASS")))
        {
            //  PASS
            SetActive(false);
            if (Properties.ActiveGameType == GameType.SinglePlayer)
            {
                player.getInternalPlayer().Bid(-1);
            }
            else
            {
                NetworkPlayer.GetInternalPlayer().Bid(-1);
            }
        }

        if (currentRound != null)
        {
            var biddings = currentRound.GetInitialPhase().GetRoundScores();

            for (int i = 0; i < 4; i++)
            {
                var said = biddings[i].GetSaid();
                var bid  = "";
                if (said == -2)
                {
                    bid = "-";
                }
                else if (said == -1)
                {
                    bid = LanguageManager.getString("PASS");
                }
                else
                {
                    bid = said.ToString();
                }


                GUI.Label(new Rect(biddingsPos.x, offsetY, biddingsPos.width, biddingsPos.height), gameTable.gameTable.GetPlayerSeatedAt(i).PlayerName);
                GUI.Label(new Rect(biddingsPos2.x, offsetY, biddingsPos2.width, biddingsPos2.height), bid);
                offsetY += marginHeight / 2;
            }
        }

        GUI.EndGroup();
        GUI.EndGroup();
    }
Пример #6
0
    void OnGUI()
    {
        if (gameTable.gameTable.GetGameState() != Common.Enums.GameState.PLAYING)
        {
            return;
        }

        GUI.depth = 100;

        GUI.skin = buttonSkin;
        if (GUI.Button(new Rect(Screen.width / 80, Screen.height / 40, Screen.width / 9, Screen.width / 9), Properties.MenuButton))
        {
            InGameMenu.Show();
        }

        var internalPlayer = player.getInternalPlayer();
        var player2        = internalPlayer.GetNextPlayer();
        var player3        = player2.GetNextPlayer();
        var player4        = player3.GetNextPlayer();

        var roundScores = gameTable.gameTable.GetGameInstance().GetCurrentRound().GetRoundScores();

        string player1Text = internalPlayer.PlayerName;
        string player2Text = player2.PlayerName;
        string player3Text = player3.PlayerName;
        string player4Text = player4.PlayerName;

        if (roundScores != null && roundScores.Length == 4)
        {
            var player1Said = roundScores[internalPlayer.GetPlayersSeat()].GetSaid().ToString();
            var player2Said = roundScores[player2.GetPlayersSeat()].GetSaid().ToString();
            var player3Said = roundScores[player3.GetPlayersSeat()].GetSaid().ToString();
            var player4Said = roundScores[player4.GetPlayersSeat()].GetSaid().ToString();

            if (player1Said == "-2")
            {
                player1Said = "-";
            }
            else if (player1Said == "-1")
            {
                player1Said = LanguageManager.getString("PASS");
            }

            if (player2Said == "-2")
            {
                player2Said = "-";
            }
            else if (player2Said == "-1")
            {
                player2Said = LanguageManager.getString("PASS");
            }

            if (player3Said == "-2")
            {
                player3Said = "-";
            }
            else if (player3Said == "-1")
            {
                player3Said = LanguageManager.getString("PASS");
            }

            if (player4Said == "-2")
            {
                player4Said = "-";
            }
            else if (player4Said == "-1")
            {
                player4Said = LanguageManager.getString("PASS");
            }

            player1Text += "\n" + roundScores[internalPlayer.GetPlayersSeat()].GetGot() + " \\ " + player1Said;
            player2Text += "\n" + roundScores[player2.GetPlayersSeat()].GetGot() + " \\ " + player2Said;
            player3Text += "\n" + roundScores[player3.GetPlayersSeat()].GetGot() + " \\ " + player3Said;
            player4Text += "\n" + roundScores[player4.GetPlayersSeat()].GetGot() + " \\ " + player4Said;
        }
        GUI.skin = playerStatsGUISkin;
        //  PLAYER 1
        GUI.BeginGroup(playerStatPositions[0]);
        GUI.Box(new Rect(0, 0, playerStatPositions[0].width, playerStatPositions[0].height), player1Text);
        GUI.EndGroup();
        GUI.matrix = Matrix4x4.identity;

        //  PLAYER 2
        Matrix4x4 m = Matrix4x4.identity;

        m.SetTRS(new Vector3(playerStatPositions[1].x, playerStatPositions[1].y + playerStatPositions[1].height, 1), Quaternion.Euler(0, 0, -90), Vector3.one);
        GUI.matrix = m;
        GUI.Box(new Rect(0, 0, playerStatPositions[0].width, playerStatPositions[0].height), player2Text);
        GUI.matrix = Matrix4x4.identity;

        //  PLAYER 3
        m = Matrix4x4.identity;
        m.SetTRS(new Vector3(playerStatPositions[2].x + playerStatPositions[2].width, playerStatPositions[2].y + playerStatPositions[2].height, 1), Quaternion.Euler(0, 0, -180), Vector3.one);
        GUI.matrix = m;
        GUI.Box(new Rect(0, 0, playerStatPositions[0].width, playerStatPositions[0].height), player3Text);
        GUI.matrix = Matrix4x4.identity;

        //  PLAYER 4
        m = Matrix4x4.identity;
        m.SetTRS(new Vector3(playerStatPositions[3].x + playerStatPositions[3].width, playerStatPositions[3].y, 1), Quaternion.Euler(0, 0, 90), Vector3.one);
        GUI.matrix = m;
        GUI.Box(new Rect(0, 0, playerStatPositions[0].width, playerStatPositions[0].height), player4Text);
        GUI.matrix = Matrix4x4.identity;
    }