瀏覽代碼

提交。

xyh2000 6 月之前
父節點
當前提交
02db21847e

+ 2 - 2
Unity/Assets/Bundles/UI/UIStartFightRoom.prefab

@@ -21022,7 +21022,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 1
+  m_IsActive: 0
 --- !u!224 &7015130867705616487
 RectTransform:
   m_ObjectHideFlags: 0
@@ -22048,7 +22048,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 1
+  m_IsActive: 0
 --- !u!224 &8312410583743376665
 RectTransform:
   m_ObjectHideFlags: 0

+ 1 - 1
Unity/Assets/Scripts/Codes/Hotfix/Client/StartFight/G2C_OperationPushHandler.cs

@@ -5,7 +5,7 @@
 	{
 		protected override async ETTask Run(Session session, G2C_HGHHOperationPush message)
 		{
-			await RoomPushHandleHelper.OperationPushTo(session.ClientScene(), message.info);
+            await RoomPushHandleHelper.OperationPushTo(session.ClientScene(), message);
 		}
 	}
 }

+ 3 - 2
Unity/Assets/Scripts/Codes/Hotfix/Client/StartFight/RoomPushHandleHelper.cs

@@ -93,7 +93,7 @@
         }
 
         //操作推送
-        public static async ETTask OperationPushTo(Scene clientScene, RoomInfo roomInfo)
+        public static async ETTask OperationPushTo(Scene clientScene, G2C_HGHHOperationPush msg)
         {
             var startFightRoomComponment = clientScene.GetComponent<StartFightRoomComponment>();
             if (startFightRoomComponment == null)
@@ -101,7 +101,8 @@
                 startFightRoomComponment = clientScene.AddComponent<StartFightRoomComponment>();
             }
             startFightRoomComponment.ClearStartFightRoomInfo();
-            await startFightRoomComponment.SetStartFightRoomInfoFromPush(roomInfo);
+            startFightRoomComponment.SetOperatorOpType(msg.OpType);
+            await startFightRoomComponment.SetStartFightRoomInfoFromPush(msg.info);
             EventSystem.Instance.Publish(clientScene, new EventType.GameOperationPush());
         }
 

+ 5 - 0
Unity/Assets/Scripts/Codes/Hotfix/Client/StartFight/StartFightRoomComponentSystem.cs

@@ -19,6 +19,11 @@ namespace ET
             await ETTask.CompletedTask;
         }
 
+        public static void SetOperatorOpType(this StartFightRoomComponment self,int opType)
+        {
+            self.startFightRoomInfo.opType = opType;
+        }
+
         public static void SetStartFightRoomInfoFromCreate(this StartFightRoomComponment self, RoomInfo roomInfo)
         {
             self.startFightRoomInfo.roomInfo = roomInfo;

+ 43 - 40
Unity/Assets/Scripts/Codes/HotfixView/Client/Demo/UI/UISettle/UISettleComponentSystem.cs

@@ -102,49 +102,52 @@ namespace ET.Client
                 icon.sprite = sprite;
                 icon.gameObject.GetComponent<RectTransform>().sizeDelta = new Vector2(68,103);
             }
