//游戏结束
        public void OnSubGameEnd(byte[] pBuffer, ushort wDataSize)
        {
            var typeValue = typeof(CMD_S_GameEnd);
            //if (wDataSize != Marshal.SizeOf(typeValue))
            //    return;

            //消息处理
            CMD_S_GameEnd pGameEnd = (CMD_S_GameEnd)StructConverterByteArray.BytesToStruct(pBuffer, typeValue);

            ////mChen add, for HideSeek WangHu
            //Loom.QueueOnMainThread(() =>
            //{
            //    hnManager.ReturnFromBigFinalToHallScene();
            //});
        }
Beispiel #2
0
        private void showResultPanel(CMD_S_GameEnd ge)
        {
            //struct CMD_S_GameEnd
            //{
            //    [MarshalAs(UnmanagedType.ByValArray, SizeConst = (int)PROTOCOL_PACKET.GAME_PLAYER)]
            //    public long[] lGameTax;              //游戏税收 
            //    [MarshalAs(UnmanagedType.ByValArray, SizeConst = (int)PROTOCOL_PACKET.GAME_PLAYER)]
            //    public long[] lGameScore;            //游戏得分 
            //    [MarshalAs(UnmanagedType.ByValArray, SizeConst = (int)PROTOCOL_PACKET.GAME_PLAYER)]
            //    public byte[] cbCardData;            //用户扑克 
            //    public long lUserGold;                          //用户累计 
            //    public long lMoneyScore;                        //彩金数目 
            //    [MarshalAs(UnmanagedType.ByValArray, SizeConst = (int)PROTOCOL_PACKET.GAME_PLAYER)]
            //    public ushort[] wLookTable;         //无法加入 
            //};
            //玩家名称
            //玩家积分
            int count = 1;
            for (int i = 0; i < 4; i++)
            {
                var player = FourBullCommand.Instance.GetPlayerByClientChairID((ushort)i);
                if (player != null) {
                    int target = (int)player.ChairID;
                    if (target != 0) {
                        var nameText = transform.FindChild("player" + count + "Text").GetComponent<Text>();
                        var scoreText = transform.FindChild("player" + count + "Score").GetComponent<Text>();
                        nameText.text = player.NickName;
                        scoreText.text = ge.lGameScore[target].ToString();
                        count++;
                    }
                }
            }
            //离开按钮
            GameObject leaveBtnGameObject = transform.FindChild("btnLeave").gameObject;
            EventTriggerAssist.Get(leaveBtnGameObject).onClick(btnLeaveClicked);
            //继续按钮
            GameObject continueBtnGameObject = transform.FindChild("btnContinue").gameObject;
            EventTriggerAssist.Get(continueBtnGameObject).onClick(btnContinueClicked);
            gameObject.SetActive(true);

        }
 public void showJieSuanInfo(CMD_S_GameEnd pGameEnd, bool bNormalEnd)
 {
 }
    //gameend 消息,存储当局分数等信息到recordInfo.save文件内
    //解散时data为空,当前局所有玩家得分为0
    public void StopRecord(byte[] data = null, int datasize = 0)
    {
        Debug.LogError("StopRecord");
        return;

        if (!bRecording)
        {
            return;
        }

#if UNITY_STANDALONE
        if (HNGameManager.m_iLocalChairID != 0)
        {
            return;
        }
#endif
        for (int i = 0; i < msgQueue.Count; i++)
        {
            msgQueue[i].WriteData(bwWriter);
        }
        bwWriter.Flush();
        bwWriter.Close();
        fs.Close();
        var trueRecord = CurrentRecordCount;
        if (CurrentRecordCount > MaxRecordCount)
        {
            trueRecord = (CurrentRecordCount % (MaxRecordCount + 1)) + 1;
        }
        var        dirStr = PlayerPrefs.GetString(string.Format("RecordFile{0}", trueRecord));//存档文件夹
        FileStream fInfo  = new FileStream(string.Format("{0}/recordInfo.save", dirStr), FileMode.Append);
        bwWriter = new BinaryWriter(fInfo);

        var kernel = (GameScene)CServerItem.get().GetClientKernelSink();
        for (int i = 0; i < savedUserInfoData.Length; i++)
        {
//#if (UNITY_ANDROID || UNITY_IOS) && !UNITY_EDITOR
//            string filename = string.Format("{0}/{1}.png", dirStr, savedUserInfoData[i].IUserId);
//            if (File.Exists(filename) == false)
//            {
//                if (HNGameManager.userId2HeadImageDirectory.ContainsKey(savedUserInfoData[i].IUserId))
//                {
//                    var sprite = HNGameManager.userId2HeadImageDirectory[savedUserInfoData[i].IUserId];
//                    Loom.QueueOnMainThread(() =>
//                    {
//                        var buf = sprite.texture.EncodeToPNG();
//                        File.WriteAllBytes(filename, buf);
//                    });
//                }
//            }
//#endif
        }

        if (data == null)
        {
            Debug.Log("----------write 0 to file1111");
            for (int i = 0; i < 4; i++)
            {
                bwWriter.Write((long)(0));
            }
        }
        else
        {
            var           typeValue = typeof(CMD_S_GameEnd);
            CMD_S_GameEnd pGameEnd  = (CMD_S_GameEnd)StructConverterByteArray.BytesToStruct(data, typeValue);
            //bwWriter.Write(pGameEnd.lGameScore[HNGameManager.m_iLocalChairID]);
            //Debug.Log("-------------Write score to file: " + pGameEnd.lGameScore[HNGameManager.m_iLocalChairID]);
            //var curPlayerChairID = HNGameManager.getNextPlayerChairID(HNGameManager.m_iLocalChairID);
            //int iIndex = 1;
            //while (curPlayerChairID != HNGameManager.m_iLocalChairID)
            //{
            //    bwWriter.Write(pGameEnd.lGameScore[curPlayerChairID]);
            //    Debug.Log("-------------Write score to file: " + pGameEnd.lGameScore[curPlayerChairID]);
            //    curPlayerChairID = HNGameManager.getNextPlayerChairID(curPlayerChairID);
            //}
        }
        bwWriter.Flush();
        bwWriter.Close();
        fInfo.Close();

        bRecording = false;
        msgQueue.Clear();
        userInfoStorages = null;
    }