Exemple #1
0
 public void WhoIsVoted()
 {
     if (PhotonNetwork.isMasterClient)
     {
         for (int i = 0; i < PhotonNetwork.playerList.Length; i++)
         {
             votePlayers[i] = PhotonNetwork.playerList[i];
         }
     }
     for (int i = 0; i < PhotonNetwork.playerList.Length; i++)
     {
         if (i == 0)
         {
             votedPlayer = votePlayers[i];
         }
         else
         if (votedPlayer.GetScore() < votePlayers[i].GetScore())
         {
             votedPlayer = votePlayers[i];
         }
     }
     if (votedPlayer.GetScore() == 0)
     {
         votedPlayer = null;
     }
 }
Exemple #2
0
    // Start is called before the first frame update
    void Awake()
    {
        //PhotonNetwork.OnEventCall -= this.OnPhotonEvent;

        view         = GetComponent <PhotonView>();
        timer        = 30.0f;
        timerStarted = false;
        tabChoices   = new int[150];
        imgSuccesIndicator.enabled = false;

        //Si la photonView "m'appartient"
        if (view.isMine)
        {
            //Récupère le photonPlayer de l'adversaire dans une variable
            foreach (PhotonPlayer player in PhotonNetwork.playerList)
            {
                if (player.ID != PhotonNetwork.player.ID)
                {
                    otherPlayer = player;
                    break;
                }
            }

            //Affichge du score du joueur, de l'adversaire et du timer
            txtPlayerScore.text   = PhotonNetwork.player.GetScore().ToString();
            txtOpponentScore.text = otherPlayer.NickName + " : " + otherPlayer.GetScore().ToString();
            txtTimer.text         = timer.ToString();

            //Si le joueur éxécutant le code est le "masterclient"
            //Initialisation de 150 "choix" dans un objet envoyé en
            //paramètre d'un event Photon, destiné à tous les joueurs
            if (PhotonNetwork.player.IsMasterClient)
            {
                object[] datas = new object[150];
                for (int i = 0; i < 150; i++)
                {
                    //Random de 1(inclus) à 5(exclus)
                    //1 à 4 correspond aux 4 images pouvant etre affichées
                    //aux joueurs
                    datas[i] = Random.Range(1, 5);
                }

                //Définition de l'option de l'event pour que tous les joueurs le reçoivent
                RaiseEventOptions options = new RaiseEventOptions()
                {
                    Receivers = ReceiverGroup.All
                };
                PhotonNetwork.RaiseEvent((byte)PhotonEventCodes.TabChoiceFilling, datas, true, options);
            }
            PhotonNetwork.OnEventCall += this.OnPhotonEvent;
        }
    }
Exemple #3
0
    void InitialGameUI()
    {
        //初次進入進行遊戲畫面初始化

        btn_hintLA = this.GameStartUI.GetComponentsInChildren <Button>()[0];
        btn_hintST = this.GameStartUI.GetComponentsInChildren <Button>()[1];
        //提示按鈕監聽事件
        btn_hintLA.onClick.AddListener(ListenAgain);
        btn_hintST.onClick.AddListener(ShowTranslation);

        for (int i = 0; i < PhotonNetwork.room.PlayerCount; i++)
        {
            PhotonPlayer local = PhotonNetwork.player;
            PhotonNetwork.playerList[i].SetScore(0);//重置玩家分數
            LocalPlayerText.text = local.GetScore().ToString("D2");
            player = PhotonNetwork.playerList;
            //player[i].SetScore(0);

            Text       remote   = Instantiate(RemotePlayerText);
            GameObject GameRank = GameObject.FindGameObjectWithTag("GameRank");
            remote.transform.SetParent(GameRank.transform);
            remote.transform.localPosition = new Vector3(28, -i * 80 + 140, 0);
            remote.transform.localScale    = new Vector3(1.0f, 1.0f, 1.0f);
            remote.name = (i + 1) + "";
            remote.text = player[i].NickName + " " + player[i].GetScore().ToString("D2") + "分";
        }
        xmlprocess.createCompeteRecord();
        xmlprocess.ScceneHistoryRecord("StartCompete", DateTime.Now.ToString("HH:mm:ss"));
    }