-            for (int l = 0; l < actInfos.Count; l++)
+            if (actInfos != null && actInfos.Count > 0)
             {
-                //这里只存一张 根据类型 自己去补
-                ActInfo actInfo = actInfos[l];
-                List<int> havCardVals = null;
-                ActInfoType actInfoType = (ActInfoType)actInfo.Type;
-                switch (actInfoType)
+                for (int l = 0; l < actInfos.Count; l++)
                 {
-                    case ActInfoType.LightPole:
-                    case ActInfoType.BackPole:
-                    case ActInfoType.DarkPole:
-                        {
-                            havCardVals = new List<int>() { actInfo.Card, actInfo.Card, actInfo.Card, actInfo.Card };
-                            break;
-                        }
-                    case ActInfoType.Peng:
-                        {
-                            havCardVals = new List<int>() { actInfo.Card, actInfo.Card, actInfo.Card };
-                            break;
-                        }
-                    case ActInfoType.Chi:
-                        {
-                            havCardVals = new List<int>() { actInfo.Card, actInfo.Card + 1, actInfo.Card + 2 };
-                            break;
-                        }
-                }
-                for (int k = 0; k < havCardVals.Count; k++)
-                {
-                    var uiHavItem = GameUtil.Instance.InitializeObj(self.fightCardItem);
-                    string spiring = string.Concat(GameSetting.Instance.selfPlayCardShowSpiteName, havCardVals[k]);
-                    uiHavItem.SetActive(true);
-                    uiHavItem.transform.SetParent(haveBeenOutContent.transform, false);
-                    var sprite = await GameObjectPool.Instance.AcquireSprite(spiring);
-                    UnityEngine.UI.Image icon = uiHavItem.GetComponentInChildren<UnityEngine.UI.Image>();
-                    icon.sprite = sprite;
-                    icon.gameObject.GetComponent<RectTransform>().sizeDelta = new Vector2(43, 65);
+                    //这里只存一张 根据类型 自己去补
+                    ActInfo actInfo = actInfos[l];
+                    List<int> havCardVals = null;
+                    ActInfoType actInfoType = (ActInfoType)actInfo.Type;
+                    switch (actInfoType)
+                    {
+                        case ActInfoType.LightPole:
+                        case ActInfoType.BackPole:
+                        case ActInfoType.DarkPole:
+                            {
+                                havCardVals = new List<int>() { actInfo.Card, actInfo.Card, actInfo.Card, actInfo.Card };
+                                break;
+                            }
+                        case ActInfoType.Peng:
+                            {
+                                havCardVals = new List<int>() { actInfo.Card, actInfo.Card, actInfo.Card };
+                                break;
+                            }
+                        case ActInfoType.Chi:
+                            {
+                                havCardVals = new List<int>() { actInfo.Card, actInfo.Card + 1, actInfo.Card + 2 };
+                                break;
+                            }
+                    }
+                    for (int k = 0; k < havCardVals.Count; k++)
+                    {
+                        var uiHavItem = GameUtil.Instance.InitializeObj(self.fightCardItem);
+                        string spiring = string.Concat(GameSetting.Instance.selfPlayCardShowSpiteName, havCardVals[k]);
+                        uiHavItem.SetActive(true);
+                        uiHavItem.transform.SetParent(haveBeenOutContent.transform, false);
+                        var sprite = await GameObjectPool.Instance.AcquireSprite(spiring);
+                        UnityEngine.UI.Image icon = uiHavItem.GetComponentInChildren<UnityEngine.UI.Image>();
+                        icon.sprite = sprite;
+                        icon.gameObject.GetComponent<RectTransform>().sizeDelta = new Vector2(43, 65);
+                    }
+                    var uiHavItem1 = GameUtil.Instance.InitializeObj(self.fightCardItem1);
+                    uiHavItem1.SetActive(true);
+                    uiHavItem1.transform.SetParent(haveBeenOutContent.transform, false);
+                    UnityEngine.UI.Image icon1 = uiHavItem1.GetComponentInChildren<UnityEngine.UI.Image>();
+                    icon1.gameObject.GetComponent<RectTransform>().sizeDelta = new Vector2(43, 65);
+                    icon1.enabled = false;
                 }
-                var uiHavItem1 = GameUtil.Instance.InitializeObj(self.fightCardItem1);
-                uiHavItem1.SetActive(true);
-                uiHavItem1.transform.SetParent(haveBeenOutContent.transform, false);
-                UnityEngine.UI.Image icon1 = uiHavItem1.GetComponentInChildren<UnityEngine.UI.Image>();
-                icon1.gameObject.GetComponent<RectTransform>().sizeDelta = new Vector2(43, 65);
-                icon1.enabled = false;
             }
         }
 

+ 94 - 20
Unity/Assets/Scripts/Codes/HotfixView/Client/Demo/UI/UIStartFightRoom/UIStartFightRoomComponentSystem.cs

@@ -318,6 +318,11 @@ namespace ET.Client
                         RefreshPlayCardList(scene, startFightRoomInfo, startFightRoomComponentUI);
                         //刷新剩余牌数量和局数
                         RefreshCurentCardCount(startFightRoomComponentUI, startFightRoomInfo.roomInfo.CardNum, startFightRoomInfo.roomInfo.CurRound);
+
+                        if (type is EventType.GameOperationPush)
+                        {
+                            PlayOperatorSound(startFightRoomInfo);
+                        }
                         break;
                     }
                 case EventType.GameDisCardPush:
@@ -366,6 +371,10 @@ namespace ET.Client
                             
                             //记录当前出的牌
                             GameUtil.Instance.curCardVal = startFightRoomInfo.roomInfo.CurDisCard;
+
+                            int sexType = startFightRoomInfo.roomInfo.CurDisCardSex;
+                            string soundStrType = sexType == 0 ? GameSetting.Instance.disCardBoySoundName : GameSetting.Instance.disCardGirlSoundName;
+                            await SoundManager.Instance.PlaySound(string.Concat(soundStrType, startFightRoomInfo.roomInfo.CurDisCard));
                             Log.Error("当前出的牌: " + GameUtil.Instance.curCardVal);
                         }
 
@@ -655,8 +664,8 @@ namespace ET.Client
                                 return;
                             }
                             GameUtil.Instance.curRequestCardVal = -1;
