/// <summary> /// 初始化卡牌 /// </summary> /// <param name="card">卡牌信息</param> /// <param name="localCamp">卡牌所在阵营</param> public void Init(CardMsg card, Camps localCamp) { this.atk = card.Atk; this.maxHp = card.MaxHp; this.curHp = card.MaxHp; this.def = card.Def; this.speed = card.Speed; this.bornPos = card.BornPos; this.camp = localCamp; }
/// <summary> /// 设置英雄奥义 卡牌 /// </summary> /// <param name="item"></param> void SetHeroItem(UIGridItem item) { dropInfo = item.oData as HeroInfo; CardMsg info = new CardMsg { teamHeroUUid = dropInfo.heroUUId, teamUUid = heroListMsg.id, oldCardId = 0, }; NSocket.GetInstance().SendData(Request.TeamHeroCardListReq, info); }
/// <summary> /// 更换上阵卡牌 /// </summary> /// <param name="card"></param> /// <param name="index"></param> public void ChangeFightCard(int index) { CardDataMsg info = panel.fightGrid.GetCustomDataItem(index) as CardDataMsg; CardMsg msg = null; // 此位置无上阵卡牌 if (info.configId < 4) { msg = new CardMsg { teamUUid = cardInfoList.teamId, teamHeroUUid = cardInfoList.heroId, oldCardId = 0, newCardId = changeCardId, }; } // 此位置有上阵卡牌,进行替换 else { msg = new CardMsg { teamUUid = cardInfoList.teamId, teamHeroUUid = cardInfoList.heroId, oldCardId = info.configId, newCardId = changeCardId, }; TD_Card card = null; for (int i = 0; i < listObj.Count; ++i) { card = listObj[i] as TD_Card; if (card.id == info.configId) { card.isFight = 0; panel.cardGrid.UpdateCustomData(card); } } HeroTeamMediator.heroTeamMediator.dropInfo.skillID.Remove(info.configId); } HeroTeamMediator.heroTeamMediator.dropInfo.skillID.Add(changeCardId); NSocket.GetInstance().SendData(Request.CardEnterTeamReq, msg); info.configId = changeCardId; info.isFight = 1; // 上阵的卡牌 drapCard.isFight = 1; int fightCount = UtilTools.IntParse(panel.cardCount.text.Split('/')[0]) + 1; panel.cardCount.text = string.Format("{0}/{1}", fightCount, cardInfoList.cardList.Count); panel.fightGrid.UpdateCustomData(info); panel.cardGrid.UpdateCustomData(drapCard); HeroTeamMediator.heroTeamMediator.panel.cardGrid.UpdateCustomData(HeroTeamMediator.heroTeamMediator.dropInfo); }
/// <summary> /// 初始化场景 /// </summary> /// <returns></returns> private static void InitData(PlayerID playerID) { BattleGroup battleGroup = new BattleGroup(); Random rand = new Random(); for (int i = 0; i < maxCamps; i++) { CampInfo campInfo = new CampInfo(); int idIndex = 0; for (int j = 0; j < maxItems / 2; j++) { CardMsg card = new CardMsg(); float rd; if ((idIndex == 0) && (j == maxItems / 2 - 1)) { rd = bornStandard + 1; } else { rd = rand.Next(0, 100); } if (rd > bornStandard) { card.IsBorn = true; card.MaxHp = 30; card.Atk = rand.Next(50, 80); card.Def = rand.Next(30, 60); card.Speed = rd; card.BornPos = j; card.Id = idIndex; idIndex++; campInfo.CardItems.Add(card); } } campInfo.Camp = (Camps)i; campInfo.ItemsCount = campInfo.CardItems.Count; battleGroup.campInfo.Add(campInfo); } if (battleGroupDict.ContainsKey(playerID)) { battleGroupDict.Remove(playerID); } battleGroupDict.Add(playerID, battleGroup); }