Exemple #4
0
    //計算得分
    private void UpdateScores()
    {
        PhotonPlayer local       = PhotonNetwork.player;
        int          spendTime   = DateDiff(this.localTime, TurnStartTime);
        int          restTime    = (int)this.turnManager.TurnDuration - spendTime; //剩餘時間
        int          _hintLA     = xmlprocess.getRoundHintcount("hint_LA");        //當回合使用提示再聽一次的次數
        int          _hintST     = xmlprocess.getRoundHintcount("hint_ST");        //當回合使用提示中譯的次數
        string       resultState = "";

        switch (this.result)
        {
        case ResultType.CorrectAns:
            PhotonNetwork.player.AddScore((int)(restTime * 0.8 + local.GetScore() * 0.2 - (_hintLA * 1) - (_hintST * 1.5) + (PhotonNetwork.room.PlayerCount * 0.25)));    //剩餘時間*0.8+原本分數*0.2-使用提示+房間人數*0.5
            resultState = "correct";
            break;

        case ResultType.None:
            PhotonNetwork.player.AddScore(-4);
            resultState = "none";
            break;

        case ResultType.WrongAns:
            PhotonNetwork.player.AddScore(-1);
            resultState = "wrong";
            break;
        }
        //Debug.Log("花費時間: "+ spendTime);
        achievementState[0] = xmlprocess.setRoundAns(resultState, spendTime);//答題迅速獎章
        StartCoroutine(UpdatePlayerTexts());
    }
Exemple #5
0
    /// <summary>
    /// 更新玩家文本信息
    /// </summary>
    private void UpdatePlayerTexts()
    {
        PhotonPlayer remote = PhotonNetwork.player.GetNext();
        PhotonPlayer local  = PhotonNetwork.player;

        if (remote != null)
        {
            // 应该是这种格式: "name        00"
            if (PhotonNetwork.isMasterClient)
            {
                this.RemotePlayerText.text = remote.NickName + "—黑方 | Black   " + remote.GetScore().ToString("D2");
            }
            else
            {
                this.RemotePlayerText.text = remote.NickName + "—红方 | Red   " + remote.GetScore().ToString("D2");
            }
        }
        else
        {
            TimerFillImage.anchorMax   = new Vector2(0f, 1f);
            this.TimeText.text         = "";
            this.RemotePlayerText.text = "等待其他玩家        00";
        }

        if (local != null)
        {
            // 应该是这种样式: "YOU   00"
            if (PhotonNetwork.isMasterClient)
            {
                localPlayerType           = ChessPlayerType.Red;
                this.LocalPlayerText.text = local.NickName + ":红方 | Red   " + local.GetScore().ToString("D2");
                //Debug.Log ("MasterClient");
            }
            else
            {
                localPlayerType           = ChessPlayerType.Black;
                this.LocalPlayerText.text = local.NickName + ":黑方 | Black   " + local.GetScore().ToString("D2");
            }


            if (localPlayerType == ChessPlayerType.Guest)
            {
                this.LocalPlayerText.text = PhotonNetwork.player.Get(2).NickName + ":黑方 | Black   " + PhotonNetwork.player.Get(1).GetScore().ToString("D2");
                //Debug.Log ("ChessPlayerType.Guest");
            }
        }
    }
Exemple #6
0
    public static void AddScore(this PhotonPlayer player, int scoreToAddToCurrent)
    {
        int       num             = player.GetScore() + scoreToAddToCurrent;
        Hashtable propertiesToSet = new Hashtable();

        propertiesToSet.set_Item((object)"score", (object)num);
        player.SetCustomProperties(propertiesToSet, (Hashtable)null, false);
    }
Exemple #7
0
 public void OnEndTurn()
 {
     if (this.turnManager.Turn < 5)
     {
         this.StartCoroutine("ShowResultsBeginNextTurnCoroutine");
     }
     else //競賽結束,顯示本次雙方分數
     {
         GameUiView.SetActive(false);
         ResultUIView.SetActive(true);
         PhotonPlayer remote = PhotonNetwork.player.GetNext();
         PhotonPlayer local  = PhotonNetwork.player;
         ResultUIView.GetComponentsInChildren <Text>()[1].text = local.GetScore().ToString();
         ResultUIView.GetComponentsInChildren <Text>()[3].text = remote.GetScore().ToString();
         Debug.Log("Your Score:" + local.GetScore() + " remote's Score: " + remote.GetScore());
     }
 }
