/// <summary> /// 被TCP数据处理器调用 /// 响应服务器召唤英雄的请求 /// </summary> public void ResponseAddCharacterCard(SummonCharacterData detailData) { string cardUUID = detailData.cardUUID; CardInfo cardInfo = detailData.cardInfo; int operatePlayerPosition = detailData.operatePlayerPosition; GameSide operateSide; if (operatePlayerPosition == this.playerRoomData.allocPosition) { operateSide = GameSide.Our; } else { operateSide = GameSide.Enemy; } //添加数据 CharacterCard character = CardManager.Instance.GetCharacterById(cardInfo.cardUUID, cardInfo.cardId, cardInfo.cardLevel, cardInfo.health, cardInfo.energy, cardInfo.attack, cardInfo.speed, cardInfo.cardOwnSkill); character.SetCardUUID(cardUUID); gameCardCollection.AddCharacterCard(character, operateSide); //添加场景实体 gameSceneManager.CreateGameCharacterCard(operateSide, character); }
/// <summary> /// 向服务器请求添加英雄卡到场上 /// </summary> public void RequestAddCharacterCard(CharacterCard character, GameSide side, string cardUUID) { //发送到远程服务器 SummonCharacterData detailData = new SummonCharacterData(); detailData.cardInfo = character.GetCardInfo();//获取卡片信息 detailData.cardUUID = cardUUID; detailData.operatePlayerPosition = playerRoomData.allocPosition; detailData.operatePlayerUid = Global.Instance.playerInfo.uid; detailData.operatePlayerUUID = Global.Instance.playerInfo.UUID; GameData data = new GameData(); data.operateCode = OperateCode.SummonCharacter; data.roomID = playerRoomData.roomID; data.operateData = JsonCoding<SummonCharacterData>.encode(detailData); GameClient.Instance.SendToServer(data); }