/// <summary>
        /// 向客户端发送状态修改操作的请求
        /// </summary>
        public void SendStateOperate(StateSkill skill, PlayerCard operateCard, int operateType, int operatePosition, GameRoom gameRoom)
        {
            OperateStateData detail = new OperateStateData();
            detail.skillID = skill.skillID;
            detail.stateOperate = operateType;
            detail.ownerCardUUID = operateCard.cardUUID;
            detail.appendData = skill.GenerateSkillAppendData();//将技能生成的数据附加值传递
            switch (operateCard.GetCardOwnerPosition())
            {
                case 0://A
                    {
                        detail.operatePlayerPosition = 0;
                        detail.operatePlayerUid = gameRoom.playerSocketA.playerInfo.playerUid;
                        detail.operatePlayerUUID = gameRoom.playerSocketA.playerInfo.playerUUID;
                        break;
                    }
                case 1://B
                    {
                        detail.operatePlayerPosition = 1;
                        detail.operatePlayerUid = gameRoom.playerSocketB.playerInfo.playerUid;
                        detail.operatePlayerUUID = gameRoom.playerSocketB.playerInfo.playerUUID;
                        break;
                    }
                default:
                    {
                        LogsSystem.Instance.Print("错误:卡片拥有者的位置出现错误:" + operateCard.GetCardOwnerPosition(), LogLevel.WARN);
                        break;
                    }
            }

            GameData data = new GameData();
            data.returnCode = ReturnCode.Success;
            data.roomID = gameRoom.roomID;
            data.operateCode = OperateCode.OperateState;
            data.operateData = JsonCoding<OperateStateData>.encode(detail);

            gameRoom.SendOperateToAllPlayer(data);
        }