Exemple #8
0
 public static void AddScore(this PhotonPlayer player, int scoreToAddToCurrent)
 {
     int num = player.GetScore();
     num += scoreToAddToCurrent;
     Hashtable hashtable = new Hashtable();
     hashtable["score"] = num;
     player.SetCustomProperties(hashtable);
 }
Exemple #9
0
    public static void AddScore(this PhotonPlayer player, int scoreToAddToCurrent)
    {
        var num             = player.GetScore() + scoreToAddToCurrent;
        var propertiesToSet = new Hashtable();

        propertiesToSet["score"] = num;
        player.SetCustomProperties(propertiesToSet);
    }
Exemple #10
0
 public void DropFish(PhotonPlayer owner)
 {
     if (owner.GetScore() > 0 && owner.ID == view.ownerId)
     {
         owner.AddScore(-1);
         view.RPC("DropFishMasterClient", PhotonTargets.MasterClient, FishEject.transform.position, transform.TransformDirection(Vector3.back));
         view.RPC("UpdateListScoreForAllPlayers", PhotonTargets.All);
     }
 }
Exemple #11
0
    // Token: 0x0600C0E4 RID: 49380 RVA: 0x00464DE4 File Offset: 0x00462FE4
    public static void AddScore(this PhotonPlayer JHOEDACNNKK, int GBOEHKKHOEB)
    {
        int num = JHOEDACNNKK.GetScore();

        num += GBOEHKKHOEB;
        Hashtable hashtable = new Hashtable();

        hashtable["score"] = num;
        JHOEDACNNKK.SetCustomProperties(hashtable, null, false);
    }
Exemple #12
0
    public static void AddScore(this PhotonPlayer player, int scoreToAddToCurrent)
    {
        int num = player.GetScore();

        num += scoreToAddToCurrent;
        Hashtable hashtable = new Hashtable();

        hashtable.set_Item("score", num);
        player.SetCustomProperties(hashtable, null, false);
    }
Exemple #13
0
    //更新即時排名
    IEnumerator UpdatePlayerTexts()
    {
        Debug.Log("Refresh the leadboard!");
        yield return(new WaitForSeconds(0.5f));

        PhotonPlayer local = PhotonNetwork.player;

        player = PhotonNetwork.playerList;
        int localRank = 0;

        //依分數排序玩家清單
        for (int i = 0; i < PhotonNetwork.room.PlayerCount - 1; i++)
        {
            for (int j = i + 1; j < PhotonNetwork.room.PlayerCount; j++)
            {
                if (player[i].GetScore() < player[j].GetScore())
                {
                    PhotonPlayer tmp = player[j];
                    player[j] = player[i];
                    player[i] = tmp;
                }
            }
        }
        //更新排行榜UI與自己畫面的分數
        for (int i = 0; i < PhotonNetwork.room.PlayerCount; i++)
        {
            GameObject GameRank = GameObject.FindGameObjectWithTag("GameRank");
            GameRank.GetComponentsInChildren <Text>()[i].text = player[i].NickName + " " + player[i].GetScore().ToString("D2") + "分";
            if (local.NickName == player[i].NickName)
            {
                localRank = i + 1;
            }
        }
        if (local != null)
        {
            this.LocalPlayerText.text = local.GetScore().ToString("D2");
        }
        xmlprocess.setRoundScore(local.GetScore(), localRank);
        //回合結束
        StartCoroutine(this.OnEndTurn());
    }
Exemple #14
0
    public static void AddScore(this PhotonPlayer player, int scoreToAddToCurrent)
    {
        int current = player.GetScore();

        current = current + scoreToAddToCurrent;

        Hashtable score = new Hashtable();           // using PUN's implementation of Hashtable

        score [PunPlayerScores.PlayerScoreProp] = current;

        player.SetCustomProperties(score);           // this locally sets the score and will sync it in-game asap.
    }