-                            string soundStrType = sexType == 0 ? GameSetting.Instance.disCardBoySoundName : GameSetting.Instance.disCardGirlSoundName;
-                            await SoundManager.Instance.PlaySound(string.Concat(soundStrType, "chi"));
+                            //string soundStrType = sexType == 0 ? GameSetting.Instance.disCardBoySoundName : GameSetting.Instance.disCardGirlSoundName;
+                            //await SoundManager.Instance.PlaySound(string.Concat(soundStrType, "chi"));
                             self.operatorObj.SetActive(false);
                         });
                         break;
@@ -689,9 +698,9 @@ namespace ET.Client
                             GameUtil.Instance.curRequestCardVal = -1;
                             if (operatorIndex == 2 || operatorIndex == 3)
                             {
-                                string soundStrType = sexType == 0 ? GameSetting.Instance.disCardBoySoundName : GameSetting.Instance.disCardGirlSoundName;
-                                string destSoundStr = operatorIndex == 2? "peng": "hu";
-                                await SoundManager.Instance.PlaySound(string.Concat(soundStrType, destSoundStr));
+                                //string soundStrType = sexType == 0 ? GameSetting.Instance.disCardBoySoundName : GameSetting.Instance.disCardGirlSoundName;
+                                //string destSoundStr = operatorIndex == 2? "peng": "gang";
+                                //await SoundManager.Instance.PlaySound(string.Concat(soundStrType, destSoundStr));
                             }
                         });
                         break;
@@ -715,8 +724,8 @@ namespace ET.Client
                             }
                             self.operatorObj.SetActive(false);
                             GameUtil.Instance.curRequestCardVal = -1;
-                            string soundStrType = sexType == 0 ? GameSetting.Instance.disCardBoySoundName : GameSetting.Instance.disCardGirlSoundName;
-                            await SoundManager.Instance.PlaySound(string.Concat(soundStrType, "gang"));
+                            //string soundStrType = sexType == 0 ? GameSetting.Instance.disCardBoySoundName : GameSetting.Instance.disCardGirlSoundName;
+                            //await SoundManager.Instance.PlaySound(string.Concat(soundStrType, "hu"));
                         });
                         break;
                     }
@@ -756,6 +765,32 @@ namespace ET.Client
                         playInfo.cardInfo.RemainCards.Sort();
                         playInfo.cardInfo.RemainCards.Add(listItem);
                         Log.Error("@@@@@@###  RemainCards:   " + string.Join(",", playInfo.cardInfo.RemainCards) + "    Count:  " + playInfo.cardInfo.RemainCards.Count);
+
+                        //自己摸牌时 有可能是杠  杠服务器那边需要传参数
+                        if (playInfo.cardInfo.ActInfo != null && playInfo.cardInfo.ActInfo.Count > 0)
+                        {
+                            for (int j = 0; j < playInfo.cardInfo.ActInfo.Count; j++)
+                            {
+                                var actInfo = playInfo.cardInfo.ActInfo[j];
+                                ActInfoType actInfoType = (ActInfoType)actInfo.Type;
+                                if (actInfoType == ActInfoType.DarkPole || actInfoType == ActInfoType.BackPole || actInfoType == ActInfoType.LightPole)
+                                {
+                                    int loop = 1;
+                                    for (int u = 0; u < playInfo.cardInfo.RemainCards.Count; u++)
+                                    {
+                                        if (playInfo.cardInfo.RemainCards[u] == actInfo.Card)
+                                        {
+                                            loop++;
+                                        }
+                                    }
+                                    if (loop >= 3)
+                                    {
+                                        GameObjectPool.Instance.OperatoRarealySelCardList(0, actInfo.Card);
+                                        break;
+                                    }
+                                }
+                            }
+                        }
                     }
 
                     CleanCardItemList(fightCardParentNode.transform, 0);
@@ -964,16 +999,53 @@ namespace ET.Client
             //处理每个回合倒计时
             Log.Error("当前自己回合");
             startFightRoomComponentUI.startTimeCount = startFightRoomInfo.roomInfo.Time;
-            //if (startFightRoomComponentUI.startTimer > 0)
-            //{
-            //    startFightRoomComponentUI.timeCountTxt.text = "";
-            //    TimerComponent.Instance?.Remove(ref startFightRoomComponentUI.startTimer);
-            //}
-            //startFightRoomComponentUI.startTimer = TimerComponent.Instance.NewRepeatedTimer(ConstValue.fightTimeRefreshTime / 1 + 100, TimerInvokeType.startFightTimeCount, startFightRoomComponentUI);
+
             //处理当前操作玩家的状态显示
             //RefreshCenterOperationState(startFightRoomInfo.roomInfo.OpPos, startFightRoomComponentUI);
         }
 