Exemple #15
0
    /// <summary>
    /// 加分
    /// </summary>
    /// <param name="player">玩家.</param>
    /// <param name="scoreToAddToCurrent">加的分数.</param>
    public static void AddScore(this PhotonPlayer player, int scoreToAddToCurrent)
    {
        int current = player.GetScore();

        current = current + scoreToAddToCurrent;

        Hashtable score = new Hashtable();  // 使用PUN的Hashtable实现

        score[PunPlayerScores.PlayerScoreProp] = current;

        player.SetCustomProperties(score);  // 这会在本地设置分数并尽快地在游戏内同步.
    }
 void Update()
 {
     if (photonView.isMine)
     {
         scorePlayer      = photonPlayer.GetScore();
         rank             = Ranking();
         textMP_UGUI.text = "___________________" + "\n" +
                            "[" + rank + "] " + playerName + "(" + tagCharacterPlayer + ")" + " :" + scorePlayer;
         if (rank == 1)
         {
             if (playerName != null && ResultScore.Instance != null)
             {
                 ResultScore.Instance.nameCharacterWinner.text  = playerName;
                 ResultScore.Instance.characterWinnerImg.sprite = ResultScore.Instance.characterSprite[characterPlayerIndex];
             }
         }
     }
 }
    /// <summary>
    /// 更新玩家文本信息
    /// </summary>
    private void UpdatePlayerScoreTexts()
    {
        if (remote != null)
        {
            // 应该是这种格式: "00"
            RemoteScoreText.text = remote.GetScore().ToString("D2");
        }

        if (local != null)
        {
            LocalScoreText.text = local.GetScore().ToString("D2");
        }
    }
Exemple #18
0
    public override void OnPhotonPlayerConnected(PhotonPlayer newPlayer)
    {
        if (PhotonNetwork.playerList.Length == 2)
        {
            player2name.text   = newPlayer.NickName.ToString() + "\n (" + newPlayer.GetScore().ToString() + " LP)";
            progressLabel.text = "Game is starting now";
            Invoke("loadGame", 3f);
        }

        else if (PhotonNetwork.playerList.Length == 1)
        {
            Debug.Log("Not Enough PLayers");
        }
    }
Exemple #19
0
    public GameObject SetPlayerInfo(GameObject listItem, PhotonPlayer player)
    {
        Text playerText = listItem.transform.GetChild(0).GetComponent <Text>();

        playerText.text = player.NickName;

        Text scoreText = listItem.transform.GetChild(1).GetComponent <Text>();

        scoreText.text = "Awesome score: " + player.GetScore();

        //Text statusText = listItem.transform.GetChild(2).GetComponent<Text>();
        //statusText.text = player.SetCustomProperties();

        return(listItem);
    }
 /// <summary>
 /// Loads the character body from the PhotonPlayer data.
 /// </summary>
 /// <param name="playerToLoad">Photonplayer of which the character body is loaded.</param>
 public void LoadPlayerData(PhotonPlayer playerToLoad)
 {
     player = playerToLoad;
     nameText.text = player.name;
     object value;
     if (player.customProperties.TryGetValue("gameState", out value))
     {
         int stateInt = (int)value;
         if ((GameControl.GAMESTATE)stateInt == GameControl.GAMESTATE.MissionCompleted)
         {
             recentScoreObject.SetActive(true);
             recentScoreText.text = player.GetScore().ToString();
         }
     }
     character = new Character(player.customProperties);
     character.InstantiateBody(characterContainer.transform);
 }
    public void OnPhotonPlayerConnected(PhotonPlayer newPlayer)
    {
        Debug.Log("OnPhotonPlayerConnected() called by PUN.");

        MatchingInfo.otherUserId = newPlayer.NickName;
        MatchingInfo.otherScore  = newPlayer.GetScore();
        MatchingInfo.blackId     = MatchingInfo.playerUserId;
        MatchingInfo.whiteId     = MatchingInfo.otherUserId;

        playerInfo.text = MatchingInfo.playerUserId + '\n' + MatchingInfo.playerScore.ToString();
        enemyInfo.text  = MatchingInfo.otherUserId + '\n' + MatchingInfo.otherScore.ToString();

        matchingPopup.enabled          = false;
        TurnManagerAlkkagi.color       = 0;
        GameManagerAlkkagi.playerColor = 0;
        GameManagerAlkkagi.isStarted   = true;
    }
Exemple #22
0
    void UpdatePlayerScore()
    {
        PhotonPlayer master = null;
        PhotonPlayer remote = null;

        if (PhotonNetwork.connected && PhotonNetwork.room.PlayerCount == 1)
        {
            master = PhotonNetwork.player;
            remote = null;
        }
        else
        {
            master = PhotonNetwork.isMasterClient ? PhotonNetwork.player : PhotonNetwork.player.GetNext();
            remote = master.GetNext();
        }

        base.txtScore_master.text = master.GetScore().ToString("D2");
        base.txtScore_remote.text = remote != null?remote.GetScore().ToString("D2") : "0";
    }
Exemple #23
0
    // Token: 0x0600022F RID: 559 RVA: 0x0000F250 File Offset: 0x0000D450
    private void UpdatePlayerTexts()
    {
        PhotonPlayer next   = PhotonNetwork.player.GetNext();
        PhotonPlayer player = PhotonNetwork.player;

        if (next != null)
        {
            this.RemotePlayerText.text = next.NickName + "        " + next.GetScore().ToString("D2");
        }
        else
        {
            this.TimerFillImage.anchorMax = new Vector2(0f, 1f);
            this.TimeText.text            = "";
            this.RemotePlayerText.text    = "waiting for another player        00";
        }
        if (player != null)
        {
            this.LocalPlayerText.text = "YOU   " + player.GetScore().ToString("D2");
        }
    }
Exemple #24
0
    private void UpdatePlayerTexts()
    {
        PhotonPlayer remote = PhotonNetwork.player.GetNext();
        PhotonPlayer local  = PhotonNetwork.player;

        if (remote != null)
        {
            // should be this format: "name        00"
            this.RemotePlayerText.text = remote.name + "        " + remote.GetScore().ToString("D2");
        }
        else
        {
            this.RemotePlayerText.text = "waiting for another player        00";
        }

        if (local != null)
        {
            // should be this format: "YOU   00"
            this.LocalPlayerText.text = "YOU   " + local.GetScore().ToString("D2");
        }
    }
Exemple #25
0
    void UpdatePlayerTexts()//更新自己與對手狀態(名字+分數)
    {
        PhotonPlayer local  = PhotonNetwork.player;
        PhotonPlayer remote = PhotonNetwork.player.GetNextFor(local);

        if (remote != null)
        {
            this.RemotePlayerText.text = "Remote Name:" + remote.NickName + " Score:" + remote.GetScore().ToString("D2");
        }
        else
        {
            this.RemotePlayerText.text = "Remote Name:";
            this.TimeText.text         = "";
        }

        if (local != null)
        {
            // should be this format: "YOU   00"
            this.LocalPlayerText.text = "Your Name:" + local.NickName + " Score:" + local.GetScore().ToString("D2");
        }
    }
    private void UpdatePlayerTexts()
    {
        PhotonPlayer remote = PhotonNetwork.player.GetNext();
        PhotonPlayer local  = PhotonNetwork.player;

        if (remote != null)
        {
            // should be this format: "name        00"
            this.RemotePlayerText.text = remote.NickName + "        " + remote.GetScore().ToString("D2");
        }
        else
        {
            TimerFillImage.anchorMax   = new Vector2(0f, 1f);
            this.TimeText.text         = "";
            this.RemotePlayerText.text = "waiting for another player        00";
        }

        if (local != null)
        {
            // should be this format: "YOU   00"
            this.LocalPlayerText.text = "YOU   " + local.GetScore().ToString("D2");
        }
    }