+        public static async void PlayOperatorSound(StartFightRoomInfo startFightRoomInfo)
+        {
+            //播放声音
+            var sexType = startFightRoomInfo.roomInfo.CurDisCardSex;
+            var operatorIndex = startFightRoomInfo.opType;
+            string soundStrType = sexType == 0 ? GameSetting.Instance.disCardBoySoundName : GameSetting.Instance.disCardGirlSoundName;
+            string destSoundStr = "";
+            switch (operatorIndex)
+            {
+                case 1:
+                    {
+                        destSoundStr = "chi";
+                        break;
+                    }
+                case 2:
+                    {
+                        destSoundStr = "peng";
+                        break;
+                    }
+                case 3:
+                    {
+                        destSoundStr = "gang";
+                        break;
+                    }
+                case 4:
+                    {
+                        destSoundStr = "hu";
+                        break;
+                    }
+                case 5:
+                    {
+                        destSoundStr = "guo";
+                        break;
+                    }
+            }
+            if (string.IsNullOrEmpty(destSoundStr))
+            {
+                return;
+            }
+            await SoundManager.Instance.PlaySound(string.Concat(soundStrType, destSoundStr));
+        }
+
         public static void RefreshCurentCardCount(UIStartFightRoomComponent startFightRoomComponentUI,int CardNum,int CurRound)
         {
             startFightRoomComponentUI.curResidueTxt.GetComponent<Text>().text = $"剩 {CardNum} 张";
@@ -1075,18 +1147,17 @@ namespace ET.Client
                         await CommonUtil.Instance.OpenCommonServerMsgPanel($"出牌{disCard} 出错...errCode={g2DisCard.Error}");
                         return;
                     }
-                    var startFightRoomInfo = GameUtil.Instance.GetSceneComponent().GetComponent<StartFightRoomComponment>().GetStartFightRoomInfo();
-                    int sexType = startFightRoomInfo.roomInfo.MyInfo.sex;
-                    string soundStrType = sexType == 0 ? GameSetting.Instance.disCardBoySoundName : GameSetting.Instance.disCardGirlSoundName;
-                    await SoundManager.Instance.PlaySound(string.Concat(soundStrType, disCard));
+                    //var startFightRoomInfo = GameUtil.Instance.GetSceneComponent().GetComponent<StartFightRoomComponment>().GetStartFightRoomInfo();
+                    //int sexType = startFightRoomInfo.roomInfo.MyInfo.sex;
+                    //string soundStrType = sexType == 0 ? GameSetting.Instance.disCardBoySoundName : GameSetting.Instance.disCardGirlSoundName;
+                    //await SoundManager.Instance.PlaySound(string.Concat(soundStrType, disCard));
                     //出牌之后 暂停回合倒计时
                     if (startFightRoomComponentUI.startTimer > 0)
                     {
                         startFightRoomComponentUI.timeCountTxt.text = "";
-                        //TimerComponent.Instance?.Remove(ref startFightRoomComponentUI.startTimer);
                     }
-                    //startFightRoomComponentUI.shakeDiceImage.sprite = null;
-                    //之后走推送
+                   
+
                 }
             }
             catch (Exception e)
@@ -1131,6 +1202,7 @@ namespace ET.Client
                             StartFightCardItem startFightCardItem = child.gameObject.GetComponent<StartFightCardItem>();
                             if (startFightCardItem.val == cardVal)
                             {
+                                Log.Error("@@@   gang:  抬起: " + startFightCardItem.val);
                                 startFightCardItem.StandUp();
                                 loopIndex++;
                             }
@@ -1151,6 +1223,7 @@ namespace ET.Client
                             StartFightCardItem startFightCardItem = child.gameObject.GetComponent<StartFightCardItem>();
                             if (startFightCardItem.val == cardVal)
                             {
+                                Log.Error("@@@   peng:  抬起: " + cardVal);
                                 startFightCardItem.StandUp();
                                 loopIndex++;
                             }
@@ -1189,6 +1262,7 @@ namespace ET.Client
                                 {
                                     continue;
                                 }
+                                Log.Error("@@@   chi:  抬起: " + startFightCardItem.val);
                                 startFightCardItem.StandUp();
                                 tempCards.Add(startFightCardItem.val);
                             }

+ 3 - 0
Unity/Assets/Scripts/Codes/Model/Client/UI/StartFight/StartFightRoomInfo.cs

@@ -18,6 +18,9 @@ namespace ET
         //public long OwnerId { get; set; }
         public RoomInfo roomInfo { get; set; }
 
+        //²Ù×÷ÀàÐÍ 1³Ô 2Åö 3¸Ü 4ºú 5¹ý
+        public int opType;
+
         public SettlementInfo settlementInfo { get; set; }
 
         public long readyStartTimeCount { get; set; }