Exemple #27
0
    //計算得分
    private void UpdateScores()
    {
        PhotonPlayer remote = PhotonNetwork.player.GetNext();
        PhotonPlayer local  = PhotonNetwork.player;

        switch (this.result)
        {
        case ResultType.LocalRAnsSTime:
            PhotonNetwork.player.AddScore((int)(DateDiff(this.localTime, remoteTime) * 3 + local.GetScore() * 0.3));
            break;

        case ResultType.LocalRAnsLTime:
            PhotonNetwork.player.AddScore((int)(DateDiff(this.localTime, remoteTime) + local.GetScore() * 0.3));
            break;

        case ResultType.Draw:
            PhotonNetwork.player.AddScore((int)(local.GetScore() * 0.5));
            break;

        case ResultType.LocalWrongAns:
            PhotonNetwork.player.AddScore(0);
            break;
        }
    }
Exemple #28
0
 private void updateScoreField()
 {
     this.transform.GetChild(3).GetComponent <Text>().text = AssignedPlayer.GetScore().ToString();
 }
 /// <summary>
 /// Shows the score of the player if gamestate is MissionCompleted.
 /// </summary>
 /// <param name="recievedPlayer">Player which score is being recieved.</param>
 /// <param name="state">Gamestate of the recieved player</param>
 private void ShowRecentScore(PhotonPlayer recievedPlayer, GameControl.GAMESTATE state)
 {
     if (player == recievedPlayer && state == GameControl.GAMESTATE.MissionCompleted)
     {
         recentScoreObject.SetActive(true);
         recentScoreText.text = recievedPlayer.GetScore().ToString();
     }
 }
Exemple #30
0
    private void AddScoreAndWaitForDestroy(Collider2D collision)
    {
        print(collision.GetComponent <PhotonView>() != null);
        int curScore = new int();

        curScore = photonPlayer.GetScore();
        HitTarget(collision);

        if (collision.transform.gameObject.name == "Character01(Clone)")
        {
            if (transform.name == "GT0(Clone)" || transform.name == "GT1(Clone)")
            {
                if (collision.GetComponent <PhotonView>().owner.NickName != photonPlayer.NickName)
                {
                    print("plusScore += " + plusScore);
                    if (photonView.isMine)
                    {
                        photonPlayer.AddScore(plusScore);
                        sfxCreator.Create(addPoint, 0.658f, 1f);
                    }
                    CheckMatchingPhotonPlayers(1);
                    waitForDestroy = true;
                }
            }
            else
            {
                if (collision.GetComponent <PhotonView>().owner.NickName != photonPlayer.NickName)
                {
                    if (curScore > 0)
                    {
                        print("minusScore -= " + minusScore);
                        if (photonView.isMine)
                        {
                            photonPlayer.AddScore(minusScore);
                            if (curScore < 0)
                            {
                                print("(Score < 0) Score += " + curScore);
                                photonPlayer.AddScore(-(curScore));
                            }
                        }
                        sfxCreator.Create(minusPoint, 0.658f, 1f);
                        CheckMatchingPhotonPlayers(2);
                        waitForDestroy = true;
                    }
                    else
                    {
                        sfxCreator.Create(minusPoint, 0.658f, 1f);
                        CheckMatchingPhotonPlayers(2);
                        waitForDestroy = true;
                    }
                }
            }
        }
        else if (collision.transform.gameObject.name == "Character02(Clone)")
        {
            if (transform.name == "HT0(Clone)" || transform.name == "HT1(Clone)")
            {
                if (collision.GetComponent <PhotonView>().owner.NickName != photonPlayer.NickName)
                {
                    print("plusScore += " + plusScore);
                    if (photonView.isMine)
                    {
                        photonPlayer.AddScore(plusScore);
                        sfxCreator.Create(addPoint, 0.658f, 1f);
                    }
                    CheckMatchingPhotonPlayers(1);
                    waitForDestroy = true;
                }
            }
            else
            {
                if (collision.GetComponent <PhotonView>().owner.NickName != photonPlayer.NickName)
                {
                    if (curScore > 0)
                    {
                        print("minusScore -= " + minusScore);
                        if (photonView.isMine)
                        {
                            photonPlayer.AddScore(minusScore);
                            if (curScore < 0)
                            {
                                print("(Score < 0) Score += " + curScore);
                                photonPlayer.AddScore(-(curScore));
                            }
                        }
                        sfxCreator.Create(minusPoint, 0.658f, 1f);
                        CheckMatchingPhotonPlayers(2);
                        waitForDestroy = true;
                    }
                    else
                    {
                        sfxCreator.Create(minusPoint, 0.658f, 1f);
                        CheckMatchingPhotonPlayers(2);
                        waitForDestroy = true;
                    }
                }
            }
        }
        else if (collision.transform.gameObject.name == "Character03(Clone)")
        {
            if (transform.name == "OT0(Clone)" || transform.name == "OT1(Clone)")
            {
                if (collision.GetComponent <PhotonView>().owner.NickName != photonPlayer.NickName)
                {
                    print("plusScore += " + plusScore);
                    if (photonView.isMine)
                    {
                        photonPlayer.AddScore(plusScore);
                        sfxCreator.Create(addPoint, 0.658f, 1f);
                    }
                    CheckMatchingPhotonPlayers(1);
                    waitForDestroy = true;
                }
            }
            else
            {
                if (collision.GetComponent <PhotonView>().owner.NickName != photonPlayer.NickName)
                {
                    if (curScore > 0)
                    {
                        print("minusScore -= " + minusScore);
                        if (photonView.isMine)
                        {
                            photonPlayer.AddScore(minusScore);
                            if (curScore < 0)
                            {
                                print("(Score < 0) Score += " + curScore);
                                photonPlayer.AddScore(-(curScore));
                            }
                        }
                        sfxCreator.Create(minusPoint, 0.658f, 1f);
                        CheckMatchingPhotonPlayers(2);
                        waitForDestroy = true;
                    }
                    else
                    {
                        sfxCreator.Create(minusPoint, 0.658f, 1f);
                        CheckMatchingPhotonPlayers(2);
                        waitForDestroy = true;
                    }
                }
            }
        }
        else if (collision.transform.gameObject.name == "Character04(Clone)")
        {
            if (transform.name == "RT0(Clone)" || transform.name == "RT1(Clone)")
            {
                if (collision.GetComponent <PhotonView>().owner.NickName != photonPlayer.NickName)
                {
                    print("plusScore += " + plusScore);
                    if (photonView.isMine)
                    {
                        photonPlayer.AddScore(plusScore);
                        sfxCreator.Create(addPoint, 0.658f, 1f);
                    }
                    CheckMatchingPhotonPlayers(1);
                    waitForDestroy = true;
                }
            }
            else
            {
                if (collision.GetComponent <PhotonView>().owner.NickName != photonPlayer.NickName)
                {
                    if (curScore > 0)
                    {
                        print("minusScore -= " + minusScore);
                        if (photonView.isMine)
                        {
                            photonPlayer.AddScore(minusScore);
                            if (curScore < 0)
                            {
                                print("(Score < 0) Score += " + curScore);
                                photonPlayer.AddScore(-(curScore));
                            }
                        }
                        sfxCreator.Create(minusPoint, 0.658f, 1f);
                        CheckMatchingPhotonPlayers(2);
                        waitForDestroy = true;
                    }
                    else
                    {
                        sfxCreator.Create(minusPoint, 0.658f, 1f);
                        CheckMatchingPhotonPlayers(2);
                        waitForDestroy = true;
                    }
                }
            }
        }
        else
        {
            print("Character name have change.");
        }
    }
Exemple #31
0
    IEnumerator showResult()                                                         //總排名
    {
        GameObject[] PlayerLists = GameObject.FindGameObjectsWithTag("PlayerLists"); //抓取玩家名單的物件,方便銷毀
        GameStartUI.SetActive(false);
        ResultUIView.SetActive(true);
        PhotonPlayer local     = PhotonNetwork.player;
        int          localRank = 0;

        for (int i = 0; i < PhotonNetwork.room.PlayerCount; i++)
        {
            if (player[i].NickName == local.NickName)
            {
                localRank = i + 1;
            }
            ResultUIView.GetComponentsInChildren <Text>()[0].text += player[i].NickName + " 分數:" + player[i].GetScore().ToString("D2") + "\n\n";
        }
        ResultUIView.GetComponentsInChildren <Text>()[1].text = c_hintLA_count.ToString();
        ResultUIView.GetComponentsInChildren <Text>()[2].text = c_hintST_count.ToString();
        Button btn_learn = ResultUIView.GetComponentsInChildren <Button>()[0];
        Button btn_play  = ResultUIView.GetComponentsInChildren <Button>()[1];
        Button btn_exit  = ResultUIView.GetComponentsInChildren <Button>()[2];

        btn_learn.onClick.AddListener(delegate() { gameover(0, PlayerLists); });
        btn_play.onClick.AddListener(delegate() { gameover(1, PlayerLists); });
        btn_exit.onClick.AddListener(delegate() { gameover(2, PlayerLists); });
        yield return(new WaitForSeconds(0.1f));

        achievementState[1] = xmlprocess.setCompeteCount();//對戰次數
        if (xmlprocess.setCompeteCorrectRecord(correctNum, wrongNum) != null)
        {
            achievementState[2] = xmlprocess.setCompeteCorrectRecord(correctNum, wrongNum);                                                                  //累積答對
        }
        if (xmlprocess.setCompeteMaxCorrectRecord(max_correctNum) != null)
        {
            achievementState[3] = xmlprocess.setCompeteMaxCorrectRecord(max_correctNum);                                  //連續答對
        }
        string[] s_state = xmlprocess.setCompeteScoreRecord(c_hintLA_count, c_hintST_count, local.GetScore(), localRank); //提示與分數排名
        if (s_state[0] != null)
        {
            achievementState[4] = s_state[0];                    //有進步
        }
        if (s_state[1] != null)
        {
            achievementState[5] = s_state[1];                    //有刷新分數
        }
        if (s_state[2] != null)
        {
            achievementState[6] = s_state[2];                    //有進榜
        }
    }
 public void OnGUI()
 {
     if (!PhotonNetwork.inRoom)
     {
         return;
     }
     if (this.ShowScores)
     {
         GUILayout.Label("Your Score: " + PhotonNetwork.player.GetScore(), new GUILayoutOption[0]);
     }
     if (this.ShowDropButton)
     {
         using (HashSet <PickupItem> .Enumerator enumerator = PickupItem.DisabledPickupItems.GetEnumerator())
         {
             while (enumerator.MoveNext())
             {
                 PickupItem current = enumerator.get_Current();
                 if (current.PickupIsMine && current.SecondsBeforeRespawn <= 0f)
                 {
                     if (GUILayout.Button("Drop " + current.name, new GUILayoutOption[0]))
                     {
                         current.Drop();
                     }
                     GameObject gameObject = PhotonNetwork.player.TagObject as GameObject;
                     if (gameObject != null && GUILayout.Button("Drop here " + current.name, new GUILayoutOption[0]))
                     {
                         Vector3 a = Random.get_insideUnitSphere();
                         a.y = 0f;
                         a   = a.normalized;
                         Vector3 newPosition = gameObject.transform.position + this.DropOffset * a;
                         current.Drop(newPosition);
                     }
                 }
             }
         }
     }
     if (this.ShowTeams)
     {
         using (Dictionary <PunTeams.Team, List <PhotonPlayer> > .KeyCollection.Enumerator enumerator2 = PunTeams.PlayersPerTeam.get_Keys().GetEnumerator())
         {
             while (enumerator2.MoveNext())
             {
                 PunTeams.Team current2 = enumerator2.get_Current();
                 GUILayout.Label("Team: " + current2.ToString(), new GUILayoutOption[0]);
                 List <PhotonPlayer> list = PunTeams.PlayersPerTeam.get_Item(current2);
                 using (List <PhotonPlayer> .Enumerator enumerator3 = list.GetEnumerator())
                 {
                     while (enumerator3.MoveNext())
                     {
                         PhotonPlayer current3 = enumerator3.get_Current();
                         GUILayout.Label(string.Concat(new object[]
                         {
                             "  ",
                             current3.ToStringFull(),
                             " Score: ",
                             current3.GetScore()
                         }), new GUILayoutOption[0]);
                     }
                 }
             }
         }
         if (GUILayout.Button("to red", new GUILayoutOption[0]))
         {
             PhotonNetwork.player.SetTeam(PunTeams.Team.red);
         }
         if (GUILayout.Button("to blue", new GUILayoutOption[0]))
         {
             PhotonNetwork.player.SetTeam(PunTeams.Team.blue);
         }
     }